aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/protocol.c
diff options
context:
space:
mode:
authorHangbin Liu <liuhangbin@gmail.com>2016-08-02 18:02:57 +0800
committerDavid S. Miller <davem@davemloft.net>2016-08-08 16:04:39 -0700
commita052517a8ff654f5226cf47008ebc4f7936b8f13 (patch)
treec467e3ad0abd9f953ef938cbec3f7eb5cb3f4229 /net/ipv6/protocol.c
parentnet: ethernet: marvell: mvneta: use new api ethtool_{get|set}_link_ksettings (diff)
downloadlinux-dev-a052517a8ff654f5226cf47008ebc4f7936b8f13.tar.xz
linux-dev-a052517a8ff654f5226cf47008ebc4f7936b8f13.zip
net/multicast: should not send source list records when have filter mode change
Based on RFC3376 5.1 and RFC3810 6.1 If the per-interface listening change that triggers the new report is a filter mode change, then the next [Robustness Variable] State Change Reports will include a Filter Mode Change Record. This applies even if any number of source list changes occur in that period. Old State New State State Change Record Sent --------- --------- ------------------------ INCLUDE (A) EXCLUDE (B) TO_EX (B) EXCLUDE (A) INCLUDE (B) TO_IN (B) So we should not send source-list change if there is a filter-mode change. Here are two scenarios: 1. Group deleted and filter mode is EXCLUDE, which means we need send a TO_IN { }. 2. Not group deleted, but has pcm->crcount, which means we need send a normal filter-mode-change. At the same time, if the type is ALLOW or BLOCK, and have psf->sf_crcount, we stop add records and decrease sf_crcount directly Reference: https://www.ietf.org/mail-archive/web/magma/current/msg01274.html Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/protocol.c')
0 files changed, 0 insertions, 0 deletions