All of lore.kernel.org
 help / color / mirror / Atom feed
* bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-15 21:58 Paul Menzel
  2022-03-16  1:35   ` Jakub Kicinski
  0 siblings, 1 reply; 15+ messages in thread
From: Paul Menzel @ 2022-03-15 21:58 UTC (permalink / raw)
  To: Ariel Elior, Sudarsana Kalluru, Manish Chopra; +Cc: netdev, linuxppc-dev

Dear Linux folks,


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


Kind regards,

Paul


PS: This is unrelated to the other problem.

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

* Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
  2022-03-15 21:58 bnx2x: ppc64le: Unable to set message level greater than 0x7fff Paul Menzel
@ 2022-03-16  1:35   ` Jakub Kicinski
  0 siblings, 0 replies; 15+ messages in thread
From: Jakub Kicinski @ 2022-03-16  1:35 UTC (permalink / raw)
  To: Paul Menzel, Michal Kubecek
  Cc: Ariel Elior, Sudarsana Kalluru, Manish Chopra, netdev, linuxppc-dev

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

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

* Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-16  1:35   ` Jakub Kicinski
  0 siblings, 0 replies; 15+ messages in thread
From: Jakub Kicinski @ 2022-03-16  1:35 UTC (permalink / raw)
  To: Paul Menzel, Michal Kubecek
  Cc: netdev, linuxppc-dev, Ariel Elior, Sudarsana Kalluru, Manish Chopra

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

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

* Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
  2022-03-16  1:35   ` Jakub Kicinski
@ 2022-03-16  5:16     ` Paul Menzel
  -1 siblings, 0 replies; 15+ messages in thread
From: Paul Menzel @ 2022-03-16  5:16 UTC (permalink / raw)
  To: Jakub Kicinski, Michal Kubecek
  Cc: Ariel Elior, Sudarsana Kalluru, Manish Chopra, netdev, linuxppc-dev

Dear Jakub,


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 */


Kind regards,

Paul

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

* Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-16  5:16     ` Paul Menzel
  0 siblings, 0 replies; 15+ messages in thread
From: Paul Menzel @ 2022-03-16  5:16 UTC (permalink / raw)
  To: Jakub Kicinski, Michal Kubecek
  Cc: netdev, linuxppc-dev, Ariel Elior, Sudarsana Kalluru, Manish Chopra

Dear Jakub,


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 */


Kind regards,

Paul

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

* Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
  2022-03-16  5:16     ` Paul Menzel
@ 2022-03-16  5:33       ` Paul Menzel
  -1 siblings, 0 replies; 15+ messages in thread
From: Paul Menzel @ 2022-03-16  5:33 UTC (permalink / raw)
  To: Jakub Kicinski, Michal Kubecek
  Cc: Ariel Elior, Sudarsana Kalluru, Manish Chopra, netdev,
	linuxppc-dev, it+netdev

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

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

* Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-16  5:33       ` Paul Menzel
  0 siblings, 0 replies; 15+ messages in thread
From: Paul Menzel @ 2022-03-16  5:33 UTC (permalink / raw)
  To: Jakub Kicinski, Michal Kubecek
  Cc: Ariel Elior, Manish Chopra, netdev, it+netdev, linuxppc-dev,
	Sudarsana Kalluru

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

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

* RE: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
  2022-03-16  5:33       ` Paul Menzel
@ 2022-03-16 11:49         ` Manish Chopra
  -1 siblings, 0 replies; 15+ messages in thread
From: Manish Chopra @ 2022-03-16 11:49 UTC (permalink / raw)
  To: Paul Menzel, Jakub Kicinski, Michal Kubecek
  Cc: Ariel Elior, Sudarsana Reddy Kalluru, netdev, linuxppc-dev, it+netdev

Hi Paul,

> -----Original Message-----
> From: Paul Menzel <pmenzel@molgen.mpg.de>
> Sent: Wednesday, March 16, 2022 11:04 AM
> To: Jakub Kicinski <kuba@kernel.org>; Michal Kubecek <mkubecek@suse.cz>
> Cc: Ariel Elior <aelior@marvell.com>; Sudarsana Reddy Kalluru
> <skalluru@marvell.com>; Manish Chopra <manishc@marvell.com>;
> netdev@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> it+netdev@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.




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

* RE: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-16 11:49         ` Manish Chopra
  0 siblings, 0 replies; 15+ messages in thread
