On Wed, Dec 9, 2009 at 12:22 PM, Tom Chen <[email protected]> wrote:
> Hello,
>
> Our 10G network adapter has multiple MAC addresses, one factory default and 
> several alternatives. I am wondering how to support multiple mac addresses in 
> Solaris GLDv3 driver? Is Crossbow feature required?

You need to use the GLDv3 interfaces and do the following:
     Implement a function that takes (void *arg, uint_t naddr, uint8_t
*addr) as arguments, and populates *addr with the value of MAC address
'naddr'.
     Implement the get capability callback in your mac_callbacks
struct, as well as set the MC_GETCAPAB flag.  The callback should when
bassed the MAC_CAPAB_MULTIFACTADDR capability return the number of
addresses and the function pointer to the above function.


Don't know if it's the best example, but
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/nxge/nxge_main.c#330
and 
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/nxge/nxge_main.c#nxge_m_getcapab
provides an example of this.
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to