tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: if_flags



  I'd like to add some new IFF_ flags.  But if_flags is short, and all 16
  bits are already in use.

Many others have the same sorts of feelings.

I did this once, hackishly, in private code by adding if_flags2 to
ifreq, stealing the pad, and thus maintaining compatibility sort of.

Two thoughts:

  how to do binary compat for the field becoming 32 bits.  I am not sure
  how much needs to be versioned.

  Are you thinking of bringing this up with the FreeBSD, OpenBSD and
  Dragonfly folks?  It would be nice to keep the API the same among
  *BSD.  I have no idea if there is a Darwin community any more, but
  perhaps someone from Apple is listening.

In quagga the issue has come up that Linux and maybe Solaris treat
IFF_RUNNING differently.  The historical BSD usage is that it's an
internal "resources have been allocated" flag, and not useful to user
space.  So they have repurposed it for link detect, but can only
represent down and [up|can't-tell], rather than the BSD link detect
interface's ability to have all three.

In my private work, I added a flag SEMIBROADCAST that was set on
BROADCAST interfaces that didn't have the semantics of a full
connectivity matrix.  An example is 802.11 IBSS mode, but BSS mode is
not SEMIBROADCAST.

Attachment: pgpMy45CXStIr.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index