[ovs-dev] [PATCH] Bareudp Tunnel Support
William Tu
u9012063 at gmail.com
Mon Apr 27 04:27:01 UTC 2020
On Mon, Apr 27, 2020 at 09:02:16AM +0530, Martin Varghese wrote:
> On Sat, Apr 25, 2020 at 06:40:18AM -0700, William Tu wrote:
> > On Fri, Apr 24, 2020 at 02:54:00PM +0530, Martin Varghese wrote:
> > > On Fri, Apr 24, 2020 at 01:06:21AM -0700, Pravin Shelar wrote:
> > > > On Sun, Apr 19, 2020 at 8:11 PM Martin Varghese
> > > > <martinvarghesenokia at gmail.com> wrote:
> > > > >
> > > > > From: Martin Varghese <martin.varghese at nokia.com>
> > > > >
> > > > > UDP tunnel encapsulation module for tunnelling different protocols like
> > > > > MPLS, IP, NSH etc
> > > > >
> > > > > The Bareudp tunnel module provides a generic UDP L3 encapsulation
> > > > > tunnelling module for tunnelling different protocols like MPLS,IP,NSH etc.
> > > > > inside a UDP tunnel.
> > > > >
> > > > > Signed-off-by: Martin Varghese <martin.varghese at nokia.com>
> > > > > ---
> > > > > Documentation/automake.mk | 1 +
> > > > > Documentation/faq/bareudp.rst | 62 ++
> > > > > Documentation/faq/index.rst | 1 +
> > > > > Documentation/faq/releases.rst | 1 +
> > > > > NEWS | 3 +-
> > > > > datapath/Modules.mk | 4 +-
> > > > > datapath/linux/Modules.mk | 2 +
> > > > > datapath/linux/compat/bareudp.c | 820 +++++++++++++++++++++
> > > > > datapath/linux/compat/include/linux/if_link.h | 11 +
> > > > > datapath/linux/compat/include/linux/openvswitch.h | 11 +
> > > > > datapath/linux/compat/include/net/bareudp.h | 59 ++
> > > > > datapath/linux/compat/include/net/ip6_tunnel.h | 9 +
> > > > > datapath/linux/compat/include/net/ip_tunnels.h | 7 +
> > > > > datapath/linux/compat/ip6_tunnel.c | 60 ++
> > > > > datapath/linux/compat/ip_tunnel.c | 47 ++
> > > > > datapath/vport-bareudp.c | 202 +++++
> > > > > datapath/vport.c | 11 +-
> > > > > lib/dpif-netlink-rtnl.c | 53 ++
> > > > > lib/dpif-netlink.c | 10 +
> > > > > lib/netdev-vport.c | 25 +-
> > > > > lib/netdev.h | 1 +
> > > > > ofproto/ofproto-dpif-xlate.c | 1 +
> > > > > rhel/openvswitch-kmod-fedora.spec.in | 2 +-
> > > > > ...sr_share_openvswitch_scripts_ovs-kmod-manage.sh | 2 +-
> > > > > tests/automake.mk | 2 +-
> > > > > tests/system-layer3-tunnels.at | 47 ++
> > > > > utilities/ovs-dev.py | 1 +
> > > > > 27 files changed, 1447 insertions(+), 8 deletions(-)
> > > > > create mode 100644 Documentation/faq/bareudp.rst
> > > > > create mode 100644 datapath/linux/compat/bareudp.c
> > > > > create mode 100644 datapath/linux/compat/include/net/bareudp.h
> > > > > create mode 100644 datapath/vport-bareudp.c
> > > > >
> > > > I do not see need to have vport-bareudp module. we can directly use
> > > > bareudp dev from upstream kernel or from ovs compat module. Current
> > > > vport modules are there due to legacy reasons. All new tunnel
> > > > implementation should follow new design in which all tunnel devices
> > > > are netdevices.
> > > >
> > > if flag ovs_tunnels_out_of_tree is true, the old genetlink interface is used corret?
> > Then it uses the kernel module under ovs/datapath/* , not the upstream kernel.
> > In your case, it load the code from datapath/linux/compat/bareudp.c
> >
>
> The new convention is to move the ovs_vport_ops_register to bareudp.c and hence there
> is no need of a seperate vport-bareudp module.But unlike devices from upstream
> the vport type of bareudp device in compact should be OVS_VPORT_TYPE_BAREDUP instead
> of OVS_VPORT_TYPE_NETDEVICE in upstream device
>
> Is the above undertanding correct ?
Yes.
> > > How the rtnetlink interface will be used in that use .I am missing something here.
> > > Is there any tunnel device which does the new way with ovs-kernel tree installed ?
> >
> > Yes, take a look at ERSPAN tunnel.
> >
> unlike vxlan, & geneve the ERSPAN device regiters itself with rtnl with same
> name as the upstream device "ip6erspan" . Will it not create a conflict ?
Yes, so only one module can be loaded.
Either the upstream kernel one or the OVS compat.
William
More information about the dev
mailing list