[j-nsp] MPLS load balancing hash-key

Dmitri Kalintsev dek at hades.uz
Mon May 26 12:41:57 EDT 2003

On Sun, May 25, 2003 at 05:11:18PM +0200, Hannes Gredler wrote:
> | > No.
> | > MPLS packets are hashed using only the MPLS hash key.  MPLS packets
> | > are not further inspected to determine if the encapsulated data is
> | > an IP packet or something else.
> | ...which sucks. :) Other vendor's equipment is actually looking beyound the
> | shim header and uses IP header data for LB hash (not sure about non-IP).
> | Other vendor's bucket algorithm does not always provide nice load spreading,
> | too, but it's still better that Juniper's one (especially when there's not
> | enough egress labels for the algorithm to start working acceptably). (I'm
> | *not* advocating the other vendor, don't get me wrong). But hey - you can't
> | have your cake and eat it, too (which is a shame anyway). ;)
> which will draw up the question: how does a core LSR really know that the
> payload is IPv4 ? crawling through the stack and looking to 0x45 - 0x4f
> after a label with BOS bit set alike fingerprints, gives a high likelyhood
> that the payload is indeed IPv4, however you'll never _know_;

Um, how about looking deep enough to see the IP header checksum (and
verifying it, of course)? This will improve the probability of hitting the
IP packet immensly. Not sure if current ASIC architecture would allow for
this, though - necessary details seem to have slipped from my mind.

> if you need MPLS-deep-crawling functionality for load balancing purposes
> pls talk to your local sales team, they can give you our view plus our
> roadmap in this space;

There where I needed this we were lucky enough to have just enough egress
labels to make it work, so I'm not desperate at the moment.

It would be interesting to hear although how it is proposed to be handled in
the future, so I will use your invitation to contact my local team and ask
them. :)

> /hannes
---end quoted text---


More information about the juniper-nsp mailing list