Skip to content

Commit b89e6ba

Browse files
Nikolay Aleksandrovdavem330
authored andcommitted
bridge: netlink: add support for multicast_startup_query_count
Add IFLA_BR_MCAST_STARTUP_QUERY_CNT to allow setting/getting br->multicast_startup_query_count via netlink. Also align the ifla comments. Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 79b859f commit b89e6ba

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

include/uapi/linux/if_link.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ enum {
252252
IFLA_BR_MCAST_HASH_ELASTICITY,
253253
IFLA_BR_MCAST_HASH_MAX,
254254
IFLA_BR_MCAST_LAST_MEMBER_CNT,
255+
IFLA_BR_MCAST_STARTUP_QUERY_CNT,
255256
__IFLA_BR_MAX,
256257
};
257258

net/bridge/br_netlink.c

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,7 @@ static const struct nla_policy br_policy[IFLA_BR_MAX + 1] = {
774774
[IFLA_BR_MCAST_HASH_ELASTICITY] = { .type = NLA_U32 },
775775
[IFLA_BR_MCAST_HASH_MAX] = { .type = NLA_U32 },
776776
[IFLA_BR_MCAST_LAST_MEMBER_CNT] = { .type = NLA_U32 },
777+
[IFLA_BR_MCAST_STARTUP_QUERY_CNT] = { .type = NLA_U32 },
777778
};
778779

779780
static int br_changelink(struct net_device *brdev, struct nlattr *tb[],
@@ -920,6 +921,12 @@ static int br_changelink(struct net_device *brdev, struct nlattr *tb[],
920921

921922
br->multicast_last_member_count = val;
922923
}
924+
925+
if (data[IFLA_BR_MCAST_STARTUP_QUERY_CNT]) {
926+
u32 val = nla_get_u32(data[IFLA_BR_MCAST_STARTUP_QUERY_CNT]);
927+
928+
br->multicast_startup_query_count = val;
929+
}
923930
#endif
924931

925932
return 0;
@@ -942,8 +949,8 @@ static size_t br_get_size(const struct net_device *brdev)
942949
nla_total_size(sizeof(struct ifla_bridge_id)) + /* IFLA_BR_BRIDGE_ID */
943950
nla_total_size(sizeof(u16)) + /* IFLA_BR_ROOT_PORT */
944951
nla_total_size(sizeof(u32)) + /* IFLA_BR_ROOT_PATH_COST */
945-
nla_total_size(sizeof(u8)) + /* IFLA_BR_TOPOLOGY_CHANGE */
946-
nla_total_size(sizeof(u8)) + /* IFLA_BR_TOPOLOGY_CHANGE_DETECTED */
952+
nla_total_size(sizeof(u8)) + /* IFLA_BR_TOPOLOGY_CHANGE */
953+
nla_total_size(sizeof(u8)) + /* IFLA_BR_TOPOLOGY_CHANGE_DETECTED */
947954
nla_total_size(sizeof(u64)) + /* IFLA_BR_HELLO_TIMER */
948955
nla_total_size(sizeof(u64)) + /* IFLA_BR_TCN_TIMER */
949956
nla_total_size(sizeof(u64)) + /* IFLA_BR_TOPOLOGY_CHANGE_TIMER */
@@ -954,9 +961,10 @@ static size_t br_get_size(const struct net_device *brdev)
954961
nla_total_size(sizeof(u8)) + /* IFLA_BR_MCAST_SNOOPING */
955962
nla_total_size(sizeof(u8)) + /* IFLA_BR_MCAST_QUERY_USE_IFADDR */
956963
nla_total_size(sizeof(u8)) + /* IFLA_BR_MCAST_QUERIER */
957-
nla_total_size(sizeof(u32)) + /* IFLA_BR_MCAST_HASH_ELASTICITY */
958-
nla_total_size(sizeof(u32)) + /* IFLA_BR_MCAST_HASH_MAX */
959-
nla_total_size(sizeof(u32)) + /* IFLA_BR_MCAST_LAST_MEMBER_CNT */
964+
nla_total_size(sizeof(u32)) + /* IFLA_BR_MCAST_HASH_ELASTICITY */
965+
nla_total_size(sizeof(u32)) + /* IFLA_BR_MCAST_HASH_MAX */
966+
nla_total_size(sizeof(u32)) + /* IFLA_BR_MCAST_LAST_MEMBER_CNT */
967+
nla_total_size(sizeof(u32)) + /* IFLA_BR_MCAST_STARTUP_QUERY_CNT */
960968
#endif
961969
0;
962970
}
@@ -1024,7 +1032,9 @@ static int br_fill_info(struct sk_buff *skb, const struct net_device *brdev)
10241032
br->hash_elasticity) ||
10251033
nla_put_u32(skb, IFLA_BR_MCAST_HASH_MAX, br->hash_max) ||
10261034
nla_put_u32(skb, IFLA_BR_MCAST_LAST_MEMBER_CNT,
1027-
br->multicast_last_member_count))
1035+
br->multicast_last_member_count) ||
1036+
nla_put_u32(skb, IFLA_BR_MCAST_STARTUP_QUERY_CNT,
1037+
br->multicast_startup_query_count))
10281038
return -EMSGSIZE;
10291039
#endif
10301040

0 commit comments

Comments
 (0)