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

Attachment: 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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to