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
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: