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]