diff options
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib.h')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib.h | 24 |
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 | ||
116 | struct ipoib_mcast; | 117 | /* Used for all multicast joins (broadcast, IPv4 mcast and IPv6 mcast) */ |
118 | struct 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 | ||
118 | struct ipoib_rx_buf { | 139 | struct 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 | ||
365 | int ipoib_open(struct net_device *dev); | 386 | int ipoib_open(struct net_device *dev); |
366 | int ipoib_add_pkey_attr(struct net_device *dev); | 387 | int ipoib_add_pkey_attr(struct net_device *dev); |
388 | int ipoib_add_umcast_attr(struct net_device *dev); | ||
367 | 389 | ||
368 | void ipoib_send(struct net_device *dev, struct sk_buff *skb, | 390 | void ipoib_send(struct net_device *dev, struct sk_buff *skb, |
369 | struct ipoib_ah *address, u32 qpn); | 391 | struct ipoib_ah *address, u32 qpn); |