tipc: ensure that idle links are deleted when a bearer is disabled
[deliverable/linux.git] / net / tipc / bearer.c
index 48852c2dcc033585a733c73fc5646834f9d458e8..3613e72e858e2e259bd91455127e4ec0af5c903b 100644 (file)
@@ -47,6 +47,9 @@ static struct tipc_media * const media_info_array[] = {
        &eth_media_info,
 #ifdef CONFIG_TIPC_MEDIA_IB
        &ib_media_info,
+#endif
+#ifdef CONFIG_TIPC_MEDIA_UDP
+       &udp_media_info,
 #endif
        NULL
 };
@@ -216,7 +219,8 @@ void tipc_bearer_remove_dest(struct net *net, u32 bearer_id, u32 dest)
  * tipc_enable_bearer - enable bearer with the given name
  */
 static int tipc_enable_bearer(struct net *net, const char *name,
-                             u32 disc_domain, u32 priority)
+                             u32 disc_domain, u32 priority,
+                             struct nlattr *attr[])
 {
        struct tipc_net *tn = net_generic(net, tipc_net_id);
        struct tipc_bearer *b_ptr;
@@ -304,7 +308,7 @@ restart:
 
        strcpy(b_ptr->name, name);
        b_ptr->media = m_ptr;
-       res = m_ptr->enable_media(net, b_ptr);
+       res = m_ptr->enable_media(net, b_ptr, attr);
        if (res) {
                pr_warn("Bearer <%s> rejected, enable failure (%d)\n",
                        name, -res);
@@ -372,7 +376,8 @@ static void bearer_disable(struct net *net, struct tipc_bearer *b_ptr,
        kfree_rcu(b_ptr, rcu);
 }
 
-int tipc_enable_l2_media(struct net *net, struct tipc_bearer *b)
+int tipc_enable_l2_media(struct net *net, struct tipc_bearer *b,
+                        struct nlattr *attr[])
 {
        struct net_device *dev;
        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)
        }
 
        rtnl_lock();
-       err = tipc_enable_bearer(net, bearer, domain, prio);
+       err = tipc_enable_bearer(net, bearer, domain, prio, attrs);
        if (err) {
                rtnl_unlock();
                return err;
This page took 0.027846 seconds and 5 git commands to generate.