diff options
Diffstat (limited to 'net/tipc/bearer.c')
-rw-r--r-- | net/tipc/bearer.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index 48852c2dcc03..3613e72e858e 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c | |||
@@ -48,6 +48,9 @@ static struct tipc_media * const media_info_array[] = { | |||
48 | #ifdef CONFIG_TIPC_MEDIA_IB | 48 | #ifdef CONFIG_TIPC_MEDIA_IB |
49 | &ib_media_info, | 49 | &ib_media_info, |
50 | #endif | 50 | #endif |
51 | #ifdef CONFIG_TIPC_MEDIA_UDP | ||
52 | &udp_media_info, | ||
53 | #endif | ||
51 | NULL | 54 | NULL |
52 | }; | 55 | }; |
53 | 56 | ||
@@ -216,7 +219,8 @@ void tipc_bearer_remove_dest(struct net *net, u32 bearer_id, u32 dest) | |||
216 | * tipc_enable_bearer - enable bearer with the given name | 219 | * tipc_enable_bearer - enable bearer with the given name |
217 | */ | 220 | */ |
218 | static int tipc_enable_bearer(struct net *net, const char *name, | 221 | static int tipc_enable_bearer(struct net *net, const char *name, |
219 | u32 disc_domain, u32 priority) | 222 | u32 disc_domain, u32 priority, |
223 | struct nlattr *attr[]) | ||
220 | { | 224 | { |
221 | struct tipc_net *tn = net_generic(net, tipc_net_id); | 225 | struct tipc_net *tn = net_generic(net, tipc_net_id); |
222 | struct tipc_bearer *b_ptr; | 226 | struct tipc_bearer *b_ptr; |
@@ -304,7 +308,7 @@ restart: | |||
304 | 308 | ||
305 | strcpy(b_ptr->name, name); | 309 | strcpy(b_ptr->name, name); |
306 | b_ptr->media = m_ptr; | 310 | b_ptr->media = m_ptr; |
307 | res = m_ptr->enable_media(net, b_ptr); | 311 | res = m_ptr->enable_media(net, b_ptr, attr); |
308 | if (res) { | 312 | if (res) { |
309 | pr_warn("Bearer <%s> rejected, enable failure (%d)\n", | 313 | pr_warn("Bearer <%s> rejected, enable failure (%d)\n", |
310 | name, -res); | 314 | name, -res); |
@@ -372,7 +376,8 @@ static void bearer_disable(struct net *net, struct tipc_bearer *b_ptr, | |||
372 | kfree_rcu(b_ptr, rcu); | 376 | kfree_rcu(b_ptr, rcu); |
373 | } | 377 | } |
374 | 378 | ||
375 | int tipc_enable_l2_media(struct net *net, struct tipc_bearer *b) | 379 | int tipc_enable_l2_media(struct net *net, struct tipc_bearer *b, |
380 | struct nlattr *attr[]) | ||
376 | { | 381 | { |
377 | struct net_device *dev; | 382 | struct net_device *dev; |
378 | char *driver_name = strchr((const char *)b->name, ':') + 1; | 383 | char *driver_name = strchr((const char *)b->name, ':') + 1; |
@@ -791,7 +796,7 @@ int tipc_nl_bearer_enable(struct sk_buff *skb, struct genl_info *info) | |||
791 | } | 796 | } |
792 | 797 | ||
793 | rtnl_lock(); | 798 | rtnl_lock(); |
794 | err = tipc_enable_bearer(net, bearer, domain, prio); | 799 | err = tipc_enable_bearer(net, bearer, domain, prio, attrs); |
795 | if (err) { | 800 | if (err) { |
796 | rtnl_unlock(); | 801 | rtnl_unlock(); |
797 | return err; | 802 | return err; |