See the vxlan rfc. https://tools.ietf.org/html/rfc7348
VXLAN is a layer-2 tech - see section 5, Figure, 1 with the Ethernet header as the outermost header. ECMP is a layer-3 concept. See Figure 3 for when an IP network connects two VXLAN networks. Also see Figure 4. Hemant -----Original Message----- From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Benoit Ganne (bganne) via lists.fd.io Sent: Thursday, November 26, 2020 11:17 AM To: Paul Vinciguerra <pvi...@vinciconsulting.com>; Artem Glazychev <artem.glazyc...@xored.com> Cc: vpp-dev <vpp-dev@lists.fd.io> Subject: Re: [vpp-dev] Custom VxLAN port 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
smime.p7s
Description: S/MIME cryptographic signature
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18159): https://lists.fd.io/g/vpp-dev/message/18159 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] -=-=-=-=-=-=-=-=-=-=-=-