[AusNOG] MPLS Hashing and horrid things to debug also known as 6-MAC
ben at sohonet.com
Tue Mar 27 21:35:52 EST 2018
Do not post very often, but I thought this was worth posting.
We have been having an "interesting" issue with one of our suppliers, and
thought I would post this as it could affect you and/or your customers as
Customer reports poor TCP performance.
The presentation linked to goes into a lot more detail.
In summary though
MPLS P Routers are not aware of what type of traffic is flowing through
Vendors naively speculate what actual payload is
They might look at first octet:
– > if “4”, the packet must be an IPv4 packet
– > if “6”, the packet must be an IPv6 packet
So what happens if the traffic passing is part of a MPLS pseudo wire, and
your mac address starts with a 6 or 4.
The P router then decides that the packet is IP and uses the next part as
the seed for the hash to balance traffic across links, to keep a flow on
the same path, and reduce out of order packet delivery.
If your MAC addr starts with a 4 the seed is smaller, and does not really
If your MAC addr starts with 6 the seed is massive and includes lots of the
payload ( inc checksum, size etc) which will cause your traffic to be
sprayed randomly across the load balanced core links
This results in out of order TCP packets, ( which as we call know TCP loves
that ), which results in very poor performance, and unhappy customers
Understanding MPLS Hashing And how it affects your brand new equipment
*there is a mistake in the above presentation example showing a MAC addr
that is 06 when it should be 60, but the rest of it stands.
Cisco bug: https://quickview.cloudapps.cisco.com/quickview/bug/CSCup45387
*This might help close a few weird performance tickets you might have. :-)*
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the AusNOG