Re: /proc/sys/net/ipv[46]/conf/ issue unsolved

From: Neil Horman
Date: Tue Feb 13 2007 - 15:16:29 EST


On Tue, Feb 13, 2007 at 02:43:32PM -0500, Vlad Yasevich wrote:
> Neil Horman wrote:
> >On Tue, Feb 13, 2007 at 03:29:04PM +0200, Hasso Tepper wrote:
> >>There is long standing issue in kernel which makes using /etc/sysctl.conf
> >>useless for boottime configuration of specific interface properties and
> >>breaks probably any software relying on unconditional existence of the
> >>conf trees like it was in previous kernels (I alone have written several
> >>pieces of such software). It's broken AFAIK from 2.6.15. There has been
> >>several notes about issue in the list, but issue haven't got any (at least
> >>efficient) attention from developers.
> >>
> >>The current behaviour bites users in many ways and breaks several use
> >>cases.
> >>I asked several times in the past "what I should do now?" question, but
> >>got no clear answer.
> >>
> >>References:
> >>http://marc.theaimsgroup.com/?l=linux-netdev&m=115685059625467&w=2
> >>http://marc.theaimsgroup.com/?l=linux-netdev&m=115690828822486&w=2
> >>https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169809
> >>
> >>Is there any chance this will be fixed or at least clear position is
> >>taken by developers? Breaking userspace applications is declared nonono
> >>several times in the past ... I'm not even against breaking it if there
> >>is _very_ good reason to do it. Ok, but I want to know how userspace is
> >>meant to behave now. I can't continue using crappy workarounds.
> >>
> >Can't this simply be fixed by adding a custom udev rule? Correct me if I'm
> >wrong, but the only reason that interfaces come up automatically after
> >their
> >appropriate module is inserted is because most distos udev rules issue an
> >ifup
> >$DEVICE when they get a creation event for $DEVICE. Why not add a custom
> >rule
> >in for net device creation events to set appropriate sysctl values before
> >the
> >ifup is issued.
> >
>
> You can't. The /proc/sys/conf/eth<x>/ structure appears when the
> interface is marked UP. At this point, if protocol modules are already
> loaded, your configuration parameters are already set.
>
> I was going to ask.. How are you testing Optimistic DAD patch. The
> only way I could do it was to set /proc/sys/conf/default/ipv6 entry.
>
I make a change in my patch before I post, to default it to on, rather than to
off. Although I did that for convienience, not necessity. I didn't realize
those files didn't show up until the interface was marked as up. That seems
horribly broken to me. We should definately have some registered file at
creation time, perhaps create the files when register_netdev is called and put
them in /proc/sys/ipv4/conf/offline/<interface>/*, and move them
conf/<interface> when IFF_UP is set?

Neil

> -vlad
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/