aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/ipoib/ipoib.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib.h')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h
index 34c6128d2a34..6545fa798b12 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib.h
+++ b/drivers/infiniband/ulp/ipoib/ipoib.h
@@ -86,6 +86,7 @@ enum {
86 IPOIB_MCAST_STARTED = 8, 86 IPOIB_MCAST_STARTED = 8,
87 IPOIB_FLAG_NETIF_STOPPED = 9, 87 IPOIB_FLAG_NETIF_STOPPED = 9,
88 IPOIB_FLAG_ADMIN_CM = 10, 88 IPOIB_FLAG_ADMIN_CM = 10,
89 IPOIB_FLAG_UMCAST = 11,
89 90
90 IPOIB_MAX_BACKOFF_SECONDS = 16, 91 IPOIB_MAX_BACKOFF_SECONDS = 16,
91 92
@@ -113,7 +114,27 @@ struct ipoib_pseudoheader {
113 u8 hwaddr[INFINIBAND_ALEN]; 114 u8 hwaddr[INFINIBAND_ALEN];
114}; 115};
115 116
116struct ipoib_mcast; 117/* Used for all multicast joins (broadcast, IPv4 mcast and IPv6 mcast) */
118struct ipoib_mcast {
119 struct ib_sa_mcmember_rec mcmember;
120 struct ib_sa_multicast *mc;
121 struct ipoib_ah *ah;
122
123 struct rb_node rb_node;
124 struct list_head list;
125
126 unsigned long created;
127 unsigned long backoff;
128
129 unsigned long flags;
130 unsigned char logcount;
131
132 struct list_head neigh_list;
133
134 struct sk_buff_head pkt_queue;
135
136 struct net_device *dev;
137};
117 138
118struct ipoib_rx_buf { 139struct ipoib_rx_buf {
119 struct sk_buff *skb; 140 struct sk_buff *skb;
@@ -364,6 +385,7 @@ static inline void ipoib_put_ah(struct ipoib_ah *ah)
364 385
365int ipoib_open(struct net_device *dev); 386int ipoib_open(struct net_device *dev);
366int ipoib_add_pkey_attr(struct net_device *dev); 387int ipoib_add_pkey_attr(struct net_device *dev);
388int ipoib_add_umcast_attr(struct net_device *dev);
367 389
368void ipoib_send(struct net_device *dev, struct sk_buff *skb, 390void ipoib_send(struct net_device *dev, struct sk_buff *skb,
369 struct ipoib_ah *address, u32 qpn); 391 struct ipoib_ah *address, u32 qpn);