Whamcloud - gitweb
LU-15136 socklnd: default conns_per_peer to 0
[fs/lustre-release.git] / lnet / klnds / socklnd / socklnd_modparams.c
index 967575a..cfc758a 100644 (file)
@@ -191,6 +191,10 @@ static int ksocklnd_ni_get_eth_intf_speed(struct lnet_ni *ni)
 
        DECLARE_CONST_IN_IFADDR(ifa);
 
+       /* check if ni has interface assigned */
+       if (!ni->ni_net_ns || !ni->ni_interface)
+               return 0;
+
        rtnl_lock();
        for_each_netdev(ni->ni_net_ns, dev) {
                int flags = dev_get_flags(dev);
@@ -246,11 +250,13 @@ static int ksocklnd_speed2cpp(int speed)
 
 static int ksocklnd_lookup_conns_per_peer(struct lnet_ni *ni)
 {
-       int cpp = DEFAULT_CONNS_PER_PEER;
+       int cpp = 1;
 #ifdef HAVE_ETHTOOL_LINK_SETTINGS
        int speed = ksocklnd_ni_get_eth_intf_speed(ni);
 
-       CDEBUG(D_NET, "intf %s speed %d\n", ni->ni_interface, speed);
+       if (ni->ni_interface)
+               CDEBUG(D_NET, "intf %s speed %d\n", ni->ni_interface, speed);
+
        if (speed > 0)
                cpp = ksocklnd_speed2cpp(speed);
 #endif