Commit f2e44dff authored by Jonathan Toppins's avatar Jonathan Toppins Committed by Jakub Kicinski

bonding: 3ad: make ad_ticks_per_sec a const

The value is only ever set once in bond_3ad_initialize and only ever
read otherwise. There seems to be no reason to set the variable via
bond_3ad_initialize when setting the global variable will do. Change
ad_ticks_per_sec to a const to enforce its read-only usage.
Signed-off-by: default avatarJonathan Toppins <jtoppins@redhat.com>
Acked-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent d745b506
...@@ -84,7 +84,8 @@ enum ad_link_speed_type { ...@@ -84,7 +84,8 @@ enum ad_link_speed_type {
static const u8 null_mac_addr[ETH_ALEN + 2] __long_aligned = { static const u8 null_mac_addr[ETH_ALEN + 2] __long_aligned = {
0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0
}; };
static u16 ad_ticks_per_sec;
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 = static const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned =
...@@ -2001,11 +2002,10 @@ void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout) ...@@ -2001,11 +2002,10 @@ void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout)
/** /**
* bond_3ad_initialize - initialize a bond's 802.3ad parameters and structures * bond_3ad_initialize - initialize a bond's 802.3ad parameters and structures
* @bond: bonding struct to work on * @bond: bonding struct to work on
* @tick_resolution: tick duration (millisecond resolution)
* *
* Can be called only after the mac address of the bond is set. * Can be called only after the mac address of the bond is set.
*/ */
void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution) void bond_3ad_initialize(struct bonding *bond)
{ {
BOND_AD_INFO(bond).aggregator_identifier = 0; BOND_AD_INFO(bond).aggregator_identifier = 0;
BOND_AD_INFO(bond).system.sys_priority = BOND_AD_INFO(bond).system.sys_priority =
...@@ -2017,11 +2017,6 @@ void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution) ...@@ -2017,11 +2017,6 @@ void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution)
BOND_AD_INFO(bond).system.sys_mac_addr = BOND_AD_INFO(bond).system.sys_mac_addr =
*((struct mac_addr *)bond->params.ad_actor_system); *((struct mac_addr *)bond->params.ad_actor_system);
/* initialize how many times this module is called in one
* second (should be about every 100ms)
*/
ad_ticks_per_sec = tick_resolution;
bond_3ad_initiate_agg_selection(bond, bond_3ad_initiate_agg_selection(bond,
AD_AGGREGATOR_SELECTION_TIMER * AD_AGGREGATOR_SELECTION_TIMER *
ad_ticks_per_sec); ad_ticks_per_sec);
......
...@@ -2081,7 +2081,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev, ...@@ -2081,7 +2081,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
/* Initialize AD with the number of times that the AD timer is called in 1 second /* Initialize AD with the number of times that the AD timer is called in 1 second
* can be called only after the mac address of the bond is set * can be called only after the mac address of the bond is set
*/ */
bond_3ad_initialize(bond, 1000/AD_TIMER_INTERVAL); bond_3ad_initialize(bond);
} else { } else {
SLAVE_AD_INFO(new_slave)->id = SLAVE_AD_INFO(new_slave)->id =
SLAVE_AD_INFO(prev_slave)->id + 1; SLAVE_AD_INFO(prev_slave)->id + 1;
......
...@@ -290,7 +290,7 @@ static inline const char *bond_3ad_churn_desc(churn_state_t state) ...@@ -290,7 +290,7 @@ static inline const char *bond_3ad_churn_desc(churn_state_t state)
} }
/* ========== AD Exported functions to the main bonding code ========== */ /* ========== AD Exported functions to the main bonding code ========== */
void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution); void bond_3ad_initialize(struct bonding *bond);
void bond_3ad_bind_slave(struct slave *slave); void bond_3ad_bind_slave(struct slave *slave);
void bond_3ad_unbind_slave(struct slave *slave); void bond_3ad_unbind_slave(struct slave *slave);
void bond_3ad_state_machine_handler(struct work_struct *); void bond_3ad_state_machine_handler(struct work_struct *);
......
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