TNSR ECMP Algorithms?
-
Hi,
We are considering TNSR for an upcoming project.
Part of the requirements we have is to perform ECMP across a number of devices, but only hash on the source ip of each packet. I.e. we have a requirement that all traffic from source IP A always be sent to R1 on the other side.
I know Linux out of the box cannot do this, its two configurable ECMP modes are 'L3' (which use SRC+DST IP) and 'L4' (which uses SRC IP + DST IP + SRC PORT + DST PORT + PROTOCOL.)
I know certain vendor implementations allow selection of only Source IP for ECMP. Can anyone advise if this is possible with VPP / TNSR?
Thanks.
-
Hi @cmooney,
I am not sure it would work like that, we would let routing protocol decide on the best path(s) to take. However, to see if this is something that is configurable I would contact one of our sales engineers to see if it's possible.
-
It's not really to do with the routing protocol, it's really about the underlying packet forwarding engine.
I can add two equal cost routes by creating two statics to different destinations, or those two equal-cost routes can be from OSPF, BGP etc. etc.
The question is once there are two equal routes in the table how does the platform load-share between the two different next-hops.
Thanks.
-
That is done via round-robin.
-
How do you mean round-robin?
Per-packet round robin?
-
more details on ECMP are here https://fdio-vpp.readthedocs.io/en/latest/gettingstarted/developers/fib20/dataplane.html
-
Balances traffic based on source IP, destination IP, source port, destination port, and protocol, allowing effective load distribution while maintaining session consistency.