当前位置: 技术问答>linux和unix
如何判断网卡是否使用NAPI方式
来源: 互联网 发布时间:2015-12-30
本文导语: 使用e1000网卡,怎么判断是否启用了NAPI模式 还有e1000最新的驱动能用在所有的e1000网卡上么? 我发现一个客户的e1000网卡驱动程序里没有CONFIG_E1000_NAPI宏,也没有e1000_clean函数. | 老的intel网卡驱动一...
使用e1000网卡,怎么判断是否启用了NAPI模式
还有e1000最新的驱动能用在所有的e1000网卡上么?
我发现一个客户的e1000网卡驱动程序里没有CONFIG_E1000_NAPI宏,也没有e1000_clean函数.
还有e1000最新的驱动能用在所有的e1000网卡上么?
我发现一个客户的e1000网卡驱动程序里没有CONFIG_E1000_NAPI宏,也没有e1000_clean函数.
|
老的intel网卡驱动一般都有
77 char e1000_driver_name[] = "e1000";
78 static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
79 #ifndef CONFIG_E1000_NAPI
80 #define DRIVERNAPI
81 #else
82 #define DRIVERNAPI "-NAPI"
83 #endif
84 #define DRV_VERSION "7.1.9"DRIVERNAPI
85 char e1000_driver_version[] = DRV_VERSION;
86 static char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
-------------------------------------------------------------------------------------
308 printk(KERN_INFO "%s - version %sn",
309 e1000_driver_string, e1000_driver_version);
310
311 printk(KERN_INFO "%sn", e1000_copyright);
-------------------------------------------------------------------------
而且
288 MODULE_AUTHOR("Intel Corporation, ");
289 MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver");
290 MODULE_LICENSE("GPL");
291 MODULE_VERSION(DRV_VERSION);
---------------------------------------------------------------------------
我看你的驱动似乎没有注册版本信息
这样的话你就只能根据
他的函数去判断了,比如netif_poll_enable
在驱动程序里面是这样的:
546 #ifdef CONFIG_E1000_NAPI
547 netif_poll_enable(netdev);
548 #endif
你objdump一下,看看是否有这个函数。
你说你的驱动没有e1000_clean函数,那他应该不是NAPI方式了。
77 char e1000_driver_name[] = "e1000";
78 static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
79 #ifndef CONFIG_E1000_NAPI
80 #define DRIVERNAPI
81 #else
82 #define DRIVERNAPI "-NAPI"
83 #endif
84 #define DRV_VERSION "7.1.9"DRIVERNAPI
85 char e1000_driver_version[] = DRV_VERSION;
86 static char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
-------------------------------------------------------------------------------------
308 printk(KERN_INFO "%s - version %sn",
309 e1000_driver_string, e1000_driver_version);
310
311 printk(KERN_INFO "%sn", e1000_copyright);
-------------------------------------------------------------------------
而且
288 MODULE_AUTHOR("Intel Corporation, ");
289 MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver");
290 MODULE_LICENSE("GPL");
291 MODULE_VERSION(DRV_VERSION);
---------------------------------------------------------------------------
我看你的驱动似乎没有注册版本信息
这样的话你就只能根据
他的函数去判断了,比如netif_poll_enable
在驱动程序里面是这样的:
546 #ifdef CONFIG_E1000_NAPI
547 netif_poll_enable(netdev);
548 #endif
你objdump一下,看看是否有这个函数。
你说你的驱动没有e1000_clean函数,那他应该不是NAPI方式了。