]> git.itanic.dy.fi Git - linux-stable/commitdiff
net: bonding: Share lacpdu_mcast_addr definition
authorBenjamin Poirier <bpoirier@nvidia.com>
Wed, 7 Sep 2022 07:56:39 +0000 (16:56 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Sep 2022 09:10:31 +0000 (11:10 +0200)
[ Upstream commit 1d9a143ee3408349700f44a9197b7ae0e4faae5d ]

There are already a few definitions of arrays containing
MULTICAST_LACPDU_ADDR and the next patch will add one more use. These all
contain the same constant data so define one common instance for all
bonding code.

Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: 86247aba599e ("net: bonding: Unsync device addresses on ndo_stop")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/bonding/bond_3ad.c
drivers/net/bonding/bond_main.c
include/net/bond_3ad.h
include/net/bonding.h

index b0f8d551b61db46120f0a2c9c464ea8692e48de8..acb6ff0be5fff36e34ec5f5e63e31979d4249844 100644 (file)
@@ -85,8 +85,9 @@ static const u8 null_mac_addr[ETH_ALEN + 2] __long_aligned = {
 static u16 ad_ticks_per_sec;
 static const int ad_delta_in_ticks = (AD_TIMER_INTERVAL * HZ) / 1000;
 
-static const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned =
-       MULTICAST_LACPDU_ADDR;
+const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned = {
+       0x01, 0x80, 0xC2, 0x00, 0x00, 0x02
+};
 
 /* ================= main 802.3ad protocol functions ================== */
 static int ad_lacpdu_send(struct port *port);
index 9c4b45341fd285ce975cfaa81457a4a91eca32a4..be1fd4ef45313beb5af0b38aa5b44b3da96c4190 100644 (file)
@@ -827,12 +827,8 @@ static void bond_hw_addr_flush(struct net_device *bond_dev,
        dev_uc_unsync(slave_dev, bond_dev);
        dev_mc_unsync(slave_dev, bond_dev);
 
-       if (BOND_MODE(bond) == BOND_MODE_8023AD) {
-               /* del lacpdu mc addr from mc list */
-               u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
-
-               dev_mc_del(slave_dev, lacpdu_multicast);
-       }
+       if (BOND_MODE(bond) == BOND_MODE_8023AD)
+               dev_mc_del(slave_dev, lacpdu_mcast_addr);
 }
 
 /*--------------------------- Active slave change ---------------------------*/
@@ -2078,12 +2074,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
                dev_uc_sync_multiple(slave_dev, bond_dev);
                netif_addr_unlock_bh(bond_dev);
 
-               if (BOND_MODE(bond) == BOND_MODE_8023AD) {
-                       /* add lacpdu mc addr to mc list */
-                       u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
-
-                       dev_mc_add(slave_dev, lacpdu_multicast);
-               }
+               if (BOND_MODE(bond) == BOND_MODE_8023AD)
+                       dev_mc_add(slave_dev, lacpdu_mcast_addr);
        }
 
        bond->slave_cnt++;
index 1a28f299a4c6138ac3e932aa64a90d12b35a37ff..895eae18271fa33a99f0d561b7602d408ce1535a 100644 (file)
@@ -15,8 +15,6 @@
 #define PKT_TYPE_LACPDU         cpu_to_be16(ETH_P_SLOW)
 #define AD_TIMER_INTERVAL       100 /*msec*/
 
-#define MULTICAST_LACPDU_ADDR    {0x01, 0x80, 0xC2, 0x00, 0x00, 0x02}
-
 #define AD_LACP_SLOW 0
 #define AD_LACP_FAST 1
 
index 67d676059aa0da757419cfd7e3d3774b1e34a631..d9cc3f5602fb28f38a56e4df7b9607e056f85138 100644 (file)
@@ -763,6 +763,9 @@ extern struct rtnl_link_ops bond_link_ops;
 /* exported from bond_sysfs_slave.c */
 extern const struct sysfs_ops slave_sysfs_ops;
 
+/* exported from bond_3ad.c */
+extern const u8 lacpdu_mcast_addr[];
+
 static inline netdev_tx_t bond_tx_drop(struct net_device *dev, struct sk_buff *skb)
 {
        atomic_long_inc(&dev->tx_dropped);