Re: [PATCH net-next v10 2/4] net: Introduce generic failover module
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2018-05-07 23:53:08
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2018-05-07 23:53:08
On Mon, 7 May 2018 15:10:44 -0700 Sridhar Samudrala [off-list ref] wrote:
+static struct net_device *net_failover_get_bymac(u8 *mac,
+ struct net_failover_ops **ops)
+{
+ struct net_device *failover_dev;
+ struct net_failover *failover;
+
+ spin_lock(&net_failover_lock);
+ list_for_each_entry(failover, &net_failover_list, list) {
+ failover_dev = rtnl_dereference(failover->failover_dev);
+ if (ether_addr_equal(failover_dev->perm_addr, mac)) {
+ *ops = rtnl_dereference(failover->ops);
+ spin_unlock(&net_failover_lock);
+ return failover_dev;
+ }
+ }
+ spin_unlock(&net_failover_lock);
+ return NULL;
+}This is broken if non-ethernet devices such as Infiniband are present.