Hi Paul et al, > VPP's vxlan may be great for in memory transfers between containers, but > it is hard on real network infrastructure, because it doesn't provide the > signals to upstream routers for ECMP. > > /* UDP header, randomize src port on something, maybe? */ > udp->src_port = clib_host_to_net_u16 (4789);
This is not completely accurate: VPP VxLAN tunnels comes in 2 flavors: L2 and L3. The code you refer to is the L3 encapsulation code path and is used when doing L3 forwarding into a VxLAN tunnel. This is not the most common usecase for VxLAN as far as I know. The common usecase (think: virtual switch with VMs) is L2 switching and in that case VxLAN encap is done through a virtual interface instead (because L2: we cannot rely on the fib), and supports ECMP (see src/vnet/vxlan/encap.c): u32 flow_hash0 = vnet_l2_compute_flow_hash (b0); [...] udp0->src_port = flow_hash0; So, we do support ECMP but for L2 only. The reason it was not done for L3 is probably because nobody asked for it... Do you have a usecase where it would be useful? Best ben
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18158): https://lists.fd.io/g/vpp-dev/message/18158 Mute This Topic: https://lists.fd.io/mt/78507623/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-