27 #define EOIB_MAGIC 0x8919
struct list_head peers
Peer cache.
struct ib_address_vector broadcast
Broadcast address.
#define IB_SA_MCMEMBER_REC_SL
Infiniband multicast groups.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
void eoib_destroy(struct eoib_device *eoib)
Remove EoIB device.
struct ib_completion_queue * cq
Completion queue.
A doubly-linked list entry (or list head)
#define IB_SA_MCMEMBER_REC_PKEY
void eoib_set_gateway(struct eoib_device *eoib, struct ib_address_vector *av)
Set EoIB gateway.
#define IB_SA_MCMEMBER_REC_QKEY
static void eoib_force_group_creation(struct eoib_device *eoib)
Force creation of multicast group.
struct ib_mc_membership membership
Broadcast group membership.
struct list_head list
List of EoIB devices.
unsigned int mask
Multicast group additional component mask.
struct eoib_device * eoib_find(struct ib_device *ibdev, const uint8_t *hw_addr)
Find EoIB device.
struct net_device * netdev
Network device.
An Infiniband multicast group membership.
static int eoib_has_gateway(struct eoib_device *eoib)
Check if EoIB device uses a gateway.
struct ib_device * ibdev
Underlying Infiniband device.
void(* duplicate)(struct eoib_device *eoib, struct io_buffer *original)
Send duplicate packet to gateway (or NULL)
An Infiniband Completion Queue.
#define IB_SA_MCMEMBER_REC_TRAFFIC_CLASS
An Infiniband Queue Pair.
Network device management.
struct ib_address_vector gateway
Gateway (if any)
An Infiniband Address Vector.
#define IB_SA_MCMEMBER_REC_FLOW_LABEL
int eoib_create(struct ib_device *ibdev, const uint8_t *hw_addr, struct ib_address_vector *broadcast, const char *name)
Create EoIB device.
struct ib_queue_pair * qp
Queue pair.
#define NULL
NULL pointer (VOID *)