From: Manish Chopra @ 2022-03-16 11:49 UTC (permalink / raw)
  To: Paul Menzel, Jakub Kicinski, Michal Kubecek
  Cc: netdev, it+netdev, linuxppc-dev, Ariel Elior, Sudarsana Reddy Kalluru

Hi Paul,

> -----Original Message-----
> From: Paul Menzel <pmenzel@molgen.mpg.de>
> Sent: Wednesday, March 16, 2022 11:04 AM
> To: Jakub Kicinski <kuba@kernel.org>; Michal Kubecek <mkubecek@suse.cz>
> Cc: Ariel Elior <aelior@marvell.com>; Sudarsana Reddy Kalluru
> <skalluru@marvell.com>; Manish Chopra <manishc@marvell.com>;
> netdev@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> it+netdev@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.




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

* Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
  2022-03-16 11:49         ` Manish Chopra
@ 2022-03-16 18:17           ` Jakub Kicinski
  -1 siblings, 0 replies; 15+ messages in thread
From: Jakub Kicinski @ 2022-03-16 18:17 UTC (permalink / raw)
  To: Manish Chopra
  Cc: Paul Menzel, Michal Kubecek, Ariel Elior,
	Sudarsana Reddy Kalluru, netdev, linuxppc-dev, it+netdev

On Wed, 16 Mar 2022 11:49:39 +0000 Manish Chopra wrote:
> 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

Yup, IIUC it works for Paul on a 5.17 system, that system likely has
old ethtool user space tool which uses ioctls instead of netlink.

What makes the netlink path somewhat non-trivial is that there is 
an expectation that the communication can be based on names (strings)
as well as bit positions. I think we'd need a complete parallel
attribute to carry vendor specific bits :S

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

* Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-16 18:17           ` Jakub Kicinski
  0 siblings, 0 replies; 15+ messages in thread
From: Jakub Kicinski @ 2022-03-16 18:17 UTC (permalink / raw)
  To: Manish Chopra
  Cc: Michal Kubecek, Paul Menzel, Ariel Elior, netdev, it+netdev,
	linuxppc-dev, Sudarsana Reddy Kalluru

On Wed, 16 Mar 2022 11:49:39 +0000 Manish Chopra wrote:
> 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

Yup, IIUC it works for Paul on a 5.17 system, that system likely has
old ethtool user space tool which uses ioctls instead of netlink.

What makes the netlink path somewhat non-trivial is that there is 
an expectation that the communication can be based on names (strings)
as well as bit positions. I think we'd need a complete parallel
attribute to carry vendor specific bits :S

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

* Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
  2022-03-16 18:17           ` Jakub Kicinski
@ 2022-03-16 18:52             ` Michal Kubecek
  -1 siblings, 0 replies; 15+ messages in thread
From: Michal Kubecek @ 2022-03-16 18:52 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Manish Chopra, Paul Menzel, Ariel Elior, Sudarsana Reddy Kalluru,
	netdev, linuxppc-dev, it+netdev

[-- Attachment #1: Type: text/plain, Size: 982 bytes --]

On Wed, Mar 16, 2022 at 11:17:54AM -0700, Jakub Kicinski wrote:
> On Wed, 16 Mar 2022 11:49:39 +0000 Manish Chopra wrote:
> > 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
> 
> Yup, IIUC it works for Paul on a 5.17 system, that system likely has
> old ethtool user space tool which uses ioctls instead of netlink.
> 
> What makes the netlink path somewhat non-trivial is that there is 
> an expectation that the communication can be based on names (strings)
> as well as bit positions. I think we'd need a complete parallel
> attribute to carry vendor specific bits :S

Yes, that would be a way to go. However, in such case I would prefer
separating these driver/device specific message flags completely rather
then letting drivers grab currently unused flags (as is the case here,
IIUC) as those are likely to collide with future global ones.

Michal

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-16 18:52             ` Michal Kubecek
  0 siblings, 0 replies; 15+ messages in thread
From: Michal Kubecek @ 2022-03-16 18:52 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Paul Menzel, Ariel Elior, Manish Chopra, netdev, it+netdev,
	linuxppc-dev, Sudarsana Reddy Kalluru

