lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+FuTSf366JXT8JRZY6DMdHF2UnTCya9Z+b6cWQGXaenrd75AQ@mail.gmail.com>
Date:   Tue, 28 Jan 2020 12:07:16 -0500
From:   Willem de Bruijn <willemdebruijn.kernel@...il.com>
To:     Martin Varghese <martinvarghesenokia@...il.com>
Cc:     Network Development <netdev@...r.kernel.org>,
        David Miller <davem@...emloft.net>,
        Jonathan Corbet <corbet@....net>,
        Alexey Kuznetsov <kuznet@....inr.ac.ru>,
        Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
        scott.drennan@...ia.com, Jiri Benc <jbenc@...hat.com>,
        martin.varghese@...ia.com
Subject: Re: [PATCH net-next v6 0/2] Bare UDP L3 Encapsulation Module

On Tue, Jan 28, 2020 at 11:57 AM Martin Varghese
<martinvarghesenokia@...il.com> wrote:
>
> From: Martin Varghese <martin.varghese@...ia.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 module provides a generic L3 encapsulation tunnelling
> support for tunnelling different L3 protocols like MPLS, IP, NSH etc. inside
> a UDP tunnel.
>
> Special Handling
> ----------------
> 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).
> This special handling can be enabled only for ethertypes ETH_P_IP & ETH_P_MPLS_UC
> with a flag called multiproto mode.
>
> Usage
> ------
>
> 1) Device creation & deletion
>
>     a) ip link add dev bareudp0 type bareudp dstport 6635 ethertype 0x8847.
>
>        This creates a bareudp tunnel device which tunnels L3 traffic with ethertype
>        0x8847 (MPLS traffic). The destination port of the UDP header will be set to
>        6635.The device will listen on UDP port 6635 to receive traffic.
>
>     b) ip link delete bareudp0
>
> 2) Device creation with multiple proto mode enabled
>
> There are two ways to create a bareudp device for MPLS & IP with multiproto mode
> enabled.
>
>     a) ip link add dev  bareudp0 type bareudp dstport 6635 ethertype 0x8847 multiproto
>
>     b) ip link add dev  bareudp0 type bareudp dstport 6635 ethertype mpls
>
> 3) Device Usage
>
> The bareudp device could be used along with OVS or flower filter in TC.
> The OVS or TC flower layer must set the tunnel information in SKB dst field before
> sending packet buffer to the bareudp device for transmission. On reception the
> bareudp device extracts and stores the tunnel information in SKB dst field before
> passing the packet buffer to the network stack.
>
> Why not FOU ?
> ------------
> FOU by design does l4 encapsulation.It maps udp port to ipproto (IP protocol number for l4 protocol).
> Bareudp acheives a generic l3 encapsulation.It maps udp port to l3 ethertype.
>
> Martin Varghese (2):
>   net: UDP tunnel encapsulation module for tunnelling different
>     protocols like     MPLS,IP,NSH etc.
>   net: Special handling for IP & MPLS.

>
>  Documentation/networking/bareudp.rst |  53 +++
>  Documentation/networking/index.rst   |   1 +
>  drivers/net/Kconfig                  |  13 +
>  drivers/net/Makefile                 |   1 +
>  drivers/net/bareudp.c                | 803 +++++++++++++++++++++++++++++++++++
>  include/net/bareudp.h                |  20 +
>  include/net/ipv6.h                   |   6 +
>  include/net/route.h                  |   6 +
>  include/uapi/linux/if_link.h         |  12 +
>  net/ipv4/route.c                     |  48 +++
>  net/ipv6/ip6_output.c                |  70 +++
>  11 files changed, 1033 insertions(+)
>  create mode 100644 Documentation/networking/bareudp.rst
>  create mode 100644 drivers/net/bareudp.c
>  create mode 100644 include/net/bareudp.h

net-next is currently closed, see also
http://vger.kernel.org/~davem/net-next.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