> 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.

-- 
meem
_______________________________________________
opensolaris-arc mailing list
[email protected]

Reply via email to