RFC Lightweight & flow based tunneling
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest20 of 22 patches 13 repliesIn review
20 of 22 patches are in this archive. The cover letter announces 22.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/22 | rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributesinclude/ | +2 | 0 replies | |
| 2/22 | lwtunnel: infrastructure for handling light weight tunnels like mplsinclude/ include/ include/ +3 more | +333 | 0 replies | |
| 3/22 | ipv4: support for fib route lwtunnel encap attributesinclude/ include/ net/ +2 more | +127 | 3 replies | |
| 4/22 | ipv6: support for fib route lwtunnel encap attributesinclude/ net/ net/ | +35 | 0 replies | |
| 5/22 | lwtunnel: support dst output redirect functioninclude/ net/ | +68 | 0 replies | |
| 7/22 | ipv6: rt6_info output redirect to tunnel outputnet/ | +1 | 0 replies | |
| 8/22 | mpls: export mpls functions for use by mpls iptunnelsnet/ net/ | +11 | 0 replies | |
| 10/22 | ip_tunnel: Make ovs_tunnel_info and ovs_key_ipv4_tunnel genericinclude/ include/ net/ +10 more | +128 | 0 replies | |
| 11/22 | dst: Metadata destinationsinclude/ include/ net/ +3 more | +104 | 2 replies | |
| 12/22 | arp: Inherit metadata dst when creating ARP requestsnet/ | +43 | 1 reply | |
| 13/22 | vxlan: Flow based tunnelingdrivers/ include/ include/ +3 more | +163 | 0 replies | |
| 14/22 | route: Extend flow representation with tunnel keyinclude/ net/ | +13 | 0 replies | |
| 15/22 | route: Per route IP tunnel metadata via lightweight tunneldrivers/ include/ include/ +5 more | +157 | 0 replies | |
| 16/22 | fib: Add fib rule match on tunnel idinclude/ include/ net/ | +17 | 0 replies | |
| 17/22 | vxlan: Factor out device configurationdrivers/ include/ | +236 | 0 replies | |
| 18/22 | openvswitch: Make tunnel set action attach a metadata dstnet/ net/ net/ +2 more | +74 | 2 replies | |
| 19/22 | openvswitch: Move dev pointer into vport itselfnet/ net/ net/ +3 more | +59 | 0 replies | |
| 20/22 | openvswitch: Abstract vport name through ovs_vport_name()net/ net/ net/ +3 more | +9 | 0 replies | |
| 21/22 | openvswitch: Use regular VXLAN net_device devicedrivers/ include/ net/ +5 more | +298 | 0 replies | |
| 22/22 | openvswitch: Use regular GRE net_device instead of vportnet/ net/ net/ +2 more | +170 | 5 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC net-next 00/22] Lightweight & flow based tunneling
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
Signature · 1 line
2.4.3