Subject: [magma] IGMP Snooping Draft 6 Section Replacement

From: Karen Kimball <[email-masked]>
Date: Thu, 13 Mar 2003 13:00:45 -0800 (PST)

Hello, everyone,

The co-authors of the IETF draft for Considerations for IGMP and MLD 
Snooping Switches wish to revise a portion of the proposed version 06
draft. This part of the original version 6 text had not been reviewed
by the other co-authors at the time of posting, and since then a new
approach was discussed and preferred.

This concerns Section 4 of the 2.1.1. IGMP Forwarding Rules, which
deals with Proxy Querying when topology changes occur.

The proposed new text for this section is as follows:

    "4)  An IGMP snooping switch should be aware of link layer topology
         changes. These changes may result from enabling/disabling of
         ports due to Spanning Tree operation. A port's up/down state
         may also change due to network management configuration, or
         because of devices being attached to or removed from that port.

         In the Spanning Tree case, a General Query should be sent on
         all active ports in order to reduce network convergence time.
         A switch may optionally send a General Query only on the ports
         affected by the Spanning Tree operation but this behavior must
         be configurable.

         In the case of network management newly enabling a port, or the
         addition of a new device (host/switch/router) to a previously
         unused port, a General Query is sent on the new port only. This
         operation can be followed by an MRD discovery on this port.

         In the case of network management disabling a port, or the
         removal of a device (host/switch/router) from a previously
         active port, no action is necessary.

         If the switch is not the Querier, it should use the 'all-zeros'
         IP Source Address in these proxy queries.  When such proxy
         queries are received, they must not be included in the Querier
         election process."

The full 2.1.1. IGMP Forwarding Rules, with this new text, is shown
below for context.  

Please review this section if interested, and post any comments to
the Magma mailing list.

Thank you,
	Karen Kimball
	[email-masked]

...................................................

Excerpt from      Considerations for IGMP and MLD Snooping Switches
                    <draft-ietf-magma-snoop-06.txt>

2.1.1.  IGMP Forwarding Rules

     1)  A snooping switch should forward IGMP Membership Reports only
         to those ports where multicast routers are attached.
         Alternatively stated: a snooping switch should not forward IGMP
         Membership Reports to ports on which only hosts are attached.
         An administrative control may be provided to override this
         restriction, allowing the report messages to be flooded to
         other ports.

         This is the main IGMP snooping functionality.  Sending
         membership reports (as described in IGMP versions 1 and 2) to
         other hosts can result in unintentionally preventing a host
         from joining a specific multicast group.  This is not a problem
         in an IGMPv3-only network because there is no message
         suppression of IGMP Membership reports.

         The administrative control allows IGMP Membership Report
         messages to be processed by network monitoring equipment such
         as packet analyzers or port replicators.

         The switch supporting IGMP snooping must maintain a list of
         multicast routers and the ports on which they are attached.
         This list can be constructed in any combination of the
         following ways:

         a)  This list should be built by the snooping switch sending
             Multicast Router Solicitation messages as described in IGMP
             Multicast Router Discovery [MRDISC].  It may also snoop
             Multicast Router Advertisement messages sent by and to
             other nodes.

         b)  The arrival port for IGMP Queries (sent by multicast
             routers) where the source address is not 0.0.0.0.

         c)  Ports explicitly configured by management to be IGMP-
             forwarding ports, in addition to or instead of any of the
             above methods to detect router ports.

     2)  IGMP snooping switches may also implement "proxy-reporting" in
         which reports received from downstream hosts are summarized and
         used to build internal membership states as described in
         [PROXY].  The IGMP proxy-reporting switch would then report its
         own state in response to upstream queriers.  If the switch does
         not already have an IP address assigned to it, the source
         address for these reports should be set to all-zeros.

         An IGMP proxy-reporting switch may act as Querier for the
         downstream hosts while proxy reporting to the 'real' upstream
         queriers.

         It should be noted that there may be multiple IGMP proxy-
         reporting switches in the network all using the 0.0.0.0 source
         IP address.  In this case the switches can be uniquely
         identified through their link layer source MAC address.

         IGMP membership reports must not be rejected by an IGMP
         snooping switch because of a source IP address of 0.0.0.0.

     3)  The switch that supports IGMP snooping must flood all
         unrecognized IGMP messages to all other ports and must not
         attempt to make use of any information beyond the end of the
         network layer header.

         In addition, earlier versions of IGMP should interpret IGMP
         fields as defined for their versions and must not alter these
         fields when forwarding the message.  When generating new
         messages, a given IGMP version should set fields to the
         appropriate values for its own version.  If any fields are
         reserved or otherwise undefined for a given IGMP version, the
         fields should be ignored when parsing the message and must be
         set to zeroes when new messages are generated by
         implementations of that IGMP version.

     4)  An IGMP snooping switch should be aware of link layer topology
         changes. These changes may result from enabling/disabling of
         ports due to Spanning Tree operation. A port's up/down state
         may also change due to network management configuration, or
         because of devices being attached to or removed from that port.

         In the Spanning Tree case, a General Query should be sent on
         all active ports in order to reduce network convergence time.
         A switch may optionally send a General Query only on the ports
         affected by the Spanning Tree operation but this behavior must
         be configurable.

         In the case of network management newly enabling a port, or the
         addition of a new device (host/switch/router) to a previously
         unused port, a General Query is sent on the new port only. This
         operation can be followed by an MRD discovery on this port.

         In the case of network management disabling a port, or the
         removal of a device (host/switch/router) from a previously
         active port, no action is necessary.

         If the switch is not the Querier, it should use the 'all-zeros'
         IP Source Address in these proxy queries.  When such proxy
         queries are received, they must not be included in the Querier
         election process.

     5)  An IGMP snooping switch must not make use of information in
         IGMP packets where the IP or IGMP headers have checksum or
         integrity errors.  The switch should not flood such packets but
         if it does, it should also take some note of the event (i.e.,
         increment a counter).  These errors and their processing are
         further discussed in [IGMPv3], [MLD] and [MLDv2].

     6)  The snooping switch must not rely exclusively on the appearance
         of IGMP Group Leave announcements to determine when entries
         should be removed from the forwarding table.  It should instead
         implement the router side functionality of the IGMP/MLD
         protocol as described in [PROXY] on all its non-router ports.

_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma

---

From: "Seehofer, Markus" <[email-masked]>
Date: Mon, 17 Mar 2003 13:16:04 +0100

[...]

> Our Snooping Switch draft requests that if the switch is not the true
> Querier, it use the 0.0.0.0 IP Source Address in this proxy Query so
> that
> it will not be mistaken for the real Querier (and will not trigger a
> Querier Election). 
> 
> The intent is purely to trick hosts into sending out Joins early.
> 
	Hello Karen,

	as i already stated in another thread, this seems not to work with
	MS - machines, but works perfectly with Unix - machines.

	Regards, 
	 Markus Seehofer

---

From: "Seehofer, Markus" <[email-masked]>
Date: Mon, 17 Mar 2003 13:16:04 +0100

[...]

	Hello Karen,

	Regards, 
	 Markus Seehofer