[ovs-dev] [RFC net-next 04/22] ipv6: support for fib route lwtunnel encap attributes

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu This patch adds support in ipv6 fib functions to parse Netlink RTA encap attributes and attach encap state data to rt6_info. Signed-off-by: Roopa Prabhu --- include/net/ip6_fib.h | 3 +++ net/ipv6/ip6_fib.c| 2 ++ net/ipv6/route.c | 33

[ovs-dev] [RFC net-next 03/22] ipv4: support for fib route lwtunnel encap attributes

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu This patch adds support in ipv4 fib functions to parse user provided encap attributes and attach encap state data to fib_nh and rtable. Signed-off-by: Roopa Prabhu --- include/net/ip_fib.h | 5 ++- include/net/route.h | 1 + net/ipv4/fib_frontend.c | 8

[ovs-dev] [RFC net-next 01/22] rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributes

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu This patch introduces two new RTA attributes to attach encap data to fib routes. Example iproute2 command to attach mpls encap data to ipv4 routes $ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1 Signed-off-by: Roopa Prabhu Suggested-by: Eric W. Biederman

[ovs-dev] [RFC net-next 02/22] lwtunnel: infrastructure for handling light weight tunnels like mpls

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu Provides infrastructure to parse/dump/store encap information for light weight tunnels like mpls. Encap information for such tunnels is associated with fib routes. This infrastructure is based on previous suggestions from Eric Biederman to follow the xfrm infrastructure. Sign

[ovs-dev] [RFC net-next 05/22] lwtunnel: support dst output redirect function

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu This patch introduces lwtunnel_output function to call corresponding lwtunnels output function to xmit the packet. It adds two variants lwtunnel_output and lwtunnel_output6 for ipv4 and ipv6 respectively today. But this is subject to change when lwtstate will reside in dst or

[ovs-dev] [RFC net-next 06/22] ipv4: redirect dst output to lwtunnel output

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu For input routes with tunnel encap state this patch redirects dst output functions to lwtunnel_output which later resolves to the corresponding lwtunnel output function. This has been tested to work with mpls ip tunnels. Open items: Support for tunnel mtu, pmtu, fragmentation

[ovs-dev] [RFC net-next 09/22] mpls: ip tunnel support

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu This implementation uses lwtunnel infrastructure to register hooks for mpls tunnel encaps. It picks cues from iptunnel_encaps infrastructure and previous mpls iptunnel RFC patches from Eric W. Biederman and Robert Shearman Signed-off-by: Roopa Prabhu --- include/linux/mpls_

[ovs-dev] [RFC net-next 14/22] route: Extend flow representation with tunnel key

2015-07-10 Thread Thomas Graf
Add a new flowi_tunnel structure which is a subset of ip_tunnel_key to allow routes to match on tunnel metadata. For now, the tunnel id is added to flowi_tunnel which allows for routes to be bound to specific virtual tunnels. Signed-off-by: Thomas Graf --- include/net/flow.h | 7 +++ net

[ovs-dev] [RFC net-next 07/22] ipv6: rt6_info output redirect to tunnel output

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu This is similar to ipv4 redirect of dst output to lwtunnel output function for encapsulation and xmit. Signed-off-by: Roopa Prabhu --- net/ipv6/route.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv6/route.c b/net/ipv6/route.c index acfe25d..6c328bb 100644 --- a

[ovs-dev] [RFC net-next 13/22] vxlan: Flow based tunneling

2015-07-10 Thread Thomas Graf
member is removed again in a later commit after the indirect VXLAN receive API has been removed. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- drivers/net/vxlan.c | 149 --- include/linux/skbuff.h | 1 + include/net

[ovs-dev] [RFC net-next 12/22] arp: Inherit metadata dst when creating ARP requests

2015-07-10 Thread Thomas Graf
If output device wants to see the dst, inherit the dst of the original skb and pass it on to generate the ARP request. Signed-off-by: Thomas Graf --- net/ipv4/arp.c | 71 +++--- 1 file changed, 43 insertions(+), 28 deletions(-) diff --git a

[ovs-dev] [RFC net-next 08/22] mpls: export mpls functions for use by mpls iptunnels

2015-07-10 Thread Thomas Graf
From: Roopa Prabhu Signed-off-by: Roopa Prabhu --- net/mpls/af_mpls.c | 11 --- net/mpls/internal.h | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index 1f93a59..6e66911 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af

[ovs-dev] [RFC net-next 11/22] dst: Metadata destinations

2015-07-10 Thread Thomas Graf
ion thus allowing to interpret metadata in a later commit. Signed-off-by: Thomas Graf --- include/net/dst.h | 5 ++- include/net/dst_metadata.h | 32 +++ net/core/dev.c | 2 +- net/core/dst.c | 76 ++

[ovs-dev] [RFC net-next 15/22] route: Per route IP tunnel metadata via lightweight tunnel

