Re: VPLS Support

2017-12-07 Thread Amine Kherbouche
On 12/05/2017 01:17 PM, Алексей Болдырев wrote: Hello, when will VPLS be implemented in Linux? August 15, 2017 were patches from ekoinoks, which in Linux added support for VPLS. But, these patches for some reason did not pass. Also, for some reason, the author of these patches has no activity

Re: VPLS in Linux

2017-10-13 Thread Amine Kherbouche
Hi, I was pleased to try to get the patch in and to include my comments, but David was having better ideas. However, we do not hear news from David for a while. David, please, are you still on it? If not, I'll try to find time to work on it, please share with us your intents. Thanks, Amin

[PATCH v6 1/1] ip_tunnel: add mpls over gre support

2017-10-04 Thread Amine Kherbouche
This commit introduces the MPLSoGRE support (RFC 4023), using ip tunnel API by simply adding ipgre_tunnel_encap_(add|del)_mpls_ops() and the new tunnel type TUNNEL_ENCAP_MPLS. Signed-off-by: Amine Kherbouche --- include/uapi/linux/if_tunnel.h | 1 + net/mpls/af_mpls.c | 36

[PATCH v6 0/1] Introduce MPLS over GRE

2017-10-04 Thread Amine Kherbouche
0.200.0.1/24 dev p6 Now using this scapy to forge and send packets from the port p1 of node1: p = Ether(src='de:ed:01:0c:41:09', dst='de:ed:01:2f:3b:ba') p /= MPLS(s=1, ttl=64, label=111)/Raw(load='\xde') sendp(p, iface="p1", count=20, inter=0.1) Amine Kher

Re: [PATCH v4 2/2] ip_tunnel: add mpls over gre encapsulation

2017-10-04 Thread Amine Kherbouche
On 09/29/2017 06:11 AM, Tom Herbert wrote: > @@ -122,6 +125,30 @@ int gre_parse_header(struct sk_buff *skb, struct tnl_ptk_info *tpi, > } > EXPORT_SYMBOL(gre_parse_header); > > +#if IS_ENABLED(CONFIG_MPLS) > +int mpls_gre_rcv(struct sk_buff *skb, int gre_hdr_len) > +{ > + if (unlikely(

[PATCH v5 2/2] ip_tunnel: add mpls over gre encapsulation

2017-09-28 Thread Amine Kherbouche
This commit introduces the MPLSoGRE support (RFC 4023), using ip tunnel API. Encap: - Add a new iptunnel type mpls. - Share tx path: gre type mpls loaded from skb->protocol. Decap: - pull gre hdr and call mpls_forward(). Signed-off-by: Amine Kherbouche Acked-by: Roopa Pra

[PATCH v5 1/2] mpls: export mpls_forward()

2017-09-28 Thread Amine Kherbouche
Exporting mpls_forward() function to be able to be called from elsewhere such as MPLSoverGRE in the next commit. Signed-off-by: Amine Kherbouche Acked-by: Roopa Prabhu --- include/linux/mpls.h | 4 net/mpls/af_mpls.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff

[PATCH v5 0/2] Introduce MPLS over GRE

2017-09-28 Thread Amine Kherbouche
this scapy to forge and send packets from the port p1 of node1: p = Ether(src='de:ed:01:0c:41:09', dst='de:ed:01:2f:3b:ba') p /= MPLS(s=1, ttl=64, label=111)/Raw(load='\xde') sendp(p, iface="p1", count=20, inter=0.1) Amine Kherbouche (2): mpls: export mpls_

[PATCH v4 2/2] ip_tunnel: add mpls over gre encapsulation

2017-09-28 Thread Amine Kherbouche
This commit introduces the MPLSoGRE support (RFC 4023), using ip tunnel API. Encap: - Add a new iptunnel type mpls. - Share tx path: gre type mpls loaded from skb->protocol. Decap: - pull gre hdr and call mpls_forward(). Signed-off-by: Amine Kherbouche Acked-by: Roopa Pra

