Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-10 Thread David Miller
From: David Lebrun 
Date: Thu, 10 Nov 2016 09:19:28 +0100

> The Kconfig knob was a response to the concern that direct header
> insertion breaks things. Moreover, if the IETF decides that direct
> header insertion must be explicitely banned in rfc2460bis, then at
> least we do not have a non-RFC compliant behavior by default.

Sysadmins should be allowed to do what they wish.

Most packet filtering and mangling we support is technically not RFC
compliant, so using that as an argument against supporting this or
that facility is kind of silly.


Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-10 Thread Lorenzo Colitti
On Thu, Nov 10, 2016 at 6:26 PM, David Lebrun  wrote:
> That would be easier indeed, but then this behavior should be documented
> somewhere: how the user would know that it has to enable CONFIG_LWTUNNEL ?

True.

I guess whether that question is important or not depends on how many
kernels enable CONFIG_LWTUNNEL. If pretty much all kernels already
enable it, then the point is moot.


Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-10 Thread David Lebrun
On 11/10/2016 10:14 AM, Lorenzo Colitti wrote:
> So you'd split SRH functionality in three parts? Core (default on),
> lwtunnel (default off) and inline?
> 
> It seems to me that once you've done the work to enable the core code
> to work when CONFIG_LWTUNNEL is off, you can just enable/disable the
> LWT part of SRH depending on whether CONFIG_LWTUNNEL is compiled in or
> not. That might save you a config option.

That would be easier indeed, but then this behavior should be documented
somewhere: how the user would know that it has to enable CONFIG_LWTUNNEL ?

David



signature.asc
Description: OpenPGP digital signature


Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-10 Thread Lorenzo Colitti
On Thu, Nov 10, 2016 at 6:09 PM, David Lebrun  wrote:
> Oops. The easiest fix I can think of is adding an option to
> enable/disable seg6's LWT which would select CONFIG_LWTUNNEL. That would
> still let the core SR processing be enabled by default.

So you'd split SRH functionality in three parts? Core (default on),
lwtunnel (default off) and inline?

It seems to me that once you've done the work to enable the core code
to work when CONFIG_LWTUNNEL is off, you can just enable/disable the
LWT part of SRH depending on whether CONFIG_LWTUNNEL is compiled in or
not. That might save you a config option.


Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-10 Thread David Lebrun
On 11/10/2016 09:35 AM, Lorenzo Colitti wrote:
> Not sure how to fix this. The following makes IPv6 work again, but I
> suspect it mostly defeats the purpose of having SRH on by default:
> 
> +#ifdef CONFIG_LWTUNNEL
>  err = seg6_iptunnel_init();
>  if (err)
>  goto out_unregister_pernet;
> +#endif
> 
> Enabling CONFIG_LWTUNNEL also makes IPv6 work again.
> 
> The breakage was caught by the kernel test robot, but the message was
> not particularly scary:

Oops. The easiest fix I can think of is adding an option to
enable/disable seg6's LWT which would select CONFIG_LWTUNNEL. That would
still let the core SR processing be enabled by default.

Comments ?

David



signature.asc
Description: OpenPGP digital signature


Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-10 Thread Lorenzo Colitti
On Thu, Nov 10, 2016 at 10:40 AM, David Miller  wrote:
>
> Series applied, but I wonder if using a Kconfig knob for the INLINE thing
> is overkill.

This breaks IPv6 completely if CONFIG_LWTUNNEL is disabled. When that
happens, seg6_iptunnel_init fails with EOPNOTSUPP and the stack fails
to initialize:

=
NET: Registered protocol family 10
IPv6: Attempt to unregister permanent protocol 6
IPv6: Attempt to unregister permanent protocol 136
IPv6: Attempt to unregister permanent protocol 17
NET: Unregistered protocol family 10
=

Not sure how to fix this. The following makes IPv6 work again, but I
suspect it mostly defeats the purpose of having SRH on by default:

+#ifdef CONFIG_LWTUNNEL
 err = seg6_iptunnel_init();
 if (err)
 goto out_unregister_pernet;
+#endif

Enabling CONFIG_LWTUNNEL also makes IPv6 work again.

The breakage was caught by the kernel test robot, but the message was
not particularly scary:

http://marc.info/?l=linux-netdev&m=147848679207083&w=2


Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-10 Thread David Lebrun
On 11/10/2016 02:40 AM, David Miller wrote:
> Series applied, but I wonder if using a Kconfig knob for the INLINE thing
> is overkill.

Thanks :)

The Kconfig knob was a response to the concern that direct header
insertion breaks things. Moreover, if the IETF decides that direct
header insertion must be explicitely banned in rfc2460bis, then at least
we do not have a non-RFC compliant behavior by default.

David



signature.asc
Description: OpenPGP digital signature


Re: [PATCH net-next v5 0/9] net: add support for IPv6 Segment Routing

2016-11-09 Thread David Miller

Series applied, but I wonder if using a Kconfig knob for the INLINE thing
is overkill.