@@ -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
779780static 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