[PATCH v4 0/2] Introduce MPLS over GRE

2017-09-28 Thread Amine Kherbouche
port p1 of node1: p = Ether(src='de:ed:01:0c:41:09', dst='de:ed:01:2f:3b:ba') p /= MPLS(s=1, ttl=64, label=111)/Raw(load='\xde') sendp(p, iface="p1", count=20, inter=0.1) Amine Kherbouche (2): expose stack entry function ip_tunnel: add mpls over

[PATCH v4 1/2] expose stack entry function

2017-09-28 Thread Amine Kherbouche
Exporting mpls_forward() function to be able to be called from elsewhere such as MPLSoverGRE in the next commit. Signed-off-by: Amine Kherbouche Acked-by: Roopa Prabhu --- include/linux/mpls.h | 4 net/mpls/af_mpls.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff

Re: [PATCH v3 1/1] ip_tunnel: add mpls over gre encapsulation

2017-09-27 Thread Amine Kherbouche
On 09/27/2017 06:20 PM, Roopa Prabhu wrote: I think its better to bring the patch back in. Sounds good, ok

Re: [PATCH v3 1/1] ip_tunnel: add mpls over gre encapsulation

2017-09-27 Thread Amine Kherbouche
On 09/27/2017 05:36 PM, Roopa Prabhu wrote: Amine, one small nit here.., if you define mpls_gre_rcv in gre header (like you had initially), you could do the below... #if IS_ENABLED(CONFIG_MPLS) mpls_gre_rcv() { /* real func */ } #else mpls_gre_rcv() { kfree_skb(skb) return NET_RX_

[PATCH v3 0/1] Introduce MPLS over GRE

2017-09-27 Thread Amine Kherbouche
\xde') sendp(p, iface="p1", count=20, inter=0.1) Amine Kherbouche (1): ip_tunnel: add mpls over gre encapsulation include/linux/mpls.h | 2 ++ include/uapi/linux/if_tunnel.h | 1 + net/ipv4/ip_gre.c | 11 + net/ipv6/ip6_gre.c | 11 ++

[PATCH v3 1/1] ip_tunnel: add mpls over gre encapsulation

2017-09-27 Thread Amine Kherbouche
This commit introduces the MPLSoGRE support (RFC 4023), using ip tunnel API. Encap: - Add a new iptunnel type mpls. - Share tx path: gre type mpls loaded from skb->protocol. Decap: - pull gre hdr and call mpls_forward(). Signed-off-by: Amine Kherbouche --- include/linux/mpl

Re: [PATCH v2 2/2] ip_tunnel: add mpls over gre encapsulation

