IGMP/MLD-Proxying: broken upstream forwarding rule? (RFC 4605 section 4.2)
Mark Doll <[email protected]> Thu, 27 Sep 2007 18:51:23 +0200
| Newsgroups | gmane.ietf.magma |
|---|---|
| Organization | Karlsruhe Institute of Technology |
| Message-ID | <[email protected]> |
Hi!
The IGMP/MLD-Proxying RFC 4605 states in section 4.2. "Forwarding Packets":
[...] A proxy device forwards packets received
on any downstream interface to the upstream interface, and to each
downstream interface other than the incoming interface based upon the
downstream interfaces' subscriptions and whether or not this proxy
device is the IGMP/MLD Querier on each interface. [...]
This seems to suggest an unconditional forwarding in the upstream direction,
which will lead to forwarding loops in any non loop-free physical topology
(any topology other than a tree). The correct forwarding rule must only
forward packets received on interfaces, on which the proxy is the querier. So
the above should read:
A proxy device forwards packets received on any downstream interface, ON
WHICH IT IS THE QUERIER, to the upstream interface, and to each
downstream interface other than the incoming interface based upon the
downstream interfaces' subscriptions and whether or not this proxy
device is the IGMP/MLD Querier on each interface. [...]
For an example of a correct forwarding rule specification, cf. BIDIR-PIM's
data packet forwarding rules, draft-ietf-pim-bidir-09.txt, section 3.3:
On receipt of data to G on interface iif:
if( iif == RPF_interface(RPA) || I_am_DF(RPA,iif) ) {
oiflist = olist(G) (-) iif
forward packet on all interfaces in oiflist
}
The "I_am_DF(RPA,iif)" (I am Designated Forwarder) in BIDIR-PIM is the
equivalent to "I am querier" in IGMP/MLD-Proxying. That's what's IMHO missing
in the current spec RFC 4605. Or do I get something completely wrong here?
Mark.