DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] How to use ixgbe module log?
@ 2017-09-28 10:26 Sam
  2017-09-28 11:54 ` Burakov, Anatoly
  0 siblings, 1 reply; 4+ messages in thread
From: Sam @ 2017-09-28 10:26 UTC (permalink / raw)
  To: dev

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~

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] How to use ixgbe module log?
  2017-09-28 10:26 [dpdk-dev] How to use ixgbe module log? Sam
@ 2017-09-28 11:54 ` Burakov, Anatoly
  2017-09-29  1:42   ` Sam
  0 siblings, 1 reply; 4+ messages in thread
From: Burakov, Anatoly @ 2017-09-28 11:54 UTC (permalink / raw)
  To: dev

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
[2] http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_logs.h

-- 
Thanks,
Anatoly

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] How to use ixgbe module log?
  2017-09-28 11:54 ` Burakov, Anatoly
@ 2017-09-29  1:42   ` Sam
  2017-09-29  8:38     ` Burakov, Anatoly
  0 siblings, 1 reply; 4+ messages in thread
From: Sam @ 2017-09-29  1:42 UTC (permalink / raw)
  To: Burakov, Anatoly; +Cc: dev

My question is not clear. Actually ixgbevf driver in my system is kernel
module, like this:

[root@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@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@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
> [2] http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_logs.h
>
> --
> Thanks,
> Anatoly
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] How to use ixgbe module log?
  2017-09-29  1:42   ` Sam
@ 2017-09-29  8:38     ` Burakov, Anatoly
  0 siblings, 0 replies; 4+ messages in thread
From: Burakov, Anatoly @ 2017-09-29  8:38 UTC (permalink / raw)
  To: Sam; +Cc: dev

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@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@intel.com 
> <mailto:linux.nics@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@intel.com 
> <mailto:anatoly.burakov@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-09-29  8:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-28 10:26 [dpdk-dev] How to use ixgbe module log? Sam
2017-09-28 11:54 ` Burakov, Anatoly
2017-09-29  1:42   ` Sam
2017-09-29  8:38     ` Burakov, Anatoly

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).