[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1531233687-28744-1-git-send-email-liuhangbin@gmail.com>
Date: Tue, 10 Jul 2018 22:41:25 +0800
From: Hangbin Liu <liuhangbin@...il.com>
To: netdev@...r.kernel.org
Cc: David Miller <davem@...emloft.net>,
Stefano Brivio <sbrivio@...hat.com>,
Paolo Abeni <pabeni@...hat.com>,
Daniel Borkmann <daniel@...earbox.net>,
WANG Cong <xiyou.wangcong@...il.com>,
YOSHIFUJI Hideaki <hideaki.yoshifuji@...aclelinux.com>,
Flavio Leitner <fbl@...hat.com>,
Hangbin Liu <liuhangbin@...il.com>
Subject: [PATCHv2 net 0/2] multicast: init as INCLUDE when join SSM INCLUDE group
Based on RFC3376 5.1 and RFC3810 6.1, we should init as INCLUDE when join SSM
INCLUDE group. In my first version I only clear the group change record. But
this is not enough as when a new group join, it will init as EXCLUDE and
trigger an filter mode change in ip/ip6_mc_add_src(), which will clear all
source addresses' sf_crcount. This will prevent early joined address sending
state change records if multi source addresses joined at the same time.
In this v2 patchset, I fixed it by directly initializing the mode to INCLUDE
for SSM JOIN_SOURCE_GROUP. I also split the original patch into two separated
patches for IPv4 and IPv6.
Test: test by myself and customer.
Hangbin Liu (2):
ipv4/igmp: init group mode as INCLUDE when join source group
ipv6/mcast: init as INCLUDE when join SSM INCLUDE group
include/linux/igmp.h | 2 ++
include/net/ipv6.h | 2 ++
net/ipv4/igmp.c | 58 +++++++++++++++++++++++++++++++------------
net/ipv4/ip_sockglue.c | 4 +--
net/ipv6/ipv6_sockglue.c | 5 ++--
net/ipv6/mcast.c | 64 ++++++++++++++++++++++++++++++++++--------------
6 files changed, 96 insertions(+), 39 deletions(-)
--
2.5.5
Powered by blists - more mailing lists