Skip to content

[Libnl] Always report LINK_ATTR_IFINDEX when available #2706

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

Closed
wants to merge 2 commits into from

Conversation

yxieca
Copy link
Contributor

@yxieca yxieca commented Mar 26, 2019

- What I did
Justifications: some client (libteamd) experienced issue, if they didn't get interface name from libnl upon receiving the first notification after LINK_ATTR_IFNAME is set, (before this change) these client wouldn't be able to query interface name later because libnl won't return interface name after LINK_ATTR_IFNAME flag is removed.

This PR complements #2699

- How to verify it
This issue was original discovered in continuous warm-reboot test at 182nd iteration. It is not super repeatable. With the fix, now the test passed that iteration. The test will go on for another day or 2 until we can safely say it is good. Putting up this review for early discussions.

@pavel-shirshov
Copy link
Contributor

I don't understand how it could help us.
As I see you patched function rtnl_link_build_change_request() which is used only by rtnl_link_change()
https://github.com/thom311/libnl/blob/65b3dd5ac2d5de4c7a0c64e430596d9d27973527/lib/route/link.c#L1804
This function will build a netlink request which later would be sent to the kernel to change link parameters.

@yxieca
Copy link
Contributor Author

yxieca commented Mar 26, 2019

I had the same question when I looked at the change again today. I think what happens is that it removed the LINK_ATTR_IFNAME bit from ce_mask. But I admit I am not 100% sure.

We can leave this change out for now and collect more information. I think I can proof one way or another with a debug change that I will run offline.

@yxieca yxieca closed this Mar 28, 2019
mihirpat1 pushed a commit to mihirpat1/sonic-buildimage that referenced this pull request Jun 14, 2023
* swss: Fix egress queue counters in voq systems.
 * In voq systems, the buffer profiles are defined on sysports.So the
   phy ports do not have buffer queue config and queuesStateVector
   built by getQueueConfigurations in flexcounterorch never has phy
   ports in voq systems. So in voq systems, always enable egress
   queue counters.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants