[dpdk-dev] How to use ixgbe module log?

Burakov, Anatoly anatoly.burakov at intel.com
Fri Sep 29 10:38:18 CEST 2017


On 29-Sep-17 2:42 AM, Sam wrote:
> My question is not clear. Actually ixgbevf driver in my system is kernel 
> module, like this:
> 
> [root at yf-mos-corp-host175 ~]# modinfo ixgbevf
> filename:      
>   /lib/modules/3.10.0-514.10.2.el7.mt20170307.x86_64/kernel/drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko
> version:        2.12.1-k-rh7.3
> license:        GPL
> description:    Intel(R) 10 Gigabit Virtual Function Network Driver
> author:         Intel Corporation, <linux.nics at intel.com 
> <mailto:linux.nics at intel.com>>
> rhelversion:    7.3
> srcversion:     C9F11E41E5F60ADED5673E1
> alias:          pci:v00008086d000015A9sv*sd*bc*sc*i*
> alias:          pci:v00008086d000015A8sv*sd*bc*sc*i*
> alias:          pci:v00008086d00001564sv*sd*bc*sc*i*
> alias:          pci:v00008086d00001565sv*sd*bc*sc*i*
> alias:          pci:v00008086d00001530sv*sd*bc*sc*i*
> alias:          pci:v00008086d00001515sv*sd*bc*sc*i*
> alias:          pci:v00008086d0000152Esv*sd*bc*sc*i*
> alias:          pci:v00008086d000010EDsv*sd*bc*sc*i*
> depends:
> intree:         Y
> vermagic:       3.10.0-514.10.2.el7.mt20170307.x86_64 SMP mod_unload 
> modversions
> signer:         CentOS Linux kernel signing key
> sig_key:        44:C9:F5:E3:67:CB:A0:1D:73:A5:17:C8:70:7B:BA:58:FA:FD:7E:30
> sig_hashalgo:   sha256
> parm:           debug:Debug level (0=none,...,16=all) (int)
> 
> and I use dpdk_nic_bind with --driver option to bind netdevice with 
> ixgbevf kernel driver. So I think I use ixgbevf kernel module which is 
> distributed with kernel, and my kernel is:
> 
> 3.10.0-514.10.2.el7
> 
> 
> 2017-09-28 19:54 GMT+08:00 Burakov, Anatoly <anatoly.burakov at intel.com 
> <mailto:anatoly.burakov at intel.com>>:
> 
>     On 28-Sep-17 11:26 AM, Sam wrote:
> 
>         Hi all,
> 
>         I'm working on ixgbe, I want to enable "PMD_RX_LOG" and
>         "PMD_TX_LOG", how
>         to do  this?
> 
>         As for normal application, I could use --log-level param to
>         start, but
>         ixgbe is kernel module, how to do this?
> 
>         Thank you~
> 
> 
>     Hi Sam,
> 
>     In DPDK, ixgbe is not a kernel module - these are customized,
>     userspace drivers. In order to enable RX and TX logging,
>     corresponding config options should be set at compile time. For
>     example, if you want to enable RX/TX logging for IXGBE driver,
>     here's a rough list of steps you need to do:
> 
>     1) create a custom config file in config/ directory. Copy whatever
>     it is that you're using for your application (e.g.
>     defconfig_x86_64-native-linuxapp-gcc), and name it something
>     starting with defconfig_ (e.g. defconfig_myconfig)
>     2) Set CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX and
>     CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX (and whatever other options you may
>     need, see [1] and [2]) to "y" in your custom config
>     3) do "make config T=myconfig && make" (or whatever other command
>     you use to build/install DPDK - make sure to specify your custom
>     config as target)
> 
>     After that, you should be able to see RX/TX logs in DPDK applications.
> 
>     [1] http://dpdk.org/browse/dpdk/tree/config/common_base#n171
>     <http://dpdk.org/browse/dpdk/tree/config/common_base#n171>
>     [2] http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_logs.h
>     <http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_logs.h>
> 
>     -- 
>     Thanks,
>     Anatoly
> 
> 
Hi Sam,

I'm not too familiar with how it works with kernel drivers (DPDK mailing 
list is not exactly the right place to ask :) ), but from cursory 
googling and looking at ixgbevf source code, this is probably achieved 
either through ethtool --msglvl flag, or through recompiling ixgbevf 
with debug output enabled. You might want to look at ixgbevf source code 
and see which particular debugging messages you're interested in, and 
figure out how to enable them (i.e. if they're wrapped in hw_dbg() 
macros you'll have to recompile the driver, otherwise you may be able to 
get them through ethtool).

-- 
Thanks,
Anatoly


More information about the dev mailing list