David L Stevens ad12583f46 [IPV4]: Fix multiple bugs in IGMPv3
1) fix "mld_marksources()" to
        a) send nothing when all queried sources are excluded
        b) send full exclude report when source queried sources are
                not excluded
        c) don't schedule a timer when there's nothing to report

2) fix "add_grec()" to send empty-source records when it should
        The original check doesn't account for a non-empty source
        list with all sources inactive; the new code keeps that
        short-circuit case, and also generates the group header
        with an empty list if needed.

3) fix mca_crcount decrement to be after add_grec(), which needs
        its original value

4) add/remove delete records and prevent current advertisements
        when an exclude-mode filter moves from "active" to "inactive"
        or vice versa based on new filter additions.

        Items 1-3 are just IPv4 versions of the IPv6 bugs found
by Yan Zheng and fixed earlier. Item #4 is a related bug that
affects exclude-mode change records only (but not queries) and
also occurs in IPv6 (IPv6 version coming soon).

Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-18 14:20:56 -08:00
..
2006-01-11 18:42:14 -08:00
2006-01-11 18:42:14 -08:00
2006-01-11 18:42:14 -08:00
2005-08-29 16:01:32 -07:00
2006-01-11 18:42:14 -08:00
2005-08-29 16:08:31 -07:00
2006-01-03 14:38:34 -08:00
2006-01-18 14:20:56 -08:00
2006-01-11 18:42:14 -08:00
2006-01-09 14:16:28 -08:00
2006-01-11 18:42:14 -08:00
2006-01-11 18:42:14 -08:00
2006-01-03 13:10:28 -08:00
2005-08-29 15:33:20 -07:00
2005-11-08 09:41:34 -08:00
2005-04-16 15:20:36 -07:00
2006-01-03 13:10:27 -08:00
2006-01-03 16:03:49 -08:00
2006-01-03 13:11:09 -08:00
2005-11-10 17:07:24 -08:00
2006-01-03 16:03:49 -08:00
2005-11-10 17:13:47 -08:00
2006-01-04 13:59:32 -08:00