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; |
