From wkevils at gmail.com Fri Jul 26 00:45:38 2013 From: wkevils at gmail.com (Kevin Wilson) Date: Fri, 26 Jul 2013 10:45:38 +0300 Subject: [Xorp-users] question about Multicast Listener query and leaving multicast groups in XORP Message-ID: Hello, I am using latest XORP from git with mld6igmp. According to mld6igmp/README, ... The MLD/IGMP implementation is based on the specification in the following documents: * RFC 2236: Internet Group Management Protocol, Version 2 * RFC 3376: Internet Group Management Protocol, Version 3 * RFC 2710: Multicast Listener Discovery for IPv6, Version 1 * RFC 3810: Multicast Listener Discovery Version 2 (MLDv2) for IPv6 ... RFC 3810 says: "If a node on a link expresses, through a State Change Report, its desire to no longer listen to a particular multicast address (or source), the Querier must query for other listeners of the multicast address (or source) before deleting the multicast address (or source) from its Multicast Address Listener state and stopping the corresponding traffic. Thus, the Querier sends a Multicast Address Specific Query to verify whether there are nodes still listening to a specified multicast address or not. Similarly, the Querier sends a Multicast Address and Source Specific Query to verify whether, for a specified multicast address, there are nodes still listening to a specific set of sources, or not." ... o A "Multicast Address Specific Query" is sent by the Querier to learn if a particular multicast address has any listeners on an attached link. In a Multicast Address Specific Query, the Multicast Address field contains the multicast address of interest, while the Number of Sources (N) field is set to zero. o A "Multicast Address and Source Specific Query" is sent by the Querier to learn if any of the sources from the specified list for the particular multicast address has any listeners on an attached link or not. In a Multicast Address and Source Specific Query the Multicast Address field contains the multicast address of interest, while the Source Address [i] field(s) contain(s) the source address(es) of interest. .. I made a two tests with xorp with mld6igmp : 1) with leaving a multicast group 2) with leaving a multicast group with source filtering and in both cases, in the MLD Multicast Queries which are sent by Xorp, the multicast address of the query is the unspecified address of all zeros (::). I would expect that it will have the multicast address of the group that I left, according to the RFC. Could it be that these requirement of the RFC is not implemented? This is the config file I use: cat /etc/xorp/config.boot interfaces { interface eth3 { vif eth3 { address 2001:DB8:10:10:10:10:10:10 { prefix-length: 64 } /* Note: The IPv6 link-local address must be configured */ address fe80::1111:1111:1111:1111 { prefix-length: 64 } } } interface eth4 { vif eth4 { address 2001:DB8:20:20:20:20:20:20 { prefix-length: 64 } /* Note: The IPv6 link-local address must be configured */ address fe80::2222:2222:2222:2222 { prefix-length: 64 } } } } fea { unicast-forwarding6 { disable: false } } plumbing { mfea6 { disable: false interface eth3 { vif eth3 { disable: false } } interface eth4 { vif eth4 { disable: false } } interface register_vif { vif register_vif { /* Note: this vif should be always enabled */ disable: false } } } } protocols { mld { interface eth3 { vif eth3 { disable: false } } interface eth4 { vif eth4 { disable: false } } } } protocols { pimsm6 { interface eth3 { vif eth3 { disable: false } } interface eth4 { vif eth4 { disable: false } } interface register_vif { vif register_vif { /* Note: this vif should be always enabled */ disable: false } } /* Note: static-rps and bootstrap should not be mixed */ static-rps { rp 2001:DB8:10:10:10:10:10:10 { group-prefix ff00::/8 { } } } switch-to-spt-threshold { /* approx. 1K bytes/s (10Kbps) threshold */ disable: false interval: 100 bytes: 102400 } } } protocols { fib2mrib { disable: false } } regards, Kevin