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