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

[CORE-10981] Move bandwidth code to pkg/bandwidth #39

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

coutinhop
Copy link
Member

@coutinhop coutinhop commented Jan 22, 2025

Move bandwidth functionality to pkg/bandwidth, make it an importable
module. Import it and use it in plugins/meta/bandwidth/main.go.

Add a qdiscType arg to CreateEgressQdisc() so that both "ingress" and
"clsact" qdiscs may be used ("ingress" is the default used by the
bandwidth plugin).

All of this has the objective of enabling Calico to apply the netlink
qdisc configuration natively by importing this module.

note, the first 2 commits in this PR are cherry-picks in order to update vishvananda/netlink to v1.3.0 and fix CI, the relevant changes are in the last commit: 030d859

@coutinhop coutinhop self-assigned this Jan 22, 2025
@coutinhop coutinhop force-pushed the pedro-CORE-10981 branch 5 times, most recently from 2e4a227 to f4110bd Compare January 27, 2025 23:19
@CLAassistant
Copy link

CLAassistant commented Jan 27, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 3 committers have signed the CLA.

✅ coutinhop
❌ champtar
❌ SirPhuttel
You have signed the CLA already but the status is still pending? Let us recheck it.

@coutinhop coutinhop force-pushed the pedro-CORE-10981 branch 2 times, most recently from 1989329 to 030d859 Compare January 27, 2025 23:48
champtar and others added 4 commits January 27, 2025 15:49
This includes a breaking change:
vishvananda/netlink@acdc658
route.Dst is now a zero IPNet instead of nil

Signed-off-by: Etienne Champetier <[email protected]>
Just attempt to delete the known rules referring to the custom chain,
then flush and delete it. If the latter succeeds, no referencing rules
are left and the job is done.

If the final flush'n'delete fails, fall back to the referencing rule
search which is slow with large rulesets.

Signed-off-by: Phil Sutter <[email protected]>
Move bandwidth functionality to pkg/bandwidth, make it an importable
module. Import it and use it in plugins/meta/bandwidth/main.go.

Add a qdiscType arg to CreateEgressQdisc() so that both "ingress" and
"clsact" qdiscs may be used ("ingress" is the default used by the
bandwidth plugin).

All of this has the objective of enabling Calico to apply the netlink
qdisc configuration natively by importing this module.
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