On Thu, Sep 12, 2013 at 06:59:13PM +0200, Mike Belopuhov wrote:
> > Ok, let's stop this.  I don't think you read what I replied before.  I
> > didn't say that we're static with if_indexes, just that we shouldn't
> > make it worse.
> >
> 
> or implement persistent indices in the snmpd itself maybe?
> 

Maybe.  But this would create another layer of abstraction.  And
if_index is not just used by SNMP.

> > I give up, but please read my next comment below.
> >
> >> >> > Isn't there any other way to do what you want without stopping to
> >> >> > reuse the index?  SNMP simply expects that if_indexes are fairly
> >> >> > static, linear, and without holes.  Why should we change that in
> >> >> > OpenBSD?  Is there any security reason to "randomize" the indexes -
> >> >> > No.
> >> >>
> >> >> or snmp can simply stop assuming things.  if_index wasn't created
> >> >> for snmp in the first place.
> >
> > Actually, I think this assumption is wrong.  I researched a little bit
> > in BSD history:
> >
> > - RFC 1066 from August 1988 is one of the early SNMP RFC that mention 
> > IfIndex
> >
> > - 4.3BSD-Tahoe from June 1988 doesn't have if_index, I also didn't find
> >   in other early BSDs.
> >
> > - 4.3BSD-Reno from June 1990 does have it.  You can even find a
> >   new comment "/*  XXX fast fix for SNMP, going away soon */" on top of 
> > if.h.
> >
> > So it seems that if_index was added _for_ SNMP.
> >
> 
> i believe this comment refers to the inclusion of sys/time.h.
> 

Yes, I know.  But see:

        1. 1988-06:     4.3BSD-Tahoe without if_index
        2. 1988-08:     SNMP
        3. 1990-06:     4.3BSD-Reno with if_index, mentioning SNMP in if.h.

I don't have the commit history, but this might indicate that there
was some work to support SNMP and many new fields in struct ifnet have
been added for SNMP.

http://minnie.tuhs.org/cgi-bin/utree.pl?file1=4.3BSD-Reno/src/sys/net/if.h&file2=4.3BSD-Tahoe/usr/src/sys/net/if.h&print=1

reyk

Reply via email to