fix(vxlandlord): add bridge fdb entry via netlink instead of shelling out to bridge - #33
Open
m4ci3k2 wants to merge 1 commit into
Open
fix(vxlandlord): add bridge fdb entry via netlink instead of shelling out to bridge#33m4ci3k2 wants to merge 1 commit into
m4ci3k2 wants to merge 1 commit into
Conversation
… out to `bridge` The iface-request init container crashes on startup with "Error appending to bridge fdb: exec: \"bridge\": executable file not found in $PATH" because the vxlandlord image does not install iproute2, so the external `bridge` binary this code shells out to is never present. Every other network operation in this file (link/addr/route management) already goes through vishvananda/netlink directly - this was the one exception. Replace the `bridge fdb append` exec.Command call with an equivalent netlink.NeighAppend (family AF_BRIDGE, NTF_SELF, NUD_PERMANENT), removing the dependency on the external binary entirely rather than just adding iproute2 to the image. Verified: go build/vet/gofmt clean, and confirmed at runtime in a live cluster - a workload pod annotated to use an IPSecConnection child now gets its iface-request init container to Completed instead of Init:Error, and traffic reaches the remote subnet through the tunnel.
Contributor
|
@plan9better this is potentially nice! |
Contributor
|
did you test this @m4ci3k2 ? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The iface-request init container crashes on startup with
"Error appending to bridge fdb: exec: "bridge": executable file not
found in $PATH" because the vxlandlord image does not install iproute2,
so the external
bridgebinary this code shells out to is neverpresent. Every other network operation in this file (link/addr/route
management) already goes through vishvananda/netlink directly - this
was the one exception.
Replaces the
bridge fdb appendexec.Command call with an equivalentnetlink.NeighAppend (family AF_BRIDGE, NTF_SELF, NUD_PERMANENT),
removing the dependency on the external binary entirely rather than
just adding iproute2 to the image.