* route/max_size sysctl in ipv4 @ 2015-01-05 23:48 Ani Sinha 2015-01-06 0:36 ` David Miller 0 siblings, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-05 23:48 UTC (permalink / raw) To: netdev@vger.kernel.org Hi all : Please see : http://lxr.free-electrons.com/source/Documentation/networking/ip-sysctl.txt I am looking at the code and it looks like since the route cache for ipv4 was removed from the kernel, this sysctl parameter no longer serves the same purpose. It does not look like it is even used in the ipv4/route.c module. Is there an equivalent sysctl parameter limiting the number of route entries in the kernel? Or is there now no mechanism to limit the number of route entries? Please someone enlighten me. Thanks a lot in advance, ani ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-05 23:48 route/max_size sysctl in ipv4 Ani Sinha @ 2015-01-06 0:36 ` David Miller 2015-01-06 0:43 ` Ani Sinha 0 siblings, 1 reply; 22+ messages in thread From: David Miller @ 2015-01-06 0:36 UTC (permalink / raw) To: ani; +Cc: netdev From: Ani Sinha <ani@arista.com> Date: Mon, 5 Jan 2015 15:48:11 -0800 > I am looking at the code and it looks like since the route cache for > ipv4 was removed from the kernel, this sysctl parameter no longer > serves the same purpose. It does not look like it is even used in the > ipv4/route.c module. Is there an equivalent sysctl parameter limiting > the number of route entries in the kernel? Or is there now no > mechanism to limit the number of route entries? There is nothing to limit, since the cache was removed. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 0:36 ` David Miller @ 2015-01-06 0:43 ` Ani Sinha 2015-01-06 0:51 ` David Miller 0 siblings, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-06 0:43 UTC (permalink / raw) To: David Miller; +Cc: netdev@vger.kernel.org On Mon, Jan 5, 2015 at 4:36 PM, David Miller <davem@davemloft.net> wrote: > From: Ani Sinha <ani@arista.com> > Date: Mon, 5 Jan 2015 15:48:11 -0800 > >> I am looking at the code and it looks like since the route cache for >> ipv4 was removed from the kernel, this sysctl parameter no longer >> serves the same purpose. It does not look like it is even used in the >> ipv4/route.c module. Is there an equivalent sysctl parameter limiting >> the number of route entries in the kernel? Or is there now no >> mechanism to limit the number of route entries? > > There is nothing to limit, since the cache was removed. Shouldn't the documentation be updated to reflect that? Also what's the point of having a dummy variable that does nothing? Should we not simply remove it? ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 0:43 ` Ani Sinha @ 2015-01-06 0:51 ` David Miller 2015-01-06 0:56 ` Ani Sinha 2015-01-07 1:56 ` Ani Sinha 0 siblings, 2 replies; 22+ messages in thread From: David Miller @ 2015-01-06 0:51 UTC (permalink / raw) To: ani; +Cc: netdev From: Ani Sinha <ani@arista.com> Date: Mon, 5 Jan 2015 16:43:30 -0800 > On Mon, Jan 5, 2015 at 4:36 PM, David Miller <davem@davemloft.net> wrote: >> From: Ani Sinha <ani@arista.com> >> Date: Mon, 5 Jan 2015 15:48:11 -0800 >> >>> I am looking at the code and it looks like since the route cache for >>> ipv4 was removed from the kernel, this sysctl parameter no longer >>> serves the same purpose. It does not look like it is even used in the >>> ipv4/route.c module. Is there an equivalent sysctl parameter limiting >>> the number of route entries in the kernel? Or is there now no >>> mechanism to limit the number of route entries? >> >> There is nothing to limit, since the cache was removed. > > Shouldn't the documentation be updated to reflect that? Also what's > the point of having a dummy variable that does nothing? Should we not > simply remove it? There is nothing to update, the behavior is completely transparent. Absolutely no cache entries exist, therefore the limit cannot be reached. The sysctl is kept so that scripts reading it don't suddenly stop working. We can't just remove sysctl values. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 0:51 ` David Miller @ 2015-01-06 0:56 ` Ani Sinha 2015-01-06 12:41 ` Pádraig Brady 2015-01-07 1:56 ` Ani Sinha 1 sibling, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-06 0:56 UTC (permalink / raw) To: David Miller; +Cc: netdev@vger.kernel.org On Mon, Jan 5, 2015 at 4:51 PM, David Miller <davem@davemloft.net> wrote: > From: Ani Sinha <ani@arista.com> > Date: Mon, 5 Jan 2015 16:43:30 -0800 > >> On Mon, Jan 5, 2015 at 4:36 PM, David Miller <davem@davemloft.net> wrote: >>> From: Ani Sinha <ani@arista.com> >>> Date: Mon, 5 Jan 2015 15:48:11 -0800 >>> >>>> I am looking at the code and it looks like since the route cache for >>>> ipv4 was removed from the kernel, this sysctl parameter no longer >>>> serves the same purpose. It does not look like it is even used in the >>>> ipv4/route.c module. Is there an equivalent sysctl parameter limiting >>>> the number of route entries in the kernel? Or is there now no >>>> mechanism to limit the number of route entries? >>> >>> There is nothing to limit, since the cache was removed. >> >> Shouldn't the documentation be updated to reflect that? Also what's >> the point of having a dummy variable that does nothing? Should we not >> simply remove it? > > There is nothing to update, the behavior is completely transparent. > Absolutely no cache entries exist, therefore the limit cannot be > reached. I disagree. You are advertising a feature in an official documentation that simply does not exist for ipv4. This is very confusing. If I did not dig into the code, I wouldn't know that this particular knob is a noop since the time the route cache was removed. > > The sysctl is kept so that scripts reading it don't suddenly stop > working. We can't just remove sysctl values. > ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 0:56 ` Ani Sinha @ 2015-01-06 12:41 ` Pádraig Brady 2015-01-06 17:11 ` Ani Sinha 0 siblings, 1 reply; 22+ messages in thread From: Pádraig Brady @ 2015-01-06 12:41 UTC (permalink / raw) To: Ani Sinha, David Miller; +Cc: netdev@vger.kernel.org On 06/01/15 00:56, Ani Sinha wrote: > On Mon, Jan 5, 2015 at 4:51 PM, David Miller <davem@davemloft.net> wrote: >> From: Ani Sinha <ani@arista.com> >> Date: Mon, 5 Jan 2015 16:43:30 -0800 >> >>> On Mon, Jan 5, 2015 at 4:36 PM, David Miller <davem@davemloft.net> wrote: >>>> From: Ani Sinha <ani@arista.com> >>>> Date: Mon, 5 Jan 2015 15:48:11 -0800 >>>> >>>>> I am looking at the code and it looks like since the route cache for >>>>> ipv4 was removed from the kernel, this sysctl parameter no longer >>>>> serves the same purpose. It does not look like it is even used in the >>>>> ipv4/route.c module. Is there an equivalent sysctl parameter limiting >>>>> the number of route entries in the kernel? Or is there now no >>>>> mechanism to limit the number of route entries? >>>> >>>> There is nothing to limit, since the cache was removed. >>> >>> Shouldn't the documentation be updated to reflect that? Also what's >>> the point of having a dummy variable that does nothing? Should we not >>> simply remove it? >> >> There is nothing to update, the behavior is completely transparent. >> Absolutely no cache entries exist, therefore the limit cannot be >> reached. > > I disagree. You are advertising a feature in an official documentation > that simply does not exist for ipv4. This is very confusing. If I did > not dig into the code, I wouldn't know that this particular knob is a > noop since the time the route cache was removed. You can't change APIs with impunity. >> The sysctl is kept so that scripts reading it don't suddenly stop >> working. We can't just remove sysctl values. Perhaps /proc/sys/net/ipv4/route/max_size should always return 0 when read, and discard written values? thanks, Pádraig ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 12:41 ` Pádraig Brady @ 2015-01-06 17:11 ` Ani Sinha 2015-01-06 18:09 ` Eric Dumazet 0 siblings, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-06 17:11 UTC (permalink / raw) To: Pádraig Brady; +Cc: David Miller, netdev@vger.kernel.org On Tue, Jan 6, 2015 at 4:41 AM, Pádraig Brady <P@draigbrady.com> wrote: > On 06/01/15 00:56, Ani Sinha wrote: >> On Mon, Jan 5, 2015 at 4:51 PM, David Miller <davem@davemloft.net> wrote: >>> From: Ani Sinha <ani@arista.com> >>> Date: Mon, 5 Jan 2015 16:43:30 -0800 >>> >>>> On Mon, Jan 5, 2015 at 4:36 PM, David Miller <davem@davemloft.net> wrote: >>>>> From: Ani Sinha <ani@arista.com> >>>>> Date: Mon, 5 Jan 2015 15:48:11 -0800 >>>>> >>>>>> I am looking at the code and it looks like since the route cache for >>>>>> ipv4 was removed from the kernel, this sysctl parameter no longer >>>>>> serves the same purpose. It does not look like it is even used in the >>>>>> ipv4/route.c module. Is there an equivalent sysctl parameter limiting >>>>>> the number of route entries in the kernel? Or is there now no >>>>>> mechanism to limit the number of route entries? >>>>> >>>>> There is nothing to limit, since the cache was removed. >>>> >>>> Shouldn't the documentation be updated to reflect that? Also what's >>>> the point of having a dummy variable that does nothing? Should we not >>>> simply remove it? >>> >>> There is nothing to update, the behavior is completely transparent. >>> Absolutely no cache entries exist, therefore the limit cannot be >>> reached. >> >> I disagree. You are advertising a feature in an official documentation >> that simply does not exist for ipv4. This is very confusing. If I did >> not dig into the code, I wouldn't know that this particular knob is a >> noop since the time the route cache was removed. > > You can't change APIs with impunity. > >>> The sysctl is kept so that scripts reading it don't suddenly stop >>> working. We can't just remove sysctl values. > > Perhaps /proc/sys/net/ipv4/route/max_size should always return 0 when read, > and discard written values? Why can't se simply change the documentation to reflect the fact that this sysctl is no longer in operation? ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 17:11 ` Ani Sinha @ 2015-01-06 18:09 ` Eric Dumazet 2015-01-06 20:05 ` Ani Sinha 0 siblings, 1 reply; 22+ messages in thread From: Eric Dumazet @ 2015-01-06 18:09 UTC (permalink / raw) To: Ani Sinha; +Cc: Pádraig Brady, David Miller, netdev@vger.kernel.org On Tue, 2015-01-06 at 09:11 -0800, Ani Sinha wrote: > Why can't se simply change the documentation to reflect the fact that > this sysctl is no longer in operation? It is still in operation for IPv6 Looks like you propose to update the documentation. This is great ! Why don't you send an official patch ? ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 18:09 ` Eric Dumazet @ 2015-01-06 20:05 ` Ani Sinha 0 siblings, 0 replies; 22+ messages in thread From: Ani Sinha @ 2015-01-06 20:05 UTC (permalink / raw) To: Eric Dumazet; +Cc: Pádraig Brady, David Miller, netdev@vger.kernel.org On Tue, Jan 6, 2015 at 10:09 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > On Tue, 2015-01-06 at 09:11 -0800, Ani Sinha wrote: > >> Why can't se simply change the documentation to reflect the fact that >> this sysctl is no longer in operation? > > It is still in operation for IPv6 > > Looks like you propose to update the documentation. > > This is great ! > > Why don't you send an official patch ? Just did. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-06 0:51 ` David Miller 2015-01-06 0:56 ` Ani Sinha @ 2015-01-07 1:56 ` Ani Sinha 2015-01-08 1:25 ` Ani Sinha 1 sibling, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-07 1:56 UTC (permalink / raw) To: David Miller; +Cc: netdev@vger.kernel.org On Mon, Jan 5, 2015 at 4:51 PM, David Miller <davem@davemloft.net> wrote: > The sysctl is kept so that scripts reading it don't suddenly stop > working. We can't just remove sysctl values. Interestingly, one of our scripts did break. It broke because now this sysctl is only available in the global net namespace and not in the child namespaces. If not breaking scripts is the fundamental logic in keeping in sysctl intact, would you guys be open to accepting a patch where we make this sysctl available for all net namespaces? ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-07 1:56 ` Ani Sinha @ 2015-01-08 1:25 ` Ani Sinha 2015-01-08 2:19 ` Eric Dumazet 0 siblings, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-08 1:25 UTC (permalink / raw) To: David Miller; +Cc: netdev@vger.kernel.org hey guys, On Tue, Jan 6, 2015 at 5:56 PM, Ani Sinha <ani@arista.com> wrote: > On Mon, Jan 5, 2015 at 4:51 PM, David Miller <davem@davemloft.net> wrote: > >> The sysctl is kept so that scripts reading it don't suddenly stop >> working. We can't just remove sysctl values. > > Interestingly, one of our scripts did break. It broke because now this > sysctl is only available in the global net namespace and not in the > child namespaces. If not breaking scripts is the fundamental logic in > keeping in sysctl intact, would you guys be open to accepting a patch > where we make this sysctl available for all net namespaces? Any thoughts on this? ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 1:25 ` Ani Sinha @ 2015-01-08 2:19 ` Eric Dumazet 2015-01-08 3:40 ` Ani Sinha 0 siblings, 1 reply; 22+ messages in thread From: Eric Dumazet @ 2015-01-08 2:19 UTC (permalink / raw) To: Ani Sinha; +Cc: David Miller, netdev@vger.kernel.org On Wed, 2015-01-07 at 17:25 -0800, Ani Sinha wrote: > hey guys, > > On Tue, Jan 6, 2015 at 5:56 PM, Ani Sinha <ani@arista.com> wrote: > > On Mon, Jan 5, 2015 at 4:51 PM, David Miller <davem@davemloft.net> wrote: > > > >> The sysctl is kept so that scripts reading it don't suddenly stop > >> working. We can't just remove sysctl values. > > > > Interestingly, one of our scripts did break. It broke because now this > > sysctl is only available in the global net namespace and not in the > > child namespaces. If not breaking scripts is the fundamental logic in > > keeping in sysctl intact, would you guys be open to accepting a patch > > where we make this sysctl available for all net namespaces? > > Any thoughts on this? AFAIK, this sysctl (and others) always have been global. Only /proc/sys/net/ipv4/route/flush is per ns namespaces usage can indeed remove some sysctl : Only initial namespace show them. Presumably the global sysctl could be shadowed as read only, but still some scripts expecting them being rw would break anyway. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 2:19 ` Eric Dumazet @ 2015-01-08 3:40 ` Ani Sinha 2015-01-08 5:41 ` Eric Dumazet 0 siblings, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-08 3:40 UTC (permalink / raw) To: Eric Dumazet; +Cc: David Miller, netdev@vger.kernel.org On Wed, Jan 7, 2015 at 6:19 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > On Wed, 2015-01-07 at 17:25 -0800, Ani Sinha wrote: >> hey guys, >> >> On Tue, Jan 6, 2015 at 5:56 PM, Ani Sinha <ani@arista.com> wrote: >> > On Mon, Jan 5, 2015 at 4:51 PM, David Miller <davem@davemloft.net> wrote: >> > >> >> The sysctl is kept so that scripts reading it don't suddenly stop >> >> working. We can't just remove sysctl values. >> > >> > Interestingly, one of our scripts did break. It broke because now this >> > sysctl is only available in the global net namespace and not in the >> > child namespaces. If not breaking scripts is the fundamental logic in >> > keeping in sysctl intact, would you guys be open to accepting a patch >> > where we make this sysctl available for all net namespaces? >> >> Any thoughts on this? > > AFAIK, this sysctl (and others) always have been global. > > Only /proc/sys/net/ipv4/route/flush is per ns my apologies for not conveying my thoughts clearer. Eric, you are correct. However, notice that except /proc/sys/net/ipv4/route/flush, rest of the sysctls are not available from a child net namespace. > > namespaces usage can indeed remove some sysctl : > Only initial namespace show them. yes, this is what I am talking about. > > Presumably the global sysctl could be shadowed as read only, but still > some scripts expecting them being rw would break anyway. true but at least those scripts which does only read the values will continue to function in a child namespace. In our case, our script only reads the max_size sysctl but since it operates from within a child namespace, it doesn't find it. thoughts? ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 3:40 ` Ani Sinha @ 2015-01-08 5:41 ` Eric Dumazet 2015-01-08 18:39 ` Ani Sinha 0 siblings, 1 reply; 22+ messages in thread From: Eric Dumazet @ 2015-01-08 5:41 UTC (permalink / raw) To: Ani Sinha; +Cc: David Miller, netdev@vger.kernel.org On Wed, 2015-01-07 at 19:40 -0800, Ani Sinha wrote: > true but at least those scripts which does only read the values will > continue to function in a child namespace. In our case, our script > only reads the max_size sysctl but since it operates from within a > child namespace, it doesn't find it. > > thoughts? Fix your script, or do not use namespaces. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 5:41 ` Eric Dumazet @ 2015-01-08 18:39 ` Ani Sinha 2015-01-08 19:03 ` Eric Dumazet 0 siblings, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-08 18:39 UTC (permalink / raw) To: Eric Dumazet; +Cc: David Miller, netdev@vger.kernel.org On Wed, Jan 7, 2015 at 9:41 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > On Wed, 2015-01-07 at 19:40 -0800, Ani Sinha wrote: > >> true but at least those scripts which does only read the values will >> continue to function in a child namespace. In our case, our script >> only reads the max_size sysctl but since it operates from within a >> child namespace, it doesn't find it. >> >> thoughts? > > Fix your script, But the whole point of keeping this sysctl still around is not to break the userland scripts! If we are trying to achieve that, I think we should go one step further and make sure that the sysctl is still available for reading even in child namespaces (as it used to be the case). ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 18:39 ` Ani Sinha @ 2015-01-08 19:03 ` Eric Dumazet 2015-01-08 20:13 ` Ani Sinha 0 siblings, 1 reply; 22+ messages in thread From: Eric Dumazet @ 2015-01-08 19:03 UTC (permalink / raw) To: Ani Sinha; +Cc: David Miller, netdev@vger.kernel.org On Thu, 2015-01-08 at 10:39 -0800, Ani Sinha wrote: > But the whole point of keeping this sysctl still around is not to > break the userland scripts! If we are trying to achieve that, I think > we should go one step further and make sure that the sysctl is still > available for reading even in child namespaces (as it used to be the > case). network namespaces make some sysctl disappear. That is how it is since day 0. Some scripts might even use this knowledge. It is too late to change something now. Nobody but you ever complained. If you want to use network namespaces, you have to adapt your scripts. Nobody claimed network namespaces were totally transparent. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 19:03 ` Eric Dumazet @ 2015-01-08 20:13 ` Ani Sinha 2015-01-08 20:18 ` Eric Dumazet 2015-01-09 18:47 ` Cong Wang 0 siblings, 2 replies; 22+ messages in thread From: Ani Sinha @ 2015-01-08 20:13 UTC (permalink / raw) To: Eric Dumazet; +Cc: David Miller, netdev@vger.kernel.org On Thu, Jan 8, 2015 at 11:03 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > > It is too late to change something now. Nobody but you ever complained. Well, that is a strange argument! Nobody complained for a long time that live capturing with vlan tagged packets were broken in tcpdump because how the kernel started putting the tags in the aux data. But someone eventually one day did notice that the issue was brought up. > > If you want to use network namespaces, you have to adapt your scripts. > > Nobody claimed network namespaces were totally transparent. > I see. I am going back to an old thread here where Linus says that the #1 rule is: ""We don't regress user space" https://lkml.org/lkml/2013/7/16/565 Breaking scripts seems to me to fall into the category of regressing userspace. Or may be we can treat these sysctls more softly since they are not strictly speaking linux ABIs. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 20:13 ` Ani Sinha @ 2015-01-08 20:18 ` Eric Dumazet 2015-01-09 18:47 ` Cong Wang 1 sibling, 0 replies; 22+ messages in thread From: Eric Dumazet @ 2015-01-08 20:18 UTC (permalink / raw) To: Ani Sinha; +Cc: David Miller, netdev@vger.kernel.org On Thu, 2015-01-08 at 12:13 -0800, Ani Sinha wrote: > I see. I am going back to an old thread here where Linus says that the > #1 rule is: > > ""We don't regress user space" > > https://lkml.org/lkml/2013/7/16/565 Thats totally different. Look, I am going to stop the discussion here, because it seems you know better than me. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-08 20:13 ` Ani Sinha 2015-01-08 20:18 ` Eric Dumazet @ 2015-01-09 18:47 ` Cong Wang 2015-01-09 19:08 ` Ani Sinha 1 sibling, 1 reply; 22+ messages in thread From: Cong Wang @ 2015-01-09 18:47 UTC (permalink / raw) To: Ani Sinha; +Cc: Eric Dumazet, David Miller, netdev@vger.kernel.org On Thu, Jan 8, 2015 at 12:13 PM, Ani Sinha <ani@arista.com> wrote: > On Thu, Jan 8, 2015 at 11:03 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: >> >> If you want to use network namespaces, you have to adapt your scripts. >> >> Nobody claimed network namespaces were totally transparent. >> > > I see. I am going back to an old thread here where Linus says that the > #1 rule is: > > ""We don't regress user space" > > https://lkml.org/lkml/2013/7/16/565 > > Breaking scripts seems to me to fall into the category of regressing > userspace. Or may be we can treat these sysctls more softly since they > are not strictly speaking linux ABIs. As Eric said, it has been like this since day 0, why you still think we break something? It is you who misunderstands the interface not us who break your script. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-09 18:47 ` Cong Wang @ 2015-01-09 19:08 ` Ani Sinha 2015-01-09 19:37 ` Cong Wang 0 siblings, 1 reply; 22+ messages in thread From: Ani Sinha @ 2015-01-09 19:08 UTC (permalink / raw) To: Cong Wang; +Cc: Eric Dumazet, David Miller, netdev@vger.kernel.org On Fri, Jan 9, 2015 at 10:47 AM, Cong Wang <cwang@twopensource.com> wrote: > On Thu, Jan 8, 2015 at 12:13 PM, Ani Sinha <ani@arista.com> wrote: >> On Thu, Jan 8, 2015 at 11:03 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: >>> >>> If you want to use network namespaces, you have to adapt your scripts. >>> >>> Nobody claimed network namespaces were totally transparent. >>> >> >> I see. I am going back to an old thread here where Linus says that the >> #1 rule is: >> >> ""We don't regress user space" >> >> https://lkml.org/lkml/2013/7/16/565 >> >> Breaking scripts seems to me to fall into the category of regressing >> userspace. Or may be we can treat these sysctls more softly since they >> are not strictly speaking linux ABIs. > > As Eric said, it has been like this since day 0, I beg to differ. It has not been like this for that particular sysctl from day 0. That sysctl was available from a child namespace and now it isn't. why you still think > we break something? It is you who misunderstands the interface > not us who break your script. Perhaps. What I am truly confused about is : - We are keeping a sysctl interface that does absolutely nothing in the kernel and is completely useless in case some userland scripts/tools are rendered broken from it's removal. - surprisingly, we contradict ourselves when we let scripts break when running from a child namespace because the same sysctl is no longer available! When the source is available for a script or tool, it's easy to change the code to conform to the new semantics. However, for old binaries for which we do not have any source, it's not easy or is impossible to fix them. I rest my case. We will of course find a way to fix our code if that is what netdev thinks is the way to go. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-09 19:08 ` Ani Sinha @ 2015-01-09 19:37 ` Cong Wang 2015-01-09 21:23 ` Ani Sinha 0 siblings, 1 reply; 22+ messages in thread From: Cong Wang @ 2015-01-09 19:37 UTC (permalink / raw) To: Ani Sinha; +Cc: Eric Dumazet, David Miller, netdev@vger.kernel.org On Fri, Jan 9, 2015 at 11:08 AM, Ani Sinha <ani@arista.com> wrote: > > Perhaps. What I am truly confused about is : > > - We are keeping a sysctl interface that does absolutely nothing in > the kernel and is completely useless in case some userland > scripts/tools are rendered broken from it's removal. I am all for getting rid of it, sane script should always check the sysctl existence first. I think we did remove some sysctl's from kernel before. > > - surprisingly, we contradict ourselves when we let scripts break when > running from a child namespace because the same sysctl is no longer > available! > I am not sure how exactly your script is broken, but it should test the existence of any /proc file before reading it, even when you don't use netns, because this could be a new sysctl introduced recently (probably not the case for ip_rt_max_size, but you get my point). ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: route/max_size sysctl in ipv4 2015-01-09 19:37 ` Cong Wang @ 2015-01-09 21:23 ` Ani Sinha 0 siblings, 0 replies; 22+ messages in thread From: Ani Sinha @ 2015-01-09 21:23 UTC (permalink / raw) To: Cong Wang; +Cc: Eric Dumazet, David Miller, netdev@vger.kernel.org On Fri, Jan 9, 2015 at 11:37 AM, Cong Wang <cwang@twopensource.com> wrote: > On Fri, Jan 9, 2015 at 11:08 AM, Ani Sinha <ani@arista.com> wrote: >> >> Perhaps. What I am truly confused about is : >> >> - We are keeping a sysctl interface that does absolutely nothing in >> the kernel and is completely useless in case some userland >> scripts/tools are rendered broken from it's removal. > > I am all for getting rid of it, sane script should always check > the sysctl existence first. I think we did remove some sysctl's > from kernel before. I'd be much happier if things break uniformly everywhere - within and outside namespaces. Besides, keeping a useless sysctl around that does nothing is confusing and error prone, to say the least. If we do decide to keep the sysctl around, I beg that we at least update the documentation to reflect the true fact. I have already sent a patch for this. ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2015-01-09 21:24 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-01-05 23:48 route/max_size sysctl in ipv4 Ani Sinha 2015-01-06 0:36 ` David Miller 2015-01-06 0:43 ` Ani Sinha 2015-01-06 0:51 ` David Miller 2015-01-06 0:56 ` Ani Sinha 2015-01-06 12:41 ` Pádraig Brady 2015-01-06 17:11 ` Ani Sinha 2015-01-06 18:09 ` Eric Dumazet 2015-01-06 20:05 ` Ani Sinha 2015-01-07 1:56 ` Ani Sinha 2015-01-08 1:25 ` Ani Sinha 2015-01-08 2:19 ` Eric Dumazet 2015-01-08 3:40 ` Ani Sinha 2015-01-08 5:41 ` Eric Dumazet 2015-01-08 18:39 ` Ani Sinha 2015-01-08 19:03 ` Eric Dumazet 2015-01-08 20:13 ` Ani Sinha 2015-01-08 20:18 ` Eric Dumazet 2015-01-09 18:47 ` Cong Wang 2015-01-09 19:08 ` Ani Sinha 2015-01-09 19:37 ` Cong Wang 2015-01-09 21:23 ` Ani Sinha
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).