diff options
Diffstat (limited to 'net/tipc/ib_media.c')
-rw-r--r-- | net/tipc/ib_media.c | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/net/tipc/ib_media.c b/net/tipc/ib_media.c index 9934a32bfa87..c13989297464 100644 --- a/net/tipc/ib_media.c +++ b/net/tipc/ib_media.c | |||
@@ -42,17 +42,17 @@ | |||
42 | #include "core.h" | 42 | #include "core.h" |
43 | #include "bearer.h" | 43 | #include "bearer.h" |
44 | 44 | ||
45 | #define MAX_IB_BEARERS MAX_BEARERS | 45 | #define MAX_IB_MEDIA MAX_BEARERS |
46 | 46 | ||
47 | /** | 47 | /** |
48 | * struct ib_bearer - Infiniband bearer data structure | 48 | * struct ib_media - Infiniband media data structure |
49 | * @bearer: ptr to associated "generic" bearer structure | 49 | * @bearer: ptr to associated "generic" bearer structure |
50 | * @dev: ptr to associated Infiniband network device | 50 | * @dev: ptr to associated Infiniband network device |
51 | * @tipc_packet_type: used in binding TIPC to Infiniband driver | 51 | * @tipc_packet_type: used in binding TIPC to Infiniband driver |
52 | * @cleanup: work item used when disabling bearer | 52 | * @cleanup: work item used when disabling bearer |
53 | */ | 53 | */ |
54 | 54 | ||
55 | struct ib_bearer { | 55 | struct ib_media { |
56 | struct tipc_bearer *bearer; | 56 | struct tipc_bearer *bearer; |
57 | struct net_device *dev; | 57 | struct net_device *dev; |
58 | struct packet_type tipc_packet_type; | 58 | struct packet_type tipc_packet_type; |
@@ -61,7 +61,7 @@ struct ib_bearer { | |||
61 | }; | 61 | }; |
62 | 62 | ||
63 | static struct tipc_media ib_media_info; | 63 | static struct tipc_media ib_media_info; |
64 | static struct ib_bearer ib_bearers[MAX_IB_BEARERS]; | 64 | static struct ib_media ib_media_array[MAX_IB_MEDIA]; |
65 | static int ib_started; | 65 | static int ib_started; |
66 | 66 | ||
67 | /** | 67 | /** |
@@ -93,7 +93,7 @@ static int send_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr, | |||
93 | if (!clone) | 93 | if (!clone) |
94 | return 0; | 94 | return 0; |
95 | 95 | ||
96 | dev = ((struct ib_bearer *)(tb_ptr->usr_handle))->dev; | 96 | dev = ((struct ib_media *)(tb_ptr->usr_handle))->dev; |
97 | delta = dev->hard_header_len - skb_headroom(buf); | 97 | delta = dev->hard_header_len - skb_headroom(buf); |
98 | 98 | ||
99 | if ((delta > 0) && | 99 | if ((delta > 0) && |
@@ -121,43 +121,43 @@ static int send_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr, | |||
121 | static int recv_msg(struct sk_buff *buf, struct net_device *dev, | 121 | static int recv_msg(struct sk_buff *buf, struct net_device *dev, |
122 | struct packet_type *pt, struct net_device *orig_dev) | 122 | struct packet_type *pt, struct net_device *orig_dev) |
123 | { | 123 | { |
124 | struct ib_bearer *ib_ptr = (struct ib_bearer *)pt->af_packet_priv; | 124 | struct ib_media *ib_ptr = (struct ib_media *)pt->af_packet_priv; |
125 | 125 | ||
126 | if (!net_eq(dev_net(dev), &init_net)) { | 126 | if (!net_eq(dev_net(dev), &init_net)) { |
127 | kfree_skb(buf); | 127 | kfree_skb(buf); |
128 | return 0; | 128 | return NET_RX_DROP; |
129 | } | 129 | } |
130 | 130 | ||
131 | if (likely(ib_ptr->bearer)) { | 131 | if (likely(ib_ptr->bearer)) { |
132 | if (likely(buf->pkt_type <= PACKET_BROADCAST)) { | 132 | if (likely(buf->pkt_type <= PACKET_BROADCAST)) { |
133 | buf->next = NULL; | 133 | buf->next = NULL; |
134 | tipc_recv_msg(buf, ib_ptr->bearer); | 134 | tipc_recv_msg(buf, ib_ptr->bearer); |
135 | return 0; | 135 | return NET_RX_SUCCESS; |
136 | } | 136 | } |
137 | } | 137 | } |
138 | kfree_skb(buf); | 138 | kfree_skb(buf); |
139 | return 0; | 139 | return NET_RX_DROP; |
140 | } | 140 | } |
141 | 141 | ||
142 | /** | 142 | /** |
143 | * setup_bearer - setup association between InfiniBand bearer and interface | 143 | * setup_bearer - setup association between InfiniBand bearer and interface |
144 | */ | 144 | */ |
145 | static void setup_bearer(struct work_struct *work) | 145 | static void setup_media(struct work_struct *work) |
146 | { | 146 | { |
147 | struct ib_bearer *ib_ptr = | 147 | struct ib_media *ib_ptr = |
148 | container_of(work, struct ib_bearer, setup); | 148 | container_of(work, struct ib_media, setup); |
149 | 149 | ||
150 | dev_add_pack(&ib_ptr->tipc_packet_type); | 150 | dev_add_pack(&ib_ptr->tipc_packet_type); |
151 | } | 151 | } |
152 | 152 | ||
153 | /** | 153 | /** |
154 | * enable_bearer - attach TIPC bearer to an InfiniBand interface | 154 | * enable_media - attach TIPC bearer to an InfiniBand interface |
155 | */ | 155 | */ |
156 | static int enable_bearer(struct tipc_bearer *tb_ptr) | 156 | static int enable_media(struct tipc_bearer *tb_ptr) |
157 | { | 157 | { |
158 | struct net_device *dev; | 158 | struct net_device *dev; |
159 | struct ib_bearer *ib_ptr = &ib_bearers[0]; | 159 | struct ib_media *ib_ptr = &ib_media_array[0]; |
160 | struct ib_bearer *stop = &ib_bearers[MAX_IB_BEARERS]; | 160 | struct ib_media *stop = &ib_media_array[MAX_IB_MEDIA]; |
161 | char *driver_name = strchr((const char *)tb_ptr->name, ':') + 1; | 161 | char *driver_name = strchr((const char *)tb_ptr->name, ':') + 1; |
162 | int pending_dev = 0; | 162 | int pending_dev = 0; |
163 | 163 | ||
@@ -181,7 +181,7 @@ static int enable_bearer(struct tipc_bearer *tb_ptr) | |||
181 | ib_ptr->tipc_packet_type.func = recv_msg; | 181 | ib_ptr->tipc_packet_type.func = recv_msg; |
182 | ib_ptr->tipc_packet_type.af_packet_priv = ib_ptr; | 182 | ib_ptr->tipc_packet_type.af_packet_priv = ib_ptr; |
183 | INIT_LIST_HEAD(&(ib_ptr->tipc_packet_type.list)); | 183 | INIT_LIST_HEAD(&(ib_ptr->tipc_packet_type.list)); |
184 | INIT_WORK(&ib_ptr->setup, setup_bearer); | 184 | INIT_WORK(&ib_ptr->setup, setup_media); |
185 | schedule_work(&ib_ptr->setup); | 185 | schedule_work(&ib_ptr->setup); |
186 | 186 | ||
187 | /* Associate TIPC bearer with InfiniBand bearer */ | 187 | /* Associate TIPC bearer with InfiniBand bearer */ |
@@ -204,8 +204,8 @@ static int enable_bearer(struct tipc_bearer *tb_ptr) | |||
204 | */ | 204 | */ |
205 | static void cleanup_bearer(struct work_struct *work) | 205 | static void cleanup_bearer(struct work_struct *work) |
206 | { | 206 | { |
207 | struct ib_bearer *ib_ptr = | 207 | struct ib_media *ib_ptr = |
208 | container_of(work, struct ib_bearer, cleanup); | 208 | container_of(work, struct ib_media, cleanup); |
209 | 209 | ||
210 | dev_remove_pack(&ib_ptr->tipc_packet_type); | 210 | dev_remove_pack(&ib_ptr->tipc_packet_type); |
211 | dev_put(ib_ptr->dev); | 211 | dev_put(ib_ptr->dev); |
@@ -213,15 +213,15 @@ static void cleanup_bearer(struct work_struct *work) | |||
213 | } | 213 | } |
214 | 214 | ||
215 | /** | 215 | /** |
216 | * disable_bearer - detach TIPC bearer from an InfiniBand interface | 216 | * disable_media - detach TIPC bearer from an InfiniBand interface |
217 | * | 217 | * |
218 | * Mark InfiniBand bearer as inactive so that incoming buffers are thrown away, | 218 | * Mark InfiniBand bearer as inactive so that incoming buffers are thrown away, |
219 | * then get worker thread to complete bearer cleanup. (Can't do cleanup | 219 | * then get worker thread to complete bearer cleanup. (Can't do cleanup |
220 | * here because cleanup code needs to sleep and caller holds spinlocks.) | 220 | * here because cleanup code needs to sleep and caller holds spinlocks.) |
221 | */ | 221 | */ |
222 | static void disable_bearer(struct tipc_bearer *tb_ptr) | 222 | static void disable_media(struct tipc_bearer *tb_ptr) |
223 | { | 223 | { |
224 | struct ib_bearer *ib_ptr = (struct ib_bearer *)tb_ptr->usr_handle; | 224 | struct ib_media *ib_ptr = (struct ib_media *)tb_ptr->usr_handle; |
225 | 225 | ||
226 | ib_ptr->bearer = NULL; | 226 | ib_ptr->bearer = NULL; |
227 | INIT_WORK(&ib_ptr->cleanup, cleanup_bearer); | 227 | INIT_WORK(&ib_ptr->cleanup, cleanup_bearer); |
@@ -238,8 +238,8 @@ static int recv_notification(struct notifier_block *nb, unsigned long evt, | |||
238 | void *ptr) | 238 | void *ptr) |
239 | { | 239 | { |
240 | struct net_device *dev = netdev_notifier_info_to_dev(ptr); | 240 | struct net_device *dev = netdev_notifier_info_to_dev(ptr); |
241 | struct ib_bearer *ib_ptr = &ib_bearers[0]; | 241 | struct ib_media *ib_ptr = &ib_media_array[0]; |
242 | struct ib_bearer *stop = &ib_bearers[MAX_IB_BEARERS]; | 242 | struct ib_media *stop = &ib_media_array[MAX_IB_MEDIA]; |
243 | 243 | ||
244 | if (!net_eq(dev_net(dev), &init_net)) | 244 | if (!net_eq(dev_net(dev), &init_net)) |
245 | return NOTIFY_DONE; | 245 | return NOTIFY_DONE; |
@@ -258,17 +258,17 @@ static int recv_notification(struct notifier_block *nb, unsigned long evt, | |||
258 | if (netif_carrier_ok(dev)) | 258 | if (netif_carrier_ok(dev)) |
259 | tipc_continue(ib_ptr->bearer); | 259 | tipc_continue(ib_ptr->bearer); |
260 | else | 260 | else |
261 | tipc_block_bearer(ib_ptr->bearer->name); | 261 | tipc_block_bearer(ib_ptr->bearer); |
262 | break; | 262 | break; |
263 | case NETDEV_UP: | 263 | case NETDEV_UP: |
264 | tipc_continue(ib_ptr->bearer); | 264 | tipc_continue(ib_ptr->bearer); |
265 | break; | 265 | break; |
266 | case NETDEV_DOWN: | 266 | case NETDEV_DOWN: |
267 | tipc_block_bearer(ib_ptr->bearer->name); | 267 | tipc_block_bearer(ib_ptr->bearer); |
268 | break; | 268 | break; |
269 | case NETDEV_CHANGEMTU: | 269 | case NETDEV_CHANGEMTU: |
270 | case NETDEV_CHANGEADDR: | 270 | case NETDEV_CHANGEADDR: |
271 | tipc_block_bearer(ib_ptr->bearer->name); | 271 | tipc_block_bearer(ib_ptr->bearer); |
272 | tipc_continue(ib_ptr->bearer); | 272 | tipc_continue(ib_ptr->bearer); |
273 | break; | 273 | break; |
274 | case NETDEV_UNREGISTER: | 274 | case NETDEV_UNREGISTER: |
@@ -323,8 +323,8 @@ static int ib_msg2addr(const struct tipc_bearer *tb_ptr, | |||
323 | */ | 323 | */ |
324 | static struct tipc_media ib_media_info = { | 324 | static struct tipc_media ib_media_info = { |
325 | .send_msg = send_msg, | 325 | .send_msg = send_msg, |
326 | .enable_bearer = enable_bearer, | 326 | .enable_media = enable_media, |
327 | .disable_bearer = disable_bearer, | 327 | .disable_media = disable_media, |
328 | .addr2str = ib_addr2str, | 328 | .addr2str = ib_addr2str, |
329 | .addr2msg = ib_addr2msg, | 329 | .addr2msg = ib_addr2msg, |
330 | .msg2addr = ib_msg2addr, | 330 | .msg2addr = ib_msg2addr, |