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

feat: convert execs to ip to netlink calls #1697

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

Conversation

aauren
Copy link
Collaborator

@aauren aauren commented Jul 5, 2024

Not making direct exec calls to user binary interfaces has long been a principle of kube-router. When kube-router was first coded, the netlink library was missing significant features that forced us to exec out. However, now netlink seems to have most of the functionality that we need.

This converts all of the places where we can use netlink to use the netlink functionality.

The current state of this PR is untested and still needs to undergo significant testing:

  • Ensure IPv4 routes are getting populated correctly
  • Ensure IPv4 source routing is being added to custom table
  • Ensure IPv6 routes are getting populated correctly
  • Ensure IPv6 source routing is being added to custom table
  • Ensure IPv4 Service VIPs get added to the dummy interface
  • Ensure IPv6 Service VIPs get added to the dummy interface
  • Ensure DSR works
  • Ensure ipip encapsulation works
  • Ensure fou encapsulation works

Not making direct exec calls to user binary interfaces has long been a
principle of kube-router. When kube-router was first coded, the netlink
library was missing significant features that forced us to exec out.
However, now netlink seems to have most of the functionality that we
need.

This converts all of the places where we can use netlink to use the
netlink functionality.
@aauren aauren force-pushed the migrate_to_netlink_library branch from 38733d4 to 7a58331 Compare July 5, 2024 20:36
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.

None yet

1 participant