2015-07-10 Thread Thomas Graf
This introduces a new IP tunnel lightweight tunnel type which allows to specify IP tunnel instructions per route. Only IPv4 is supported at this point. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c| 10 +++- include/net/dst_metadata.h | 12 - include/net/ip_tunnels.h

[ovs-dev] [RFC net-next 19/22] openvswitch: Move dev pointer into vport itself

2015-07-10 Thread Thomas Graf
This is the first step in representing all OVS vports as regular struct net_devices. Move the net_device pointer into the vport structure itself to get rid of struct vport_netdev. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- net/openvswitch/datapath.c | 7 +-- net

[ovs-dev] [RFC net-next 16/22] fib: Add fib rule match on tunnel id

2015-07-10 Thread Thomas Graf
This add the ability to select a routing table based on the tunnel id which allows to maintain separate routing tables for each virtual tunnel network. ip rule add from all tunnel-id 100 lookup 100 ip rule add from all tunnel-id 200 lookup 200 Signed-off-by: Thomas Graf --- include/net

[ovs-dev] [RFC net-next 20/22] openvswitch: Abstract vport name through ovs_vport_name()

2015-07-10 Thread Thomas Graf
This allows to get rid of the get_name() vport ops later on. Signed-off-by: Thomas Graf --- net/openvswitch/datapath.c | 4 ++-- net/openvswitch/vport-internal_dev.c | 1 - net/openvswitch/vport-netdev.c | 6 -- net/openvswitch/vport-netdev.h | 1 - net/openvswitch

[ovs-dev] [RFC net-next 18/22] openvswitch: Make tunnel set action attach a metadata dst

2015-07-10 Thread Thomas Graf
Utilize the new metadata dst to attach encapsulation instructions to the skb. The existing egress_tun_info via the OVS_CB() is left in place until all tunnel vports have been converted to the new method. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- net/openvswitch/actions.c

[ovs-dev] [RFC net-next 22/22] openvswitch: Use regular GRE net_device instead of vport

2015-07-10 Thread Thomas Graf
From: Pravin Shelar Removes all of the OVS specific GRE code and makes OVS use a GRE net_device. Signed-off-by: Pravin B Shelar --- net/core/dev.c | 5 +- net/ipv4/ip_gre.c | 165 +- net/openvswitch/Makefile | 1 - net/openvswitch/vpor

[ovs-dev] [RFC net-next 21/22] openvswitch: Use regular VXLAN net_device device

2015-07-10 Thread Thomas Graf
(), vxlan_xmit_skb() since they are no longer needed. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- drivers/net/vxlan.c| 242 +++ include/net/vxlan.h| 24 +-- net/openvswitch/Kconfig| 12 -- net/openvswitch/Makefile | 1

[ovs-dev] [RFC net-next 17/22] vxlan: Factor out device configuration

2015-07-10 Thread Thomas Graf
This factors out the device configuration out of the RTNL newlink API which allows for in-kernel creation of VXLAN net_devices. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c | 332 include/net/vxlan.h | 59 ++ 2 files changed

Re: [ovs-dev] [RFC net-next 03/22] ipv4: support for fib route lwtunnel encap attributes

