Squashed commit of the following:

net/mld:  Fix a couple of places where I forgot to unlock the network in the previous commit.

    net/mld:  Implement 'Other Querier Present Timer'.  This timer is used to revert to Querier mode if there is no other querier on the network.  Also, fix some naming:  The Done message is not just Version 1 but is used with Version 2 as well.

    net/igmp:  Back out some blind, backported improvements to IGMP from MLD.  There are too many subtle differences in the protocols for this to be safe.
This commit is contained in:
Gregory Nutt
2018-11-07 10:39:51 -06:00
parent 5f09e6fd04
commit 02f83334d5
12 changed files with 130 additions and 196 deletions
+1 -1
View File
@@ -73,7 +73,7 @@
#define ICMPv6_ECHO_REPLY 129
#define ICMPV6_MCAST_LISTEN_QUERY 130 /* RFC 2710 and 3810 */
#define ICMPV6_MCAST_LISTEN_REPORT_V1 131 /* RFC 2710 */
#define ICMPV6_MCAST_LISTEN_DONE_V1 132 /* RFC 2710 */
#define ICMPV6_MCAST_LISTEN_DONE 132 /* RFC 2710 */
#define ICMPV6_ROUTER_SOLICIT 133 /* RFC 4861 */
#define ICMPV6_ROUTER_ADVERTISE 134
#define ICMPv6_NEIGHBOR_SOLICIT 135
+3 -3
View File
@@ -358,11 +358,11 @@ struct mld_mcast_listen_report_v2_s
sizeof(struct mld_mcast_addrec_v2_s) + \
(addreclen))
/* Version 1 Multicast Listener Done (RFC 2710) */
/* Multicast Listener Done (RFC 2710) */
struct mld_mcast_listen_done_v1_s
struct mld_mcast_listen_done_s
{
uint8_t type; /* Message Type: ICMPV6_MCAST_LISTEN_DONE_V1 */
uint8_t type; /* Message Type: ICMPV6_MCAST_LISTEN_DONE */
uint8_t reserved1; /* Reserved, must be zero on transmission */
uint16_t chksum; /* Checksum of ICMP header and data */
uint16_t reserved2; /* Reserved, must be zero on transmission */