Commit cf332bca authored by Nikolay Aleksandrov's avatar Nikolay Aleksandrov Committed by David S. Miller

net: bridge: mark hash_elasticity as obsolete

Now that the bridge multicast uses the generic rhashtable interface we
can drop the hash_elasticity option as that is already done for us and
it's hardcoded to a maximum of RHT_ELASTICITY (16 currently). Add a
warning about the obsolete option when the hash_elasticity is set.
Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4329596c
...@@ -1741,7 +1741,6 @@ static void br_ip6_multicast_query_expired(struct timer_list *t) ...@@ -1741,7 +1741,6 @@ static void br_ip6_multicast_query_expired(struct timer_list *t)
void br_multicast_init(struct net_bridge *br) void br_multicast_init(struct net_bridge *br)
{ {
br->hash_elasticity = 4;
br->hash_max = 512; br->hash_max = 512;
br->multicast_router = MDB_RTR_TYPE_TEMP_QUERY; br->multicast_router = MDB_RTR_TYPE_TEMP_QUERY;
......
...@@ -1189,11 +1189,9 @@ static int br_changelink(struct net_device *brdev, struct nlattr *tb[], ...@@ -1189,11 +1189,9 @@ static int br_changelink(struct net_device *brdev, struct nlattr *tb[],
return err; return err;
} }
if (data[IFLA_BR_MCAST_HASH_ELASTICITY]) { if (data[IFLA_BR_MCAST_HASH_ELASTICITY])
u32 val = nla_get_u32(data[IFLA_BR_MCAST_HASH_ELASTICITY]); br_warn(br, "the hash_elasticity option has been deprecated and is always %u\n",
RHT_ELASTICITY);
br->hash_elasticity = val;
}
if (data[IFLA_BR_MCAST_HASH_MAX]) if (data[IFLA_BR_MCAST_HASH_MAX])
br->hash_max = nla_get_u32(data[IFLA_BR_MCAST_HASH_MAX]); br->hash_max = nla_get_u32(data[IFLA_BR_MCAST_HASH_MAX]);
...@@ -1452,8 +1450,7 @@ static int br_fill_info(struct sk_buff *skb, const struct net_device *brdev) ...@@ -1452,8 +1450,7 @@ static int br_fill_info(struct sk_buff *skb, const struct net_device *brdev)
br_opt_get(br, BROPT_MULTICAST_QUERIER)) || br_opt_get(br, BROPT_MULTICAST_QUERIER)) ||
nla_put_u8(skb, IFLA_BR_MCAST_STATS_ENABLED, nla_put_u8(skb, IFLA_BR_MCAST_STATS_ENABLED,
br_opt_get(br, BROPT_MULTICAST_STATS_ENABLED)) || br_opt_get(br, BROPT_MULTICAST_STATS_ENABLED)) ||
nla_put_u32(skb, IFLA_BR_MCAST_HASH_ELASTICITY, nla_put_u32(skb, IFLA_BR_MCAST_HASH_ELASTICITY, RHT_ELASTICITY) ||
br->hash_elasticity) ||
nla_put_u32(skb, IFLA_BR_MCAST_HASH_MAX, br->hash_max) || nla_put_u32(skb, IFLA_BR_MCAST_HASH_MAX, br->hash_max) ||
nla_put_u32(skb, IFLA_BR_MCAST_LAST_MEMBER_CNT, nla_put_u32(skb, IFLA_BR_MCAST_LAST_MEMBER_CNT,
br->multicast_last_member_count) || br->multicast_last_member_count) ||
......
...@@ -372,7 +372,6 @@ struct net_bridge { ...@@ -372,7 +372,6 @@ struct net_bridge {
#ifdef CONFIG_BRIDGE_IGMP_SNOOPING #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
u32 hash_elasticity;
u32 hash_max; u32 hash_max;
u32 multicast_last_member_count; u32 multicast_last_member_count;
......
...@@ -424,13 +424,13 @@ static DEVICE_ATTR_RW(multicast_querier); ...@@ -424,13 +424,13 @@ static DEVICE_ATTR_RW(multicast_querier);
static ssize_t hash_elasticity_show(struct device *d, static ssize_t hash_elasticity_show(struct device *d,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct net_bridge *br = to_bridge(d); return sprintf(buf, "%u\n", RHT_ELASTICITY);
return sprintf(buf, "%u\n", br->hash_elasticity);
} }
static int set_elasticity(struct net_bridge *br, unsigned long val) static int set_elasticity(struct net_bridge *br, unsigned long val)
{ {
br->hash_elasticity = val; br_warn(br, "the hash_elasticity option has been deprecated and is always %u\n",
RHT_ELASTICITY);
return 0; return 0;
} }
......
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