Mlnx_qos enables pfc, and the PFC function is automatically disabled after a period of time,

Hi
mlnx_qos enables pfc, and the PFC function is automatically disabled after a period of time,

root@smart03-MS-7D42:~# mlnx_qos -i enp1s0f0np0 --pfc 1,1,1,1,1,1,1,1 -p 0,1,2,3,4,5,7,6
DCBX mode: OS controlled
Priority trust state: dscp
dscp2prio mapping:
prio:0 dscp:07,06,05,04,03,02,01,00,
prio:1 dscp:15,14,13,12,11,10,09,08,
prio:2 dscp:23,22,21,20,19,18,17,16,
prio:3 dscp:31,30,29,28,27,26,25,24,
prio:4 dscp:39,38,37,36,35,34,33,32,
prio:5 dscp:47,46,45,44,43,42,41,40,
prio:6 dscp:55,54,53,52,51,50,49,48,
prio:7 dscp:63,62,61,60,59,58,57,56,
default priority:
Receive buffer size (bytes): 20016,156096,0,0,0,0,0,0,
Cable len: 7
PFC configuration:
priority 0 1 2 3 4 5 6 7
enabled 1 1 1 1 1 1 1 1
buffer 1 1 1 1 1 1 1 1
tc: 0 ratelimit: unlimited, tsa: vendor
priority: 0
tc: 1 ratelimit: unlimited, tsa: vendor
priority: 1
tc: 2 ratelimit: unlimited, tsa: vendor
priority: 2
tc: 3 ratelimit: unlimited, tsa: vendor
priority: 3
tc: 4 ratelimit: unlimited, tsa: vendor
priority: 4
tc: 5 ratelimit: unlimited, tsa: vendor
priority: 5
tc: 7 ratelimit: unlimited, tsa: vendor
priority: 6
tc: 6 ratelimit: unlimited, tsa: vendor

===============================================
In less than a minute, use mlnx_qos -i enp1s0f0np0 to check the PFC situation and find that it is turned off
root@smart03-MS-7D42:~# mlnx_qos -i enp1s0f0np0
DCBX mode: OS controlled
Priority trust state: dscp
dscp2prio mapping:
prio:0 dscp:07,06,05,04,03,02,01,00,
prio:1 dscp:15,14,13,12,11,10,09,08,
prio:2 dscp:23,22,21,20,19,18,17,16,
prio:3 dscp:31,30,29,28,27,26,25,24,
prio:4 dscp:39,38,37,36,35,34,33,32,
prio:5 dscp:47,46,45,44,43,42,41,40,
prio:6 dscp:55,54,53,52,51,50,49,48,
prio:7 dscp:63,62,61,60,59,58,57,56,
default priority:
Receive buffer size (bytes): 20016,156096,0,0,0,0,0,0,
Cable len: 7
PFC configuration:
priority 0 1 2 3 4 5 6 7
enabled 0 0 0 0 0 0 0 0
buffer 0 0 0 0 0 0 0 0
tc: 0 ratelimit: unlimited, tsa: vendor
priority: 0
priority: 1
priority: 2
priority: 3
priority: 4
priority: 5
priority: 6
priority: 7

The environment I use is as follows
root@smart03-MS-7D42:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
root@smart03-MS-7D42:~# uname -an
Linux smart03-MS-7D42 5.15.0-52-generic #58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

You may have LLDP enabled on the system. That will override your settings.

Dear Yanivserlin

Before any operation, lldp is turned off,

root@smart03-MS-7D42:~# systemctl status lldp
Unit lldp.service could not be found.
root@smart03-MS-7D42:~#
root@smart03-MS-7D42:~# systemctl status lldpd
○ lldpd.service - LLDP daemon
Loaded: loaded (/lib/systemd/system/lldpd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:lldpd(8)
root@smart03-MS-7D42:~# systemctl status lldpad
○ lldpad.service - Link Layer Discovery Protocol Agent Daemon.
Loaded: loaded (/lib/systemd/system/lldpad.service; disabled; vendor preset: enabled)
Active: inactive (dead)
TriggeredBy: ○ lldpad.socket
Docs: man:lldpad(8)
root@smart03-MS-7D42:~#
root@smart03-MS-7D42:~#

yanivserlin

I suggest opening a case with Nvidia support as it requires more detailed debug.