2017-09-26 Thread Amine Kherbouche
Hi Roopa, Thanks for the feedback, I have just one question: On 09/26/2017 05:15 PM, Roopa Prabhu wrote: +static int ipgre_tunnel_encap_add_mpls_ops(void) > +{ > + int ret = -1; > + > +#if IS_ENABLED(CONFIG_NET_IP_TUNNEL) > + ret = ip_tunnel_encap_add_ops(&mpls_iptun_ops, TUNNEL_ENC

[PATCH v2 0/2] Introduce MPLS over GRE

2017-09-26 Thread Amine Kherbouche
/= MPLS(s=1, ttl=64, label=111)/Raw(load='\xde') sendp(p, iface="p1", count=20, inter=0.1) Amine Kherbouche (2): mpls: expose stack entry function ip_tunnel: add mpls over gre encapsulation include/linux/mpls.h | 3 +++ include/net/gre.h | 3 +++ in

[PATCH v2 2/2] ip_tunnel: add mpls over gre encapsulation

2017-09-26 Thread Amine Kherbouche
This commit introduces the MPLSoGRE support (RFC 4023), using ip tunnel API. Encap: - Add a new iptunnel type mpls. - Share tx path: gre type mpls loaded from skb->protocol. Decap: - pull gre hdr and call mpls_forward(). Signed-off-by: Amine Kherbouche --- include/net/gr

[PATCH v2 1/2] mpls: expose stack entry function

2017-09-26 Thread Amine Kherbouche
Exporting mpls_forward() function to be able to be called from elsewhere such as MPLS over GRE in the next commit. Signed-off-by: Amine Kherbouche --- include/linux/mpls.h | 3 +++ net/mpls/af_mpls.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/linux

Re: [PATCH 2/2] ip_tunnel: add mpls over gre encapsulation

2017-09-22 Thread Amine Kherbouche
On 09/22/2017 12:35 AM, Roopa Prabhu wrote: > diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c > index 36ea2ad..060ed07 100644 > --- a/net/mpls/af_mpls.c > +++ b/net/mpls/af_mpls.c > @@ -16,6 +16,7 @@ > #include > #include > #include > +#include > #include > #if IS_ENABLED(CONFIG_

Re: [PATCH 2/2] ip_tunnel: add mpls over gre encapsulation

2017-09-21 Thread Amine Kherbouche
Hi Francois, Thanks for the feedback, I'll make it for the next version. On 21/09/2017 23:25, Francois Romieu wrote: Amine Kherbouche : [...] diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index 36ea2ad..060ed07 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af_mpls.c [...] @@

[PATCH 1/2] mpls: expose stack entry function

2017-09-21 Thread Amine Kherbouche
Exposing mpls_forward() function to be able to be called from elsewhere such as MPLS over GRE in the next commit. Signed-off-by: Amine Kherbouche --- include/linux/mpls.h | 3 +++ net/mpls/af_mpls.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/linux/mpls.h

[PATCH 2/2] ip_tunnel: add mpls over gre encapsulation

2017-09-21 Thread Amine Kherbouche
This commit introduces the MPLSoGRE support (RFC 4023), using ip tunnel API. Encap: - Add a new iptunnel type mpls. Decap: - pull gre hdr and call mpls_forward(). Signed-off-by: Amine Kherbouche --- include/net/gre.h | 3 +++ include/uapi/linux/if_tunnel.h | 1 + net/ipv4

[RFC PATCH 0/0] Introduce MPLS over GRE

2017-09-21 Thread Amine Kherbouche
This series introduces the MPLS over GRE encapsulation (RFC 4023). Various applications of MPLS make use of label stacks with multiple entries. In some cases, it is possible to replace the top label of the stack with an IP-based encapsulation, thereby, it is possible for two LSRs that are adjacen

Re: [RFC net-next v2] bridge lwtunnel, VPLS & NVGRE

2017-09-19 Thread Amine Kherbouche
Hi David, What's next ? do you plan to send a v3 or should I do it ? On 09/11/2017 10:02 AM, Amine Kherbouche wrote: Hi David, Do you plan to send a v3? On 21/08/2017 18:15, David Lamparter wrote: Hi all, this is an update on the earlier "[RFC net-next] VPLS support". No

Re: [RFC net-next v2] bridge lwtunnel, VPLS & NVGRE

2017-09-11 Thread Amine Kherbouche
Hi David, Do you plan to send a v3? On 21/08/2017 18:15, David Lamparter wrote: Hi all, this is an update on the earlier "[RFC net-next] VPLS support". Note I've changed the subject lines on some of the patches to better reflect what they really do (tbh the earlier subject lines were crap.)

Re: [PATCH 6/6] mpls: VPLS support

2017-08-28 Thread Amine Kherbouche
any opinion on vpls driver path ? On 08/21/2017 07:15 PM, David Lamparter wrote: [work-in-progress, works but needs changes] [v2: refactored lots of things, e.g. dst_metadata, no more genetlink] [v4: removed pointless include/net/vpls.h, squashed pseudowire control word support, squashed netlink

Re: [PATCH 3/6] mpls: add VPLS entry points

2017-08-21 Thread Amine Kherbouche
On 08/21/2017 05:55 PM, David Lamparter wrote: + if (rt->rt_payload_type == MPT_VPLS) > > + return vpls_rcv(skb, dev, pt, rt, hdr, orig_dev); > > you should get the ret value of vpls_rcv() and increment stats if error > occurs. An error in vpls_rcv() is not a receive error o

Re: [PATCH 4/6] mpls: VPLS support

2017-08-21 Thread Amine Kherbouche
Is it right to put vpls.c file in /net/mpls, I know it's depends essentially from the mpls stack, but vpls is a driver so moving it in /drivers/net should be cleaner but we have to export some mpls functions. Let's see others opinion. On 08/16/2017 07:02 PM, David Lamparter wrote: [work-in-

Re: [PATCH 4/6] mpls: VPLS support

2017-08-21 Thread Amine Kherbouche
new file mode 100644 index ..28ac810da6e9 --- /dev/null +++ b/net/mpls/vpls.c @@ -0,0 +1,469 @@ +/* + * net/mpls/vpls.c + * + * Copyright (C) 2016 David Lamparter + * + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#inclu

Re: [PATCH 3/6] mpls: add VPLS entry points

2017-08-21 Thread Amine Kherbouche
On 08/16/2017 07:01 PM, David Lamparter wrote: This wires up the neccessary calls for VPLS into the MPLS forwarding pieces. Since CONFIG_MPLS_VPLS doesn't exist yet in Kconfig, it'll never be enabled, so we're on the stubs for now. Signed-off-by: David Lamparter --- include/uapi/linux/rtnet

Re: [PATCH 1/2] mpls: add handlers

2017-08-16 Thread Amine Kherbouche
On 08/16/2017 07:30 AM, Roopa Prabhu wrote: On Tue, Aug 15, 2017 at 2:37 AM, David Lamparter wrote: [snip] I think the reverse is the better option, removing the vpls device information and just going with the route table. My approach to this would be to add a new netlink route attribute "

Re: [PATCH 2/2] drivers: add vpls support

2017-08-12 Thread Amine Kherbouche
On 11/08/2017 17:14, Roopa Prabhu wrote: On Fri, Aug 11, 2017 at 5:55 AM, David Lamparter wrote: On Thu, Aug 10, 2017 at 10:28:37PM +0200, Amine Kherbouche wrote: This commit introduces the support of VPLS virtual device, that allows performing L2VPN multipoint to multipoint communication

Re: [PATCH 1/2] mpls: add handlers

2017-08-12 Thread Amine Kherbouche
On 11/08/2017 16:37, Roopa Prabhu wrote: On Fri, Aug 11, 2017 at 5:34 AM, David Lamparter wrote: On Thu, Aug 10, 2017 at 10:28:36PM +0200, Amine Kherbouche wrote: Mpls handler allows creation/deletion of mpls routes without using rtnetlink. When an incoming mpls packet matches this route

[PATCH 1/2] mpls: add handlers

2017-08-10 Thread Amine Kherbouche
Mpls handler allows creation/deletion of mpls routes without using rtnetlink. When an incoming mpls packet matches this route, the saved function handler is called. Signed-off-by: Amine Kherbouche Signed-off-by: David Lamparter --- include/net/mpls.h | 10 +++ net/mpls/af_mpls.c | 75

[PATCH 2/2] drivers: add vpls support

2017-08-10 Thread Amine Kherbouche
: Amine Kherbouche --- drivers/net/Kconfig | 8 + drivers/net/Makefile | 1 + drivers/net/vpls.c | 531 +++ include/net/mpls.h | 15 ++ include/net/vpls.h | 21 ++ include/uapi/linux/if_link.h | 15 ++ net

[RFC PATCH 0/2] Support of VPLS MPLS

2017-08-10 Thread Amine Kherbouche
This small series implements the support of VPLS dataplane using MPLS encapsulation to perform a l2VPN using a virtual network device. The ingress ethernet frames are encapsulated and carried over an MPLS packet switched network, then decapsulated in the egress router (LER) by a vpls device. This