Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pfc] pfc no-drop remains enabled even after no-drop prio are removed from qos_port_map. #1055

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

AmitKaushik7
Copy link

… from the port

What I did
Apply the config even for empty nodrop priorities as well(pfc_enable)so that the no-drop priorities don't get served by pfc when user disables them.

Why I did it
While applying qos map, pfc no-drop priorities were getting applied only when there is at least one no-drop priorities. If the no-drop priorities list is empty, then these setting were not pushed downwards. Hence no drop priorities were still getting served which is not correct.

How I verified it
Create a VLAN and add port P1,P2,P3 in this VLAN
Perform config qos reload to apply the pfc & qos configuration and to configure priorities 3-4 as no-drop.
Send line rate learnt traffic from P1 & P2 with dot1p 3 to P3 to create congestion at P3.
Pause frames on P1 & P2 will be observed.
Stop the traffic from P1 & P2.
Replace "pfc_enable" :"3,4" with "pfc_enable" : "" in PORT_QOS_MAP table of file /tmp/qos.json file and perform "config load /tmp/qos.json -y".
Start the traffic on P1 & P2 again
Without the fix, Pause frames were getting generated.
With the fix ,Pause frames on P1 & P2 are not observed for priority 3.

Details if related

@wendani wendani self-requested a review October 4, 2019 06:38
Copy link
Contributor

@wendani wendani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait... If you remove a tc priority from pfc_enable, you also need to stop pfc watchdog on that priority. Have you thought about that dependency?

@AmitKaushik7
Copy link
Author

I agree, pfc watchdog should also be stopped for that priority. Will fix it.

@baiwei0427
Copy link
Contributor

@AmitKaushik7 @wendani I am not sure if it is necessary to stop pfc watchdog. If a queue is lossy, it cannot be paused by the downstream, thus not triggering PFC watchdog at all.

@wendani
Copy link
Contributor

wendani commented Feb 5, 2020

There is not PFC WD handling logic to respond to the event of turning a lossless tc to a lossy tc. Even if a tc is lossy now, PFC WD will still be running on it. Check the lua script to see in this scenario when your link partner keeps sending PFC whether the drop action will be triggered in the lua script state machine on the now lossy tc.

#1055 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants