Quoting Mats Erik Andersson (2015-07-17 13:04:59)
> Thursday den 16 July 2015 klockan 13:01 skrev Justus Winter detta:
> > 
> > >   * The hardware type of an adaper is encoded in the member
> > >     `ifr_hwaddr.sa_family' of `struct ifreq'. An ethernet
> > >     adapter will correctly state ARPHRD_ETHER (= 1), while
> > >     the loopback adapter `lo' will be in error with a value 4.
> > >     The correct value is ARPHRD_LOOPBACK (= 772), which is
> > >     in use by GNU/Linux. See the header <net/if_arp.h>.
> > >     The value 4 is ARPHRD_PRONET, the PROnet token ring!
> > 
> > That is surprising indeed.  A superficial look revealed that it should
> > indeed be set to ARPHRD_LOOPBACK:
> > 
> > % grep ARPHRD_LOOPBACK
> > pfinet/linux-src/include/linux/if_arp.h:#define ARPHRD_LOOPBACK   772       
> >       /* Loopback device              */
> > [...]
> > pfinet/loopback.c:        dev->type               = ARPHRD_LOOPBACK;
> 
> A possibly relevant observation: The obtained value 4 is
> identical to ARPHRD_LOOPBACK & 0x00ff. Is 'dev->type'
> of length 16 bits, i.e., a short integer like 'sa_family'?

Hmm, it is an `unsigned short' indeed, but that should be sufficient
to hold the value 772.  But it is plausible that the value is silently
truncated to 8 bit somewhere.

Justus


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: 
https://lists.debian.org/[email protected]

Reply via email to