Hello, I’m trying to enable/disable link-pause/pfc/dcbx on an interface on the MSN4700 ethernet switch. I was expecting the commands to be something simple, e.g:
nv set interface swp1 qos link-pause enable/disable
But the command expects a “profile”. What’s the correct way to configure link-pause/pfc/dcbx on interfaces and also apply it so that it’s operational? Looks like you have to create a profile first? If you can show the the CLI commands that would be great. Thanks.
Hello,
Please see the below links with an example for link-pause and PFC NVUE configurations
Before configuring link pause, you must first modify the switch buffer allocation
https://docs.nvidia.com/networking-ethernet-software/cumulus-linux-512/Layer-1-and-Switch-Ports/Quality-of-Service/#flow-control-buffers
Pleas see the below link for an example of enabling DCBX TLVs
https://docs.nvidia.com/networking-ethernet-software/cumulus-linux-512/Layer-2/Link-Layer-Discovery-Protocol/#ieee-8021-tlvs
Regards
Joe
Thanks Joe. I’ll check them out. If I have follow-up questions I’ll post them here.
Regards,
Hari
Hi Joe,
I tried the following for link-pause. As you pointed out, you need to “first modify the switch buffer allocation”. Tried to apply the changes anyway & got the first error below. Of the alternatives suggested, enabling roce seemed to be the easiest. Tried that and got a second error.
Instead of creating a new profile (called profile_link_pause_on below), should I set the qos link-pause parameters in the default-global profile?
admin@iscsi548-d-2:mgmt:~/info$ nv config diff
- set:
interface:
swp1:
qos:
link-pause:
profile: profile_link_pause_on
qos:
link-pause:
profile_link_pause_on:
rx: enable
tx: enable
admin@iscsi548-d-2:mgmt:~/info$ nv config apply
Invalid config [rev_id: 81]
Config invalid at qos: link-pause profile requires traffic pool default-lossless/roce-lossless, or advance-lossless buffers, or roce mode lossless to be configured
To fix, tried this & got a different error.
Note that "nv set qos roce" sets roce mode to "lossless".
admin@iscsi548-d-2:mgmt:~$ nv set qos roce
admin@iscsi548-d-2:mgmt:~$ nv config apply
Invalid config [rev_id: 81]
Cannot allow PFC global-default config along with link-pause profiles configured on following interface: swp1.
Tried to set link-pause parameters in the default-global profile. That did not work either. Got the error below.
admin@iscsi548-d-2:mgmt:~$ nv config diff
- set:
interface:
swp1:
qos:
link-pause:
profile: default-global
qos:
link-pause:
default-global:
rx: enable
tx: enable
admin@iscsi548-d-2:mgmt:~$
admin@iscsi548-d-2:mgmt:~$ nv config apply
Invalid config [rev_id: 81]
Config invalid at interface.swp1.qos: cannot assign default-global link-pause profile on interface
Got a bit further. Undid this command that I had used before:
nv set interface swp1 qos link-pause profile default-global
with:
nv unset interface swp1 qos link-pause profile
Then enabled roce with:
nv set qos roce
When applying the changes, got a warning about /etc/network/interfaces being overwritten. This file is supposed to be generated by NVUE, so not sure how it was modified after the last config save (as the warning says). May be someone edited it manually. Backed out of the apply, but looks like it would have gone through.
admin@iscsi548-d-2:mgmt:~$ nv config diff --rev 81
- set:
interface:
swp1:
qos:
link-pause: {}
qos:
link-pause:
default-global:
rx: enable
tx: enable
roce:
enable: on
admin@iscsi548-d-2:mgmt:~$ nv config apply --rev 81
This config change requires switchd reload and lldpd restart
Warning: The following files have been changed since the last save, and they WILL be overwritten.
- /etc/network/interfaces
Are you sure? [y/N] N
Declined apply after warnings [rev_id: 81]