bnx2x: ppc64le: Unable to set message level greater than 0x7fff

Paul Menzel pmenzel at molgen.mpg.de
Wed Mar 16 16:33:44 AEDT 2022


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
```


Kind regards,

Paul


More information about the Linuxppc-dev mailing list