[-- Attachment #1: Type: text/plain, Size: 982 bytes --]

On Wed, Mar 16, 2022 at 11:17:54AM -0700, Jakub Kicinski wrote:
> On Wed, 16 Mar 2022 11:49:39 +0000 Manish Chopra wrote:
> > 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
> 
> Yup, IIUC it works for Paul on a 5.17 system, that system likely has
> old ethtool user space tool which uses ioctls instead of netlink.
> 
> What makes the netlink path somewhat non-trivial is that there is 
> an expectation that the communication can be based on names (strings)
> as well as bit positions. I think we'd need a complete parallel
> attribute to carry vendor specific bits :S

Yes, that would be a way to go. However, in such case I would prefer
separating these driver/device specific message flags completely rather
then letting drivers grab currently unused flags (as is the case here,
IIUC) as those are likely to collide with future global ones.

Michal

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
  2022-03-16 18:52             ` Michal Kubecek
@ 2022-03-16 19:18               ` Jakub Kicinski
  -1 siblings, 0 replies; 15+ messages in thread
From: Jakub Kicinski @ 2022-03-16 19:18 UTC (permalink / raw)
  To: Michal Kubecek
  Cc: Manish Chopra, Paul Menzel, Ariel Elior, Sudarsana Reddy Kalluru,
	netdev, linuxppc-dev, it+netdev

On Wed, 16 Mar 2022 19:52:32 +0100 Michal Kubecek wrote:
> > Yup, IIUC it works for Paul on a 5.17 system, that system likely has
> > old ethtool user space tool which uses ioctls instead of netlink.
> > 
> > What makes the netlink path somewhat non-trivial is that there is 
> > an expectation that the communication can be based on names (strings)
> > as well as bit positions. I think we'd need a complete parallel
> > attribute to carry vendor specific bits :S  
> 
> Yes, that would be a way to go. However, in such case I would prefer
> separating these driver/device specific message flags completely rather
> then letting drivers grab currently unused flags (as is the case here,
> IIUC) as those are likely to collide with future global ones.

I was thinking let the driver specify which flags it is squatting on in
a mask in ethtool_ops, and then make sure the generic vs non-generic
flags are routed appropriately in the user space <> core communication.
We can also split the private vs generic on the ethtool_op level.

User space would have to jump thru extra hoops to figure the separation
out (maybe we can expose the "private mask" in get?)

I agree that the more we can separate the private and generic flags,
the better, that's just what I could come up with.

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

* Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff
@ 2022-03-16 19:18               ` Jakub Kicinski
  0 siblings, 0 replies; 15+ messages in thread
From: Jakub Kicinski @ 2022-03-16 19:18 UTC (permalink / raw)
  To: Michal Kubecek
  Cc: Paul Menzel, Ariel Elior, Manish Chopra, netdev, it+netdev,
	linuxppc-dev, Sudarsana Reddy Kalluru

On Wed, 16 Mar 2022 19:52:32 +0100 Michal Kubecek wrote:
> > Yup, IIUC it works for Paul on a 5.17 system, that system likely has
> > old ethtool user space tool which uses ioctls instead of netlink.
> > 
> > What makes the netlink path somewhat non-trivial is that there is 
> > an expectation that the communication can be based on names (strings)
> > as well as bit positions. I think we'd need a complete parallel
> > attribute to carry vendor specific bits :S  
> 
> Yes, that would be a way to go. However, in such case I would prefer
> separating these driver/device specific message flags completely rather
> then letting drivers grab currently unused flags (as is the case here,
> IIUC) as those are likely to collide with future global ones.

I was thinking let the driver specify which flags it is squatting on in
a mask in ethtool_ops, and then make sure the generic vs non-generic
flags are routed appropriately in the user space <> core communication.
We can also split the private vs generic on the ethtool_op level.

User space would have to jump thru extra hoops to figure the separation
out (maybe we can expose the "private mask" in get?)

I agree that the more we can separate the private and generic flags,
the better, that's just what I could come up with.

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

end of thread, other threads:[~2022-03-16 22:21 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-15 21:58 bnx2x: ppc64le: Unable to set message level greater than 0x7fff Paul Menzel
2022-03-16  1:35 ` Jakub Kicinski
2022-03-16  1:35   ` Jakub Kicinski
2022-03-16  5:16   ` Paul Menzel
2022-03-16  5:16     ` Paul Menzel
2022-03-16  5:33     ` Paul Menzel
2022-03-16  5:33       ` Paul Menzel
2022-03-16 11:49       ` [EXT] " Manish Chopra
2022-03-16 11:49         ` Manish Chopra
2022-03-16 18:17         ` Jakub Kicinski
2022-03-16 18:17           ` Jakub Kicinski
2022-03-16 18:52           ` Michal Kubecek
2022-03-16 18:52             ` Michal Kubecek
2022-03-16 19:18             ` Jakub Kicinski
2022-03-16 19:18               ` Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.