2015-07-10 Thread Thomas Graf
On 07/10/15 at 05:36pm, Eric Dumazet wrote: > On Fri, 2015-07-10 at 16:19 +0200, Thomas Graf wrote: > > From: Roopa Prabhu > > > > + if (oif) > > + dev = __dev_get_by_index(net, oif); > > + ret = lwtunnel_build_state(dev, encap_type, > &g

Re: [ovs-dev] [RFC net-next 11/22] dst: Metadata destinations

2015-07-10 Thread Thomas Graf
On 07/10/15 at 09:57pm, Julian Anastasov wrote: > > Hello, > > On Fri, 10 Jul 2015, Thomas Graf wrote: > > > --- a/net/ipv4/route.c > > +++ b/net/ipv4/route.c > > @@ -1691,6 +1691,8 @@ static int ip_route_input_slow(struct sk_buff *skb, > > __

Re: [ovs-dev] [RFC net-next 18/22] openvswitch: Make tunnel set action attach a metadata dst

2015-07-14 Thread Thomas Graf
On 07/13/15 at 03:55pm, Joe Stringer wrote: > It doesn't look like flow_free() is using this new function to > properly free the actions. Also, some of the error cases that hit this > code have sf_acts=NULL. Good catch. Will fix in next iteration. ___ de

Re: [ovs-dev] [RFC net-next 22/22] openvswitch: Use regular GRE net_device instead of vport

2015-07-16 Thread Thomas Graf
On 07/16/15 at 05:59pm, Simon Horman wrote: > On Fri, Jul 10, 2015 at 04:19:24PM +0200, Thomas Graf wrote: > > static void ipgre_tap_setup(struct net_device *dev) > > { > > ether_setup(dev); > > - dev->netdev_ops = &gre_tap_n

Re: [ovs-dev] [RFC net-next 22/22] openvswitch: Use regular GRE net_device instead of vport

2015-07-17 Thread Thomas Graf
On 07/16/15 at 02:36pm, Pravin Shelar wrote: > On Thu, Jul 16, 2015 at 7:52 AM, Thomas Graf wrote: > > I'm inclined to change this and use an in-kernel API as well to > > create the net_device just like VXLAN does in patch 21. > > > > Pravin, what do you think? &

[ovs-dev] [PATCH net-next 00/22] Lightweight & flow based encapsulation

2015-07-17 Thread Thomas Graf
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 (13): ip_tunnel: Make ovs_tunnel_inf

[ovs-dev] [PATCH net-next 05/22] lwtunnel: support dst output redirect function

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu This patch introduces lwtunnel_output function to call corresponding lwtunnels output function to xmit the packet. It adds two variants lwtunnel_output and lwtunnel_output6 for ipv4 and ipv6 respectively today. But this is subject to change when lwtstate will reside in dst or

[ovs-dev] [PATCH net-next 01/22] rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributes

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu This patch introduces two new RTA attributes to attach encap data to fib routes. Example iproute2 command to attach mpls encap data to ipv4 routes $ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1 Signed-off-by: Roopa Prabhu Suggested-by: Eric W. Biederman

[ovs-dev] [PATCH net-next 07/22] ipv6: rt6_info output redirect to tunnel output

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu This is similar to ipv4 redirect of dst output to lwtunnel output function for encapsulation and xmit. Signed-off-by: Roopa Prabhu --- net/ipv6/route.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv6/route.c b/net/ipv6/route.c index b3431b7..7f2214f 100644 --- a

[ovs-dev] [PATCH net-next 06/22] ipv4: redirect dst output to lwtunnel output

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu For input routes with tunnel encap state this patch redirects dst output functions to lwtunnel_output which later resolves to the corresponding lwtunnel output function. This has been tested to work with mpls ip tunnels. Open items: Support for tunnel mtu, pmtu, fragmentation

[ovs-dev] [PATCH net-next 03/22] ipv4: support for fib route lwtunnel encap attributes

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu This patch adds support in ipv4 fib functions to parse user provided encap attributes and attach encap state data to fib_nh and rtable. Signed-off-by: Roopa Prabhu --- include/net/ip_fib.h | 5 ++- include/net/route.h | 1 + net/ipv4/fib_frontend.c | 8 net

[ovs-dev] [PATCH net-next 04/22] ipv6: support for fib route lwtunnel encap attributes

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu This patch adds support in ipv6 fib functions to parse Netlink RTA encap attributes and attach encap state data to rt6_info. Signed-off-by: Roopa Prabhu --- include/net/ip6_fib.h | 3 +++ net/ipv6/ip6_fib.c| 2 ++ net/ipv6/route.c | 33

[ovs-dev] [PATCH net-next 08/22] mpls: export mpls functions for use by mpls iptunnels

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu Signed-off-by: Roopa Prabhu --- net/mpls/af_mpls.c | 11 --- net/mpls/internal.h | 9 +++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index 1f93a59..6e66911 100644 --- a/net/mpls/af_mpls.c +++ b/net/m

[ovs-dev] [PATCH net-next 09/22] mpls: ip tunnel support

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu This implementation uses lwtunnel infrastructure to register hooks for mpls tunnel encaps. It picks cues from iptunnel_encaps infrastructure and previous mpls iptunnel RFC patches from Eric W. Biederman and Robert Shearman Signed-off-by: Roopa Prabhu --- include/linux/mpls_

[ovs-dev] [PATCH net-next 02/22] lwtunnel: infrastructure for handling light weight tunnels like mpls

2015-07-17 Thread Thomas Graf
From: Roopa Prabhu Provides infrastructure to parse/dump/store encap information for light weight tunnels like mpls. Encap information for such tunnels is associated with fib routes. This infrastructure is based on previous suggestions from Eric Biederman to follow the xfrm infrastructure. Sign

[ovs-dev] [PATCH net-next 11/22] icmp: Don't leak original dst into ip_route_input()

2015-07-17 Thread Thomas Graf
ip_route_input() unconditionally overwrites the dst. Hide the original dst attached to the skb by calling skb_dst_set(skb, NULL) prior to ip_route_input(). Reported-by: Julian Anastasov Signed-off-by: Thomas Graf --- net/ipv4/icmp.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv4

[ovs-dev] [PATCH net-next 12/22] dst: Metadata destinations

2015-07-17 Thread Thomas Graf
ion thus allowing to interpret metadata in a later commit. Signed-off-by: Thomas Graf --- include/net/dst.h | 6 +++- include/net/dst_metadata.h | 32 ++ net/core/dev.c | 2 +- net/core/dst.c | 84 ++

[ovs-dev] [PATCH net-next 15/22] route: Extend flow representation with tunnel key

2015-07-17 Thread Thomas Graf
Add a new flowi_tunnel structure which is a subset of ip_tunnel_key to allow routes to match on tunnel metadata. For now, the tunnel id is added to flowi_tunnel which allows for routes to be bound to specific virtual tunnels. Signed-off-by: Thomas Graf --- include/net/flow.h | 7 +++ net

[ovs-dev] [PATCH net-next 13/22] arp: Inherit metadata dst when creating ARP requests

2015-07-17 Thread Thomas Graf
If output device wants to see the dst, inherit the dst of the original skb and pass it on to generate the ARP request. Signed-off-by: Thomas Graf --- net/ipv4/arp.c | 65 +- 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a

[ovs-dev] [PATCH net-next 18/22] vxlan: Factor out device configuration

2015-07-17 Thread Thomas Graf
This factors out the device configuration out of the RTNL newlink API which allows for in-kernel creation of VXLAN net_devices. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c | 332 include/net/vxlan.h | 59 ++ 2 files changed

[ovs-dev] [PATCH net-next 14/22] vxlan: Flow based tunneling

2015-07-17 Thread Thomas Graf
removed. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- drivers/net/vxlan.c | 155 +-- include/linux/skbuff.h | 1 + include/net/dst_metadata.h | 13 include/net/ip_tunnels.h | 14 include/net/vxlan.h

[ovs-dev] [PATCH net-next 17/22] fib: Add fib rule match on tunnel id

2015-07-17 Thread Thomas Graf
at tunnel level upon demand. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c| 3 ++- include/net/fib_rules.h| 1 + include/net/ip_tunnels.h | 11 +++ include/uapi/linux/fib_rules.h | 2 +- net/core/fib_rules.c | 24 ++-- net

[ovs-dev] [PATCH net-next 16/22] route: Per route IP tunnel metadata via lightweight tunnel

2015-07-17 Thread Thomas Graf
This introduces a new IP tunnel lightweight tunnel type which allows to specify IP tunnel instructions per route. Only IPv4 is supported at this point. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c| 10 +++- include/net/dst_metadata.h | 12 - include/net/ip_tunnels.h

[ovs-dev] [PATCH net-next 20/22] openvswitch: Move dev pointer into vport itself

2015-07-17 Thread Thomas Graf
This is the first step in representing all OVS vports as regular struct net_devices. Move the net_device pointer into the vport structure itself to get rid of struct vport_netdev. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- net/openvswitch/datapath.c | 7 +-- net

[ovs-dev] [PATCH net-next 22/22] openvswitch: Use regular VXLAN net_device device

2015-07-17 Thread Thomas Graf
(), vxlan_xmit_skb() since they are no longer needed. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- drivers/net/vxlan.c| 242 +++ include/net/rtnetlink.h| 1 + include/net/vxlan.h| 24 +-- net/core/rtnetlink.c | 26

[ovs-dev] [PATCH net-next 19/22] openvswitch: Make tunnel set action attach a metadata dst

2015-07-17 Thread Thomas Graf
Utilize the new metadata dst to attach encapsulation instructions to the skb. The existing egress_tun_info via the OVS_CB() is left in place until all tunnel vports have been converted to the new method. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- net/openvswitch/actions.c

[ovs-dev] [PATCH net-next 21/22] openvswitch: Abstract vport name through ovs_vport_name()

2015-07-17 Thread Thomas Graf
This allows to get rid of the get_name() vport ops later on. Signed-off-by: Thomas Graf --- net/openvswitch/datapath.c | 4 ++-- net/openvswitch/vport-internal_dev.c | 1 - net/openvswitch/vport-netdev.c | 6 -- net/openvswitch/vport-netdev.h | 1 - net/openvswitch

Re: [ovs-dev] [PATCH net-next 14/22] vxlan: Flow based tunneling

2015-07-20 Thread Thomas Graf
On 07/17/15 at 11:41am, Alexei Starovoitov wrote: > On 7/17/15 5:55 AM, Thomas Graf wrote: > >@@ -2373,6 +2470,12 @@ static void vxlan_setup(struct net_device *dev) > > netif_keep_dst(dev); > > dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; > > > >+/*

Re: [ovs-dev] [PATCH net-next 15/22] route: Extend flow representation with tunnel key

2015-07-20 Thread Thomas Graf
On 07/17/15 at 11:25pm, Julian Anastasov wrote: > > Hello, > > On Fri, 17 Jul 2015, Thomas Graf wrote: > > > Add a new flowi_tunnel structure which is a subset of ip_tunnel_key to > > allow routes to match on tunnel metadata. For now, the tunnel id is >

[ovs-dev] [PATCH net-next 04/22] ipv6: support for fib route lwtunnel encap attributes

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu This patch adds support in ipv6 fib functions to parse Netlink RTA encap attributes and attach encap state data to rt6_info. Signed-off-by: Roopa Prabhu --- include/net/ip6_fib.h | 3 +++ net/ipv6/ip6_fib.c| 2 ++ net/ipv6/route.c | 33

[ovs-dev] [PATCH net-next 00/22 v2] Lightweight & flow based encapsulation

2015-07-21 Thread Thomas Graf
tions for use by mpls iptunnels mpls: ip tunnel support Thomas Graf (13): ip_tunnel: Make ovs_tunnel_info and ovs_key_ipv4_tunnel generic icmp: Don't leak original dst into ip_route_input() dst: Metadata destinations arp: Inherit metadata dst when creating ARP requests vxlan:

[ovs-dev] [PATCH net-next 02/22] lwtunnel: infrastructure for handling light weight tunnels like mpls

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu Provides infrastructure to parse/dump/store encap information for light weight tunnels like mpls. Encap information for such tunnels is associated with fib routes. This infrastructure is based on previous suggestions from Eric Biederman to follow the xfrm infrastructure. Sign

[ovs-dev] [PATCH net-next 01/22] rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributes

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu This patch introduces two new RTA attributes to attach encap data to fib routes. Example iproute2 command to attach mpls encap data to ipv4 routes $ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1 Signed-off-by: Roopa Prabhu Suggested-by: Eric W. Biederman

[ovs-dev] [PATCH net-next 05/22] lwtunnel: support dst output redirect function

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu This patch introduces lwtunnel_output function to call corresponding lwtunnels output function to xmit the packet. It adds two variants lwtunnel_output and lwtunnel_output6 for ipv4 and ipv6 respectively today. But this is subject to change when lwtstate will reside in dst or

[ovs-dev] [PATCH net-next 03/22] ipv4: support for fib route lwtunnel encap attributes

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu This patch adds support in ipv4 fib functions to parse user provided encap attributes and attach encap state data to fib_nh and rtable. Signed-off-by: Roopa Prabhu --- include/net/ip_fib.h | 5 ++- include/net/route.h | 1 + net/ipv4/fib_frontend.c | 8 net

[ovs-dev] [PATCH net-next 07/22] ipv6: rt6_info output redirect to tunnel output

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu This is similar to ipv4 redirect of dst output to lwtunnel output function for encapsulation and xmit. Signed-off-by: Roopa Prabhu --- net/ipv6/route.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv6/route.c b/net/ipv6/route.c index b3431b7..7f2214f 100644 --- a

[ovs-dev] [PATCH net-next 06/22] ipv4: redirect dst output to lwtunnel output

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu For input routes with tunnel encap state this patch redirects dst output functions to lwtunnel_output which later resolves to the corresponding lwtunnel output function. This has been tested to work with mpls ip tunnels. Signed-off-by: Roopa Prabhu --- net/ipv4/route.c | 2

[ovs-dev] [PATCH net-next 12/22] dst: Metadata destinations

2015-07-21 Thread Thomas Graf
ion thus allowing to interpret metadata in a later commit. Signed-off-by: Thomas Graf --- include/net/dst.h | 6 +++- include/net/dst_metadata.h | 32 ++ net/core/dev.c | 2 +- net/core/dst.c | 84 ++

[ovs-dev] [PATCH net-next 08/22] mpls: export mpls functions for use by mpls iptunnels

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu Signed-off-by: Roopa Prabhu --- net/mpls/af_mpls.c | 11 --- net/mpls/internal.h | 9 +++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index 1f93a59..6e66911 100644 --- a/net/mpls/af_mpls.c +++ b/net/m

[ovs-dev] [PATCH net-next 09/22] mpls: ip tunnel support

2015-07-21 Thread Thomas Graf
From: Roopa Prabhu This implementation uses lwtunnel infrastructure to register hooks for mpls tunnel encaps. It picks cues from iptunnel_encaps infrastructure and previous mpls iptunnel RFC patches from Eric W. Biederman and Robert Shearman Signed-off-by: Roopa Prabhu --- include/linux/mpls_

[ovs-dev] [PATCH net-next 15/22] route: Extend flow representation with tunnel key

2015-07-21 Thread Thomas Graf
Add a new flowi_tunnel structure which is a subset of ip_tunnel_key to allow routes to match on tunnel metadata. For now, the tunnel id is added to flowi_tunnel which allows for routes to be bound to specific virtual tunnels. Signed-off-by: Thomas Graf --- include/net/flow.h | 8

[ovs-dev] [PATCH net-next 11/22] icmp: Don't leak original dst into ip_route_input()

2015-07-21 Thread Thomas Graf
ip_route_input() unconditionally overwrites the dst. Hide the original dst attached to the skb by calling skb_dst_set(skb, NULL) prior to ip_route_input(). Reported-by: Julian Anastasov Signed-off-by: Thomas Graf --- net/ipv4/icmp.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv4

[ovs-dev] [PATCH net-next 17/22] fib: Add fib rule match on tunnel id

2015-07-21 Thread Thomas Graf
at tunnel level upon demand. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c| 3 ++- include/net/fib_rules.h| 1 + include/net/ip_tunnels.h | 11 +++ include/uapi/linux/fib_rules.h | 2 +- net/core/fib_rules.c | 24 ++-- net

[ovs-dev] [PATCH net-next 16/22] route: Per route IP tunnel metadata via lightweight tunnel

2015-07-21 Thread Thomas Graf
This introduces a new IP tunnel lightweight tunnel type which allows to specify IP tunnel instructions per route. Only IPv4 is supported at this point. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c| 10 +++- include/net/dst_metadata.h | 12 - include/net/ip_tunnels.h

[ovs-dev] [PATCH net-next 13/22] arp: Inherit metadata dst when creating ARP requests

2015-07-21 Thread Thomas Graf
If output device wants to see the dst, inherit the dst of the original skb and pass it on to generate the ARP request. Signed-off-by: Thomas Graf --- net/ipv4/arp.c | 65 +- 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a

[ovs-dev] [PATCH net-next 20/22] openvswitch: Move dev pointer into vport itself

2015-07-21 Thread Thomas Graf
This is the first step in representing all OVS vports as regular struct net_devices. Move the net_device pointer into the vport structure itself to get rid of struct vport_netdev. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- net/openvswitch/datapath.c | 7 +-- net

[ovs-dev] [PATCH net-next 14/22] vxlan: Flow based tunneling

2015-07-21 Thread Thomas Graf
removed. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- drivers/net/vxlan.c | 149 --- include/linux/skbuff.h | 1 + include/net/dst_metadata.h | 13 include/net/ip_tunnels.h | 14 include/net/vxlan.h

[ovs-dev] [PATCH net-next 19/22] openvswitch: Make tunnel set action attach a metadata dst

2015-07-21 Thread Thomas Graf
Utilize the new metadata dst to attach encapsulation instructions to the skb. The existing egress_tun_info via the OVS_CB() is left in place until all tunnel vports have been converted to the new method. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- net/openvswitch/actions.c

[ovs-dev] [PATCH net-next 22/22] openvswitch: Use regular VXLAN net_device device

2015-07-21 Thread Thomas Graf
(), vxlan_xmit_skb() since they are no longer needed. Signed-off-by: Thomas Graf Signed-off-by: Pravin B Shelar --- drivers/net/vxlan.c| 242 +++ include/net/rtnetlink.h| 1 + include/net/vxlan.h| 24 +-- net/core/rtnetlink.c | 26

[ovs-dev] [PATCH net-next 18/22] vxlan: Factor out device configuration

2015-07-21 Thread Thomas Graf
This factors out the device configuration out of the RTNL newlink API which allows for in-kernel creation of VXLAN net_devices. Signed-off-by: Thomas Graf --- drivers/net/vxlan.c | 332 include/net/vxlan.h | 59 ++ 2 files changed

[ovs-dev] [PATCH net-next 21/22] openvswitch: Abstract vport name through ovs_vport_name()

2015-07-21 Thread Thomas Graf
This allows to get rid of the get_name() vport ops later on. Signed-off-by: Thomas Graf --- net/openvswitch/datapath.c | 4 ++-- net/openvswitch/vport-internal_dev.c | 1 - net/openvswitch/vport-netdev.c | 6 -- net/openvswitch/vport-netdev.h | 1 - net/openvswitch

Re: [ovs-dev] [PATCH net-next 14/22] vxlan: Flow based tunneling

2015-07-21 Thread Thomas Graf
On 07/21/15 at 10:30am, Alexei Starovoitov wrote: > RX: > >+info->mode = IP_TUNNEL_INFO_RX; > >+info->key.tun_flags = TUNNEL_KEY; > >+info->key.tun_id = cpu_to_be64(vni >> 8); > ... > TX: > >+dst_port = info->key.tp_dst ? : vxlan->dst_port; > >+

Re: [ovs-dev] [PATCH net-next] openvswitch: fix compilation when vxlan is a module

2015-07-23 Thread Thomas Graf
defined reference to > `vxlan_dev_create' > make: *** [vmlinux] Error 1 > > CC: Thomas Graf > Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") > Signed-off-by: Nicolas Dichtel Thanks! Acked-by: Thomas Graf

[ovs-dev] [PATCH net-next] openvswitch: Retrieve tunnel metadata when receiving from vport-netdev

2015-07-23 Thread Thomas Graf
VXLAN net_device device") Signed-off-by: Thomas Graf --- net/openvswitch/vport-netdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c index 68d0582..2254b74 100644 --- a/net/openvswitch/vport-netdev.c

Re: [ovs-dev] [PATCH net-next] openvswitch: fix compilation when vxlan is a module

2015-07-27 Thread Thomas Graf
.o: In function `vxlan_tnl_create': > > .../net/openvswitch/vport-netdev.c:322: undefined reference to > > `vxlan_dev_create' > > make: *** [vmlinux] Error 1 > > > > CC: Thomas Graf > > Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_devic

[ovs-dev] [PATCH net-next] openvswitch: Re-add CONFIG_OPENVSWITCH_VXLAN

2015-07-29 Thread Thomas Graf
uot;openvswitch: fix compilation when vxlan is a module") Cc: Pravin B Shelar Cc: Nicolas Dichtel Signed-off-by: Thomas Graf --- net/openvswitch/Kconfig| 13 ++- net/openvswitch/Makefile | 1 + net/openvswitch/vport-netdev.c | 211 +++-- n

Re: [ovs-dev] [PATCH net-next] openvswitch: Re-add CONFIG_OPENVSWITCH_VXLAN

2015-07-29 Thread Thomas Graf
On 07/29/15 at 12:05pm, Pravin Shelar wrote: > On Wed, Jul 29, 2015 at 4:52 AM, Thomas Graf wrote: > > This readds the config option CONFIG_OPENVSWITCH_VXLAN to avoid a > > hard dependency of OVS on VXLAN. It moves the VXLAN config compat > > code to vport-vxlan.c and al

Re: [ovs-dev] [PATCH v2 net-next 01/13] ip_tunnels: remove custom alignment and packing

2015-08-19 Thread Thomas Graf
> Signed-off-by: Jiri Benc I came to the same conclusion but didn't want to change it in the original series. Acked-by: Thomas Graf ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev

Re: [ovs-dev] [PATCH v2 net-next 03/13] ip_tunnels: use offsetofend

2015-08-19 Thread Thomas Graf
On 08/19/15 at 12:09pm, Jiri Benc wrote: > Signed-off-by: Jiri Benc Acked-by: Thomas Graf ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev

Re: [ovs-dev] [PATCH v2 net-next 04/13] ip_tunnels: add IPv6 addresses to ip_tunnel_key

2015-08-19 Thread Thomas Graf
N calculation, thanks to > Alexei. Acked-by: Thomas Graf ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev

Re: [ovs-dev] [PATCH v2 net-next 05/13] ip_tunnels: use tos and ttl fields also for IPv6

2015-08-19 Thread Thomas Graf
On 08/19/15 at 12:09pm, Jiri Benc wrote: > Rename the ipv4_tos and ipv4_ttl fields to just 'tos' and 'ttl', as they'll > be used with IPv6 tunnels, too. > > Signed-off-by: Jiri Benc Acked-by: Thomas Graf ___ dev

Re: [ovs-dev] [PATCH v2 net-next 06/13] route: move lwtunnel state to dst_entry

2015-08-19 Thread Thomas Graf
ipv4 or ipv6, yet it needs the lwtstate data. Moving the > lwtstate data to dst_entry makes such inter-protocol tunneling possible. > > As a bonus, this brings a nice diffstat. > > Signed-off-by: Jiri Benc > Acked-by: Roopa Prabhu Acked-by: Thomas Graf _

Re: [ovs-dev] Userspace Netlink MMAP status

2014-04-23 Thread Thomas Graf
On 04/23/2014 10:12 PM, Ethan Jackson wrote: The problem has actually gotten worse since we've gotten rid of the dispatcher thread. Now each thread has it's own channel per port. I wonder if the right approach is to simply ditch the per-port fairness in the case where mmap netlink is enabled.

Re: [ovs-dev] [PATCH V2 1/4] datapath: Move table destroy to dp-rcu callback.

2014-04-23 Thread Thomas Graf
On 04/23/2014 05:49 PM, Pravin B Shelar wrote: Ths simplifies flow-table-destroy API. This change is required for following patches. Signed-off-by: Pravin B Shelar Thanks for adding the comment. Acked-by: Thomas Graf ___ dev mailing list dev

Re: [ovs-dev] [PATCH V2 2/4] datapath: Add flow mask cache.

2014-04-23 Thread Thomas Graf
processing performance. Following patch adds mask index to mask cache from last pakcet lookup in same flow. Index of mask is stored in this cache. This cache is searched by 5 tuple hash (skb rxhash). Signed-off-by: Pravin B Shelar This looks excellent now, thanks! Acked-by: Thomas Graf

Re: [ovs-dev] [PATCH V2 3/4] datapath: Convert mask list in mask array.

2014-04-23 Thread Thomas Graf
x27;s existence. Signed-off-by: Pravin B Shelar LGTM Acked-by: Thomas Graf + if (old) + call_rcu(&old->rcu, mask_array_rcu_cb); At some point we should simply backport rcupdate.h to make kfree_rcu() available and get rid of all th

Re: [ovs-dev] [PATCH V2 4/4] datapath: Compact mask list array.

2014-04-23 Thread Thomas Graf
On 04/23/2014 05:49 PM, Pravin B Shelar wrote: Along with flow-table rehashing OVS can compact masks array. This allows us to calculate highest index for mask array. Signed-off-by: Pravin B Shelar Looks great in general, see comment below. --- datapath/flow_table.c | 24 +++

Re: [ovs-dev] Userspace Netlink MMAP status

2014-04-29 Thread Thomas Graf
On Tue, Apr 29, 2014 at 05:17:07PM +0100, Zoltan Kiss wrote: > On 23/04/14 22:56, Thomas Graf wrote: > >On 04/23/2014 10:12 PM, Ethan Jackson wrote: > >>The problem has actually gotten worse since we've gotten rid of the > >>dispatcher thread. Now each thre

Re: [ovs-dev] Userspace Netlink MMAP status

2014-05-06 Thread Thomas Graf
On 04/29/2014 09:47 PM, Ethan Jackson wrote: The common use case is a flow expiring during the lifetime of a TCP connection. It will result in multiple data packets being sent upwards. It's much less likely in the megaflows era though. I think this is pretty unlikely except in some extreme circ

Re: [ovs-dev] Userspace Netlink MMAP status

2014-05-06 Thread Thomas Graf
On 05/01/2014 06:09 PM, Zoltan Kiss wrote: On 29/04/14 17:36, Thomas Graf wrote: On Tue, Apr 29, 2014 at 05:17:07PM +0100, Zoltan Kiss wrote: On 23/04/14 22:56, Thomas Graf wrote: On 04/23/2014 10:12 PM, Ethan Jackson wrote: The problem has actually gotten worse since we've gotten rid o

[ovs-dev] [PATCH] ovs-ctl: Don't decrease max open fds if already set higher

2014-05-08 Thread Thomas Graf
A user may set LimitNOFILE through systemd or other means to set the maximum number of open file descriptors. Only modify the ulimit if not already set to a higher value by the user. Signed-off-by: Thomas Graf --- utilities/ovs-ctl.in | 5 - 1 file changed, 4 insertions(+), 1 deletion

Re: [ovs-dev] [PATCH 2/3] vswitchd: Add error column to Interface table to store error condition

2014-05-09 Thread Thomas Graf
On 05/09/2014 05:39 PM, Ben Pfaff wrote: On Thu, Apr 10, 2014 at 12:50:10PM +0200, Thomas Graf wrote: Store the error condition of a failed port configuration in a new column 'error' in the Interface table. Example: $ ovs-vsctl add-port br0 test -- \ set Interface test

Re: [ovs-dev] [PATCH v2.57] datapath: Add basic MPLS support to kernel

2014-05-16 Thread Thomas Graf
On 05/16/14 at 02:29pm, Jesse Gross wrote: > On Fri, May 16, 2014 at 1:48 AM, Simon Horman wrote: > > On Fri, May 16, 2014 at 08:07:07AM +0900, Simon Horman wrote: > >> Allow datapath to recognize and extract MPLS labels into flow keys > >> and execute actions which push, pop, and set labels on pa

Re: [ovs-dev] [PATCH 3/3] ovs-vsctl: Add error column to show command

2014-05-20 Thread Thomas Graf
On 05/20/2014 12:49 AM, Ben Pfaff wrote: On Thu, Apr 10, 2014 at 12:50:11PM +0200, Thomas Graf wrote: a425a102-c317-4743-b0ba-79d59ff04a74 Bridge "br0" [...] Port test Interface test type: vxlan options: {

Re: [ovs-dev] [PATCH v2.57] datapath: Add basic MPLS support to kernel

2014-05-20 Thread Thomas Graf
plementation of compatibility for MPLS GSO segmentation. > > This should be safe as inner_network_header is now an offset to > the inner_mac_header rather than skb->head. > > As pointed out by Thomas Graf simply making both inner offsets 16bis is not > safe as there have been ca

[ovs-dev] [RFC 2/4] nlmon: Enable memory mapped Netlink socket

2014-05-22 Thread Thomas Graf
Signed-off-by: Thomas Graf --- utilities/nlmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/nlmon.c b/utilities/nlmon.c index 99b060c..60eb100 100644 --- a/utilities/nlmon.c +++ b/utilities/nlmon.c @@ -47,7 +47,7 @@ main(int argc OVS_UNUSED, char *argv

[ovs-dev] [RFC 0/4] Status of mmap upcall work

2014-05-22 Thread Thomas Graf
: How have you been testing fairness so far? Thoughts? Comments? Thomas Graf (4): netlink: Support for memory mapped Netlink sockets nlmon: Enable memory mapped Netlink socket upcall: Enable memory mapped Netlink sockets netlink: COW mmap Netlink messages to avoid memcpy() lib/dpif

[ovs-dev] [RFC 4/4] netlink: COW mmap Netlink messages to avoid memcpy()

2014-05-22 Thread Thomas Graf
If the message was received via a shared memory ring the frame is usable as ofpbuf base directly without copying the buffer unnecessarily. A new destructor() callback is introduced which allows marking the frame unused after the ofpbuf has been uninitialized. Signed-off-by: Thomas Graf --- lib

[ovs-dev] [RFC 3/4] upcall: Enable memory mapped Netlink sockets

2014-05-22 Thread Thomas Graf
--- lib/dpif-linux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index 42a3f72..09f02b3 100644 --- a/lib/dpif-linux.c +++ b/lib/dpif-linux.c @@ -298,7 +298,7 @@ vport_create_socksp(uint32_t n_socks, int *error) size_t i; f

<    1   2   3   4   5   6   7   8   9   10   >