From: Thomas Graf <tgraf@suug.ch>
To: roopa@cumulusnetworks.com, rshearma@brocade.com,
ebiederm@xmission.com, hannes@stressinduktion.org,
pshelar@nicira.com, jesse@nicira.com, davem@davemloft.net,
daniel@iogearbox.net, tom@herbertland.com, edumazet@google.com,
jiri@resnulli.us, marcelo.leitner@gmail.com,
stephen@networkplumber.org, jpettit@nicira.com, kaber@trash.net
Cc: netdev@vger.kernel.org, dev@openvswitch.org
Subject: [RFC net-next 00/22] Lightweight & flow based tunneling
Date: Fri, 10 Jul 2015 16:19:02 +0200 [thread overview]
Message-ID: <cover.1436537414.git.tgraf@suug.ch> (raw)
This series combines the work previously posted by Roopa, Robert and
myself. It's according to what we discussed at NFWS. The series
accomplishes:
* Lightweight tunnel infrastructure to attach encapsulation
instructions to routes.
* Metadata dst to carry metadata between forwarding elements.
* Use of this new infrastructure in VXLAN and GRE to enable
flow based RX/TX tunnels using iproute2 and to get rid of
OVS specific vports.
iproute examples:
VXLAN:
ip route add 40.1.1.1/32 encap vxlan id 10 dst 50.1.1.2 dev vxlan0
MPLS:
ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1
The series is functional for both iproute2 and OVS and demonstrates
how a unified and combined code path can look like.
Comments?
Pravin Shelar (1):
openvswitch: Use regular GRE net_device instead of vport
Roopa Prabhu (9):
rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributes
lwtunnel: infrastructure for handling light weight tunnels like mpls
ipv4: support for fib route lwtunnel encap attributes
ipv6: support for fib route lwtunnel encap attributes
lwtunnel: support dst output redirect function
ipv4: redirect dst output to lwtunnel output
ipv6: rt6_info output redirect to tunnel output
mpls: export mpls functions for use by mpls iptunnels
mpls: ip tunnel support
Thomas Graf (12):
ip_tunnel: Make ovs_tunnel_info and ovs_key_ipv4_tunnel generic
dst: Metadata destinations
arp: Inherit metadata dst when creating ARP requests
vxlan: Flow based tunneling
route: Extend flow representation with tunnel key
route: Per route IP tunnel metadata via lightweight tunnel
fib: Add fib rule match on tunnel id
vxlan: Factor out device configuration
openvswitch: Make tunnel set action attach a metadata dst
openvswitch: Move dev pointer into vport itself
openvswitch: Abstract vport name through ovs_vport_name()
openvswitch: Use regular VXLAN net_device device
drivers/net/vxlan.c | 671 +++++++++++++++++++++--------------
include/linux/lwtunnel.h | 6 +
include/linux/mpls_iptunnel.h | 6 +
include/linux/skbuff.h | 1 +
include/net/dst.h | 5 +-
include/net/dst_metadata.h | 55 +++
include/net/fib_rules.h | 1 +
include/net/flow.h | 7 +
include/net/ip6_fib.h | 3 +
include/net/ip_fib.h | 5 +-
include/net/ip_tunnels.h | 84 ++++-
include/net/lwtunnel.h | 144 ++++++++
include/net/mpls_iptunnel.h | 29 ++
include/net/route.h | 1 +
include/net/vxlan.h | 83 ++++-
include/uapi/linux/fib_rules.h | 2 +-
include/uapi/linux/if_link.h | 1 +
include/uapi/linux/lwtunnel.h | 16 +
include/uapi/linux/mpls_iptunnel.h | 28 ++
include/uapi/linux/openvswitch.h | 2 +-
include/uapi/linux/rtnetlink.h | 17 +
net/Kconfig | 7 +
net/core/Makefile | 1 +
net/core/dev.c | 7 +-
net/core/dst.c | 76 +++-
net/core/fib_rules.c | 17 +-
net/core/lwtunnel.c | 228 ++++++++++++
net/ipv4/arp.c | 71 ++--
net/ipv4/fib_frontend.c | 8 +
net/ipv4/fib_semantics.c | 101 +++++-
net/ipv4/ip_gre.c | 165 ++++++++-
net/ipv4/ip_input.c | 3 +-
net/ipv4/ip_tunnel_core.c | 114 ++++++
net/ipv4/route.c | 26 +-
net/ipv6/ip6_fib.c | 2 +
net/ipv6/route.c | 34 +-
net/mpls/Kconfig | 8 +-
net/mpls/Makefile | 1 +
net/mpls/af_mpls.c | 11 +-
net/mpls/internal.h | 3 +
net/mpls/mpls_iptunnel.c | 229 ++++++++++++
net/openvswitch/Kconfig | 12 -
net/openvswitch/Makefile | 2 -
net/openvswitch/actions.c | 12 +-
net/openvswitch/datapath.c | 19 +-
net/openvswitch/datapath.h | 5 +-
net/openvswitch/dp_notify.c | 5 +-
net/openvswitch/flow.c | 4 +-
net/openvswitch/flow.h | 78 +---
net/openvswitch/flow_netlink.c | 81 ++++-
net/openvswitch/flow_netlink.h | 3 +-
net/openvswitch/vport-geneve.c | 17 +-
net/openvswitch/vport-gre.c | 313 ----------------
net/openvswitch/vport-internal_dev.c | 38 +-
net/openvswitch/vport-netdev.c | 272 +++++++++++---
net/openvswitch/vport-netdev.h | 13 -
net/openvswitch/vport-vxlan.c | 322 -----------------
net/openvswitch/vport-vxlan.h | 11 -
net/openvswitch/vport.c | 34 +-
net/openvswitch/vport.h | 21 +-
60 files changed, 2292 insertions(+), 1249 deletions(-)
create mode 100644 include/linux/lwtunnel.h
create mode 100644 include/linux/mpls_iptunnel.h
create mode 100644 include/net/dst_metadata.h
create mode 100644 include/net/lwtunnel.h
create mode 100644 include/net/mpls_iptunnel.h
create mode 100644 include/uapi/linux/lwtunnel.h
create mode 100644 include/uapi/linux/mpls_iptunnel.h
create mode 100644 net/core/lwtunnel.c
create mode 100644 net/mpls/mpls_iptunnel.c
delete mode 100644 net/openvswitch/vport-gre.c
delete mode 100644 net/openvswitch/vport-vxlan.c
delete mode 100644 net/openvswitch/vport-vxlan.h
--
2.4.3
next reply other threads:[~2015-07-10 14:19 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-10 14:19 Thomas Graf [this message]
2015-07-10 14:19 ` [RFC net-next 01/22] rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributes Thomas Graf
2015-07-10 14:19 ` [RFC net-next 02/22] lwtunnel: infrastructure for handling light weight tunnels like mpls Thomas Graf
2015-07-10 14:19 ` [RFC net-next 03/22] ipv4: support for fib route lwtunnel encap attributes Thomas Graf
2015-07-10 15:36 ` Eric Dumazet
[not found] ` <1436542616.24939.52.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-07-10 16:54 ` Thomas Graf
[not found] ` <20150710165436.GC11654-4EA/1caXOu0mYvmMESoHnA@public.gmane.org>
2015-07-10 16:56 ` roopa
2015-07-10 14:19 ` [RFC net-next 04/22] ipv6: " Thomas Graf
2015-07-10 14:19 ` [RFC net-next 05/22] lwtunnel: support dst output redirect function Thomas Graf
[not found] ` <cover.1436537414.git.tgraf-G/eBtMaohhA@public.gmane.org>
2015-07-10 14:19 ` [RFC net-next 06/22] ipv4: redirect dst output to lwtunnel output Thomas Graf
2015-07-10 14:19 ` [RFC net-next 09/22] mpls: ip tunnel support Thomas Graf
2015-07-10 14:19 ` [RFC net-next 07/22] ipv6: rt6_info output redirect to tunnel output Thomas Graf
2015-07-10 14:19 ` [RFC net-next 08/22] mpls: export mpls functions for use by mpls iptunnels Thomas Graf
2015-07-10 14:19 ` [RFC net-next 10/22] ip_tunnel: Make ovs_tunnel_info and ovs_key_ipv4_tunnel generic Thomas Graf
2015-07-10 14:19 ` [RFC net-next 11/22] dst: Metadata destinations Thomas Graf
[not found] ` <1b20319e1ff0f2be28e783b90ac48738d6a8b72b.1436537414.git.tgraf-G/eBtMaohhA@public.gmane.org>
2015-07-10 18:57 ` Julian Anastasov
2015-07-10 19:19 ` Thomas Graf
2015-07-10 14:19 ` [RFC net-next 12/22] arp: Inherit metadata dst when creating ARP requests Thomas Graf
2015-07-10 18:55 ` Sergei Shtylyov
2015-07-10 14:19 ` [RFC net-next 13/22] vxlan: Flow based tunneling Thomas Graf
2015-07-10 14:19 ` [RFC net-next 14/22] route: Extend flow representation with tunnel key Thomas Graf
2015-07-10 14:19 ` [RFC net-next 15/22] route: Per route IP tunnel metadata via lightweight tunnel Thomas Graf
2015-07-10 14:19 ` [RFC net-next 16/22] fib: Add fib rule match on tunnel id Thomas Graf
2015-07-10 14:19 ` [RFC net-next 17/22] vxlan: Factor out device configuration Thomas Graf
2015-07-10 14:19 ` [RFC net-next 18/22] openvswitch: Make tunnel set action attach a metadata dst Thomas Graf
2015-07-13 22:55 ` Joe Stringer
2015-07-14 9:30 ` Thomas Graf
2015-07-10 14:19 ` [RFC net-next 19/22] openvswitch: Move dev pointer into vport itself Thomas Graf
2015-07-10 14:19 ` [RFC net-next 20/22] openvswitch: Abstract vport name through ovs_vport_name() Thomas Graf
2015-07-10 14:19 ` [RFC net-next 21/22] openvswitch: Use regular VXLAN net_device device Thomas Graf
2015-07-10 14:19 ` [RFC net-next 22/22] openvswitch: Use regular GRE net_device instead of vport Thomas Graf
2015-07-16 8:59 ` Simon Horman
2015-07-16 14:52 ` Thomas Graf
2015-07-16 21:36 ` Pravin Shelar
2015-07-17 10:58 ` Thomas Graf
2015-07-17 17:10 ` Pravin Shelar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1436537414.git.tgraf@suug.ch \
--to=tgraf@suug.ch \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=ebiederm@xmission.com \
--cc=edumazet@google.com \
--cc=hannes@stressinduktion.org \
--cc=jesse@nicira.com \
--cc=jiri@resnulli.us \
--cc=jpettit@nicira.com \
--cc=kaber@trash.net \
--cc=marcelo.leitner@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pshelar@nicira.com \
--cc=roopa@cumulusnetworks.com \
--cc=rshearma@brocade.com \
--cc=stephen@networkplumber.org \
--cc=tom@herbertland.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.