RFC 4928, "Avoiding Equal Cost Multipath Treatment in MPLS Networks", June 2007Source of RFC: mpls (rtg)
Errata ID: 5396
Publication Format(s) : TEXT
Reported By: Jitendra Kumar Sharma
Date Reported: 2018-06-18
Rejected by: Deborah Brungard
Date Rejected: 2021-02-26
Section Section 2 says:
A less obvious case is when the packets of a given flow happen to have constant values in the fields upon which IP ECMP would be performed. For example, if an Ethernet frame immediately follows the label and the LSR does ECMP on IPv4, but does not do ECMP on IPv6, then either the first nibble will be 0x4, or it will be something else. If the nibble is not 0x4 then no IP ECMP is performed, but Label ECMP may be performed. If it is 0x4, then the constant values of the MAC addresses overlay the fields that would have been occupied by the source and destination addresses of an IP header. In this case, the input to the ECMP algorithm would be a constant value and thus the algorithm would always return the same result.
It should say:
<This paragraph should be removed>
The example stated here seems incorrect. It talks about an L2VPN case where Ethernet frame starts immediately after the last label in the stack. But had it been an IP packet instead, the same initial 12 bytes, which is the place for MAC addresses in an Ethernet Frame, would not be the place of IP addresses, as IP addresses are placed at the end of 20-byte IP header (not start). Hence it would still be subjected to ECMP if precautions (as recommended in this RFC) are not been followed.
This should be addressed by the working group (e.g., updating or revising the RFC).