[c-nsp] Rant: ASR1000 MPLS (not) load-balancing

Saku Ytti saku at ytti.fi
Tue Dec 31 09:11:51 EST 2019

On Tue, 31 Dec 2019 at 15:59, <adamv0025 at netconsultings.com> wrote:

> I was going to object that this can't possibly be by design cause what if I have 100 labels on the packet, then I realized that ASR1k's QFP gets the whole packets not just the first N bytes, so I guess I can see the thought process like "since we are getting the whole packet we might as well look into IP header and balance based on what we'll find there".

Based on context I believe 'this' here means ability to look past
labels into IP headers. This is the norm, not exception. And it is
typically followed by restriction such as 'up tp 5 labels'.

There is absolutely no way to know for sure what is carried by MPLS,
so fast and simple rule of 4/6 is fine, as it's the common case to
follow MPLS label by IP header, with implied promise that any other
protocol you send does not start with 4 or 6, i.e. code-word is
non-optional if you plan to do any transit heuristics, no matter how
smart the heuristics is, it is heuristics, not guarantee.

I agree with Lukas that not including labels in balancing hash
calculation is broken behaviour.


More information about the cisco-nsp mailing list