Hi Paul, > -----Original Message----- > From: Paul Menzel <pmen...@molgen.mpg.de> > Sent: Wednesday, March 16, 2022 11:04 AM > To: Jakub Kicinski <k...@kernel.org>; Michal Kubecek <mkube...@suse.cz> > Cc: Ariel Elior <ael...@marvell.com>; Sudarsana Reddy Kalluru > <skall...@marvell.com>; Manish Chopra <mani...@marvell.com>; > net...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; > it+net...@molgen.mpg.de > Subject: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than > 0x7fff > > External Email > > ---------------------------------------------------------------------- > Dear Jakub, > > > Sorry, one more addition. > > Am 16.03.22 um 06:16 schrieb Paul Menzel: > > > Am 16.03.22 um 02:35 schrieb Jakub Kicinski: > >> On Tue, 15 Mar 2022 22:58:57 +0100 Paul Menzel wrote: > >>> On the POWER8 server IBM S822LC (ppc64le), I am unable to set the > >>> message level for the network device to 0x0100000 but it fails. > >>> > >>> $ sudo ethtool -s enP1p1s0f2 msglvl 0x0100000 > >>> netlink error: cannot modify bits past kernel bitset size > >>> (offset 56) > >>> netlink error: Invalid argument > >>> > >>> Below is more information. 0x7fff is the largest value I am able to set. > >>> > >>> ``` > >>> $ sudo ethtool -i enP1p1s0f2 > >>> driver: bnx2x > >>> version: 5.17.0-rc7+ > >>> firmware-version: bc 7.10.4 > >>> expansion-rom-version: > >>> bus-info: 0001:01:00.2 > >>> supports-statistics: yes > >>> supports-test: yes > >>> supports-eeprom-access: yes > >>> supports-register-dump: yes > >>> supports-priv-flags: yes > >>> $ sudo ethtool -s enP1p1s0f2 msglvl 0x7fff $ sudo ethtool enP1p1s0f2 > >>> Settings for enP1p1s0f2: > >>> Supported ports: [ TP ] > >>> Supported link modes: 10baseT/Half 10baseT/Full > >>> 100baseT/Half 100baseT/Full > >>> 1000baseT/Full > >>> Supported pause frame use: Symmetric Receive-only > >>> Supports auto-negotiation: Yes > >>> Supported FEC modes: Not reported > >>> Advertised link modes: 10baseT/Half 10baseT/Full > >>> 100baseT/Half 100baseT/Full > >>> 1000baseT/Full > >>> Advertised pause frame use: Symmetric Receive-only > >>> Advertised auto-negotiation: Yes > >>> Advertised FEC modes: Not reported > >>> Speed: Unknown! > >>> Duplex: Unknown! (255) > >>> Auto-negotiation: on > >>> Port: Twisted Pair > >>> PHYAD: 17 > >>> Transceiver: internal > >>> MDI-X: Unknown > >>> Supports Wake-on: g > >>> Wake-on: d > >>> Current message level: 0x00007fff (32767) > >>> drv probe link timer ifdown ifup > >>> rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol > >>> Link detected: no > >>> $ sudo ethtool -s enP1p1s0f2 msglvl 0x8000 netlink error: cannot > >>> modify bits past kernel bitset size (offset 56) netlink error: > >>> Invalid argument ``` > >> > >> The new ethtool-over-netlink API limits the msg levels to the ones > >> officially defined by the kernel (NETIF_MSG_CLASS_COUNT). > >> > >> CC: Michal > > > > Thank you for the prompt reply. So, it’s unrelated to the > > architecture, and to the Linux kernel version, as it works on x86_64 with > Linux 5.10.x. > > > > Michal, how do I turn on certain bnx2x messages? > > > > $ git grep BNX2X_MSG_SP > > drivers/net/ethernet/broadcom/bnx2x/bnx2x.h > > drivers/net/ethernet/broadcom/bnx2x/bnx2x.h:#define BNX2X_MSG_SP > > 0x0100000 /* was: NETIF_MSG_INTR */ > > Testing this on the x86_64 Dell OptiPlex 5055 with a Broadcom NetXtreme > BCM5762 Gigabit Ethernet PCIe [14e4:1687], it still works. > > ``` > $ uname -a > Linux serotimor.molgen.mpg.de 5.17.0-rc5.mx64.428 #1 SMP PREEMPT Mon > Feb > 21 04:00:47 CET 2022 x86_64 GNU/Linux > $ sudo ethtool -s net00 msglvl 0x0100000 $ ethtool net00 Settings for net00: > Supported ports: [ TP ] > Supported link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Supported pause frame use: No > Supports auto-negotiation: Yes > Advertised link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Advertised pause frame use: Symmetric > Advertised auto-negotiation: Yes > Link partner advertised link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Full > Link partner advertised pause frame use: No > Link partner advertised auto-negotiation: Yes > Speed: 1000Mb/s > Duplex: Full > Port: Twisted Pair > PHYAD: 1 > Transceiver: internal > Auto-negotiation: on > MDI-X: off > Cannot get wake-on-lan settings: Operation not permitted > Current message level: 0x00100000 (1048576) > 0x100000 > Link detected: yes > $ sudo ethtool -s net00 msglvl 0xfffffff $ ethtool net00 Settings for net00: > Supported ports: [ TP ] > Supported link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Supported pause frame use: No > Supports auto-negotiation: Yes > Advertised link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Advertised pause frame use: Symmetric > Advertised auto-negotiation: Yes > Link partner advertised link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Full > Link partner advertised pause frame use: No > Link partner advertised auto-negotiation: Yes > Speed: 1000Mb/s > Duplex: Full > Port: Twisted Pair > PHYAD: 1 > Transceiver: internal > Auto-negotiation: on > MDI-X: off > Cannot get wake-on-lan settings: Operation not permitted > Current message level: 0x0fffffff (268435455) > drv probe link timer ifdown ifup rx_err tx_err > tx_queued intr tx_done rx_status pktdata hw wol 0xfff8000 > Link detected: yes > ``` >
As ethtool over netlink has some limitations of the size, I believe you can configure ethtool with "--disable-netlink" and set those message levels fine Thanks.