Commit 1d9a143e authored by Benjamin Poirier's avatar Benjamin Poirier Committed by David S. Miller

net: bonding: Share lacpdu_mcast_addr definition

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: default avatarBenjamin Poirier <bpoirier@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 21be1ad6
...@@ -88,8 +88,9 @@ static const u8 null_mac_addr[ETH_ALEN + 2] __long_aligned = { ...@@ -88,8 +88,9 @@ static const u8 null_mac_addr[ETH_ALEN + 2] __long_aligned = {
static const u16 ad_ticks_per_sec = 1000 / AD_TIMER_INTERVAL; static const u16 ad_ticks_per_sec = 1000 / AD_TIMER_INTERVAL;
static const int ad_delta_in_ticks = (AD_TIMER_INTERVAL * HZ) / 1000; static const int ad_delta_in_ticks = (AD_TIMER_INTERVAL * HZ) / 1000;
static const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned = const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned = {
MULTICAST_LACPDU_ADDR; 0x01, 0x80, 0xC2, 0x00, 0x00, 0x02
};
/* ================= main 802.3ad protocol functions ================== */ /* ================= main 802.3ad protocol functions ================== */
static int ad_lacpdu_send(struct port *port); static int ad_lacpdu_send(struct port *port);
......
...@@ -865,12 +865,8 @@ static void bond_hw_addr_flush(struct net_device *bond_dev, ...@@ -865,12 +865,8 @@ static void bond_hw_addr_flush(struct net_device *bond_dev,
dev_uc_unsync(slave_dev, bond_dev); dev_uc_unsync(slave_dev, bond_dev);
dev_mc_unsync(slave_dev, bond_dev); dev_mc_unsync(slave_dev, bond_dev);
if (BOND_MODE(bond) == BOND_MODE_8023AD) { if (BOND_MODE(bond) == BOND_MODE_8023AD)
/* del lacpdu mc addr from mc list */ dev_mc_del(slave_dev, lacpdu_mcast_addr);
u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
dev_mc_del(slave_dev, lacpdu_multicast);
}
} }
/*--------------------------- Active slave change ---------------------------*/ /*--------------------------- Active slave change ---------------------------*/
...@@ -2171,12 +2167,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev, ...@@ -2171,12 +2167,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
dev_uc_sync_multiple(slave_dev, bond_dev); dev_uc_sync_multiple(slave_dev, bond_dev);
netif_addr_unlock_bh(bond_dev); netif_addr_unlock_bh(bond_dev);
if (BOND_MODE(bond) == BOND_MODE_8023AD) { if (BOND_MODE(bond) == BOND_MODE_8023AD)
/* add lacpdu mc addr to mc list */ dev_mc_add(slave_dev, lacpdu_mcast_addr);
u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
dev_mc_add(slave_dev, lacpdu_multicast);
}
} }
bond->slave_cnt++; bond->slave_cnt++;
......
...@@ -15,8 +15,6 @@ ...@@ -15,8 +15,6 @@
#define PKT_TYPE_LACPDU cpu_to_be16(ETH_P_SLOW) #define PKT_TYPE_LACPDU cpu_to_be16(ETH_P_SLOW)
#define AD_TIMER_INTERVAL 100 /*msec*/ #define AD_TIMER_INTERVAL 100 /*msec*/
#define MULTICAST_LACPDU_ADDR {0x01, 0x80, 0xC2, 0x00, 0x00, 0x02}
#define AD_LACP_SLOW 0 #define AD_LACP_SLOW 0
#define AD_LACP_FAST 1 #define AD_LACP_FAST 1
......
...@@ -786,6 +786,9 @@ extern struct rtnl_link_ops bond_link_ops; ...@@ -786,6 +786,9 @@ extern struct rtnl_link_ops bond_link_ops;
/* exported from bond_sysfs_slave.c */ /* exported from bond_sysfs_slave.c */
extern const struct sysfs_ops slave_sysfs_ops; 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) static inline netdev_tx_t bond_tx_drop(struct net_device *dev, struct sk_buff *skb)
{ {
dev_core_stats_tx_dropped_inc(dev); dev_core_stats_tx_dropped_inc(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment