[ovs-dev] [PATCH v10] Bareudp Tunnel Support

Eelco Chaudron echaudro at redhat.com
Thu Dec 17 09:46:13 UTC 2020



On 17 Dec 2020, at 8:18, Martin Varghese wrote:

> From: Martin Varghese <martin.varghese at nokia.com>
>
> There are various L3 encapsulation standards using UDP being discussed to
> leverage the UDP based load balancing capability of different networks.
> MPLSoUDP (__ https://tools.ietf.org/html/rfc7510) is one among them.
>
> The Bareudp tunnel provides a generic L3 encapsulation support for
> tunnelling different L3 protocols like MPLS, IP, NSH etc. inside a UDP
> tunnel.
>
> An example to create bareudp device to tunnel MPLS traffic is
> given
>
> $ ovs-vsctl add-port br_mpls udp_port -- set interface udp_port \
>              type=bareudp options:remote_ip=2.1.1.3
>              options:local_ip=2.1.1.2 \
>              options:payload_type=0x8847 options:dst_port=6635
>
> The bareudp device supports special handling for MPLS & IP as
> they can have multiple ethertypes. MPLS procotcol can have ethertypes
> ETH_P_MPLS_UC (unicast) & ETH_P_MPLS_MC (multicast). IP protocol can have
> ethertypes ETH_P_IP (v4) & ETH_P_IPV6 (v6).
>
> The bareudp device to tunnel L3 traffic with multiple ethertypes
> (MPLS & IP) can be created by passing the L3 protocol name as string in
> the field payload_type. An example to create bareudp device to tunnel
> MPLS unicast & multicast traffic is given below.::
>
> $ ovs-vsctl add-port  br_mpls udp_port -- set interface
>             udp_port \
>             type=bareudp options:remote_ip=2.1.1.3
>             options:local_ip=2.1.1.2 \
>             options:payload_type=mpls options:dst_port=6635
>
> Signed-off-by: Martin Varghese <martin.varghese at nokia.com>
> Acked-By: Greg Rose <gvrose8192 at gmail.com>
> Tested-by: Greg Rose <gvrose8192 at gmail.com>
> ---
> Changes in v2:
>     - Removed vport-bareudp module.
>
> Changes in v3:
>     - Added net-next upstream commit id and message to commit message.
>
> Changes in v4:
>     - Removed kernel datapath changes.
>
> Changes in v5:
>     - Fixed release notes errors.
>     - Fixed coding errors in dpif-nelink-rtnl.c.
>
> Changes in v6:
>     - Added code to enable rx metadata collection in the kernel device.
>     - Added version history.
>
> Changes in v7:
>     - Fixed release notes errors.
>     - Added Skip tests for older kernels.
>     - Changes bareudp ovs_vport_type to 111.
>     - Added Acked-by & tested by from gvrose8192 at gmail.com
>
> Changes in v8:
>     - The code added in v6 to enable rx metadata collection in
>       the kernel device is removed. This flag was never added to any of
>       the kernel release. The rx metadata collection is always enabled in
>       kernel bareudp module.
>
> Changes in v9:
>     - Fixed documentation errors.
>     - Added example usage to create bareudp device for tunnelling IP.
>     - Added tests for tunnelling IP.
>     - Check to restrict configuratoin of starting source port range as
>       ephemeral port for MPLS alone is removed.
>     - Fixed errors in the handling of input string for the argument
>       payload_type.
>     - Added bareudp details for ovs-vswitchd.conf.db
>
> Changed in v10:
>     - Re-ordered & fixed examples in documentation.
>     - Fixed ovs-vswitchd.conf.db.
>     - Renamed source port min macro name.
>     - Fixed v9 version change log to add ovs-vswitchd.conf.db details.

Thanks this version looks good to me!

Acked-by: Eelco Chaudron <echaudro at redhat.com>



More information about the dev mailing list