MAC_VERSION is probably wrong. :-) The version number bumped in build 106, so you need to use compatible source and binaries... this is not a binary-portable interface yet, since GLDv3 is not a documented API yet.

   - Garrett

Somnath kotur wrote:
Hi,
     I'm currently writing GLDv3 driver for my NIC (would amount to porting my 
own linux driver for the same)

In my attach routine ,after basic mapping of all reqd BAR registers and all the other basic init routines reqd for my driver,when i attempt to register with the MAC module , the api call below fails
mac_register_t *macp;
        .
        .
        .
if ((macp = mac_alloc(MAC_VERSION)) == NULL){
        cmn_err(CE_WARN,"%s:mac_alloc failed\n",__FUNCTION__);
        return DDI_FAILURE;
    }

I even saw the src code for mac_alloc and apart  from checking for the above 
MAC_VERSION it just does a kmem_alloc() and returns the memory, I attempted 
this on 2 different systems but with same OS installed and it failed on 
both.Wondering if it's anything to do with my installation?

Below lies the OS details

-bash-3.00# cat /etc/release Solaris 10 10/08 s10x_u6wos_07b X86
           Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                            Assembled 27 October 2008

bash-3.00# uname -a
SunOS se 5.10 Generic_137138-09 i86pc i386 i86pc

bash-3.00# modinfo | grep mac
 60 ffffffffefe63000   4070   -   1  mac (MAC Services v1.7)
162 fffffffff0bb28b0    dc0   -   1  mac_ether (Ethernet MAC plugin 1.1)




I am linking my driver module as follows:
ld $(LDFLAGS) -dy -N"misc/mac" -N"misc/dld" -N"drv/ip"  -o <mydriver_name>


Any ideas what could be wrong?

Thanks
Som





_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to