On  6/05/10 11:34 PM, Peter Memishian wrote:
  >  In this case, a SIOCGIFHWADDR on foo0 for PF_INET will return
  >  details for the IPMP interface (i.e. an error because there is
  >  no such thing as a hardware address for an IPMP interface).
  >
  >  A SIOCGIFHWADDR on foo0 for PF_PACKET would return the
  >  hardware address associated with the physical interface
  >  that was rename to foo0.

Yes -- though established Solaris terminology considers the object a
"datalink" instead of "physical interface" in the PF_PACKET case.

  >  If an IP network interface could exist, without it having a
  >  datalink behind it, and have a physical address associated
  >  with it, then that would be returned. Whether or not that
  >  makes sense, is another matter and is not the subject of
  >  this case.

Yes.

  >  I think the correct summary is:
  >
  >  For PF_INET/PF_INET6, IP network interfaces are used. If no
  >  hardware address is available with the IP network interface
  >  then an error is returned. (This is what I meant by "it must
  >  be at least plumb'd", although perhaps that implied a datalink
  >  was involved when that isn't necessarily the case.)
  >
  >  For PF_PACKET, datalinks are used and the primary unicast MAC
  >  address is returned. (There is no scope within this ioctl, as
  >  it is currently defined, for anything else to be returned.)

Yes.

One final consideration: in the PF_INET / PF_INET6 case, if the interface
is e.g. only plumbed for PF_INET and one performs a PF_INET6
SIOCGIFHWADDR, will ENXIO be returned?  For consistency with with other
SIOC* ioctls I'd expect so, but it is not explicitly stated above.

Yes, it will.

Darren

_______________________________________________
opensolaris-arc mailing list
[email protected]

Reply via email to