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