summaryrefslogtreecommitdiff
path: root/net/bridge/br_private.h
diff options
context:
space:
mode:
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>2020-09-07 12:56:10 +0300
committerJakub Kicinski <kuba@kernel.org>2020-09-07 23:16:35 +0300
commit42c11ccfe844c1df91599428d87101e07e389901 (patch)
treec9a3e187a6fc7bed107f11e4e5b923d073db8bd9 /net/bridge/br_private.h
parent438ef2d027eb325e6c9c11a72534b90699c96ae9 (diff)
downloadlinux-42c11ccfe844c1df91599428d87101e07e389901.tar.xz
net: bridge: mcast: add support for group query retransmit
We need to be able to retransmit group-specific and group-and-source specific queries. The new timer takes care of those. v3: add IPv6 support Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/bridge/br_private.h')
-rw-r--r--net/bridge/br_private.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index e0632721b1ef..da8df273dd4a 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -240,10 +240,12 @@ struct net_bridge_port_group {
unsigned char eth_addr[ETH_ALEN] __aligned(2);
unsigned char flags;
unsigned char filter_mode;
+ unsigned char grp_query_rexmit_cnt;
struct hlist_head src_list;
unsigned int src_ents;
struct timer_list timer;
+ struct timer_list rexmit_timer;
struct hlist_node mglist;
struct rcu_head rcu;
@@ -868,6 +870,12 @@ static inline int br_multicast_igmp_type(const struct sk_buff *skb)
{
return BR_INPUT_SKB_CB(skb)->igmp;
}
+
+static inline unsigned long br_multicast_lmqt(const struct net_bridge *br)
+{
+ return br->multicast_last_member_interval *
+ br->multicast_last_member_count;
+}
#else
static inline int br_multicast_rcv(struct net_bridge *br,
struct net_bridge_port *port,