Skip to content

fix(vxlandlord): add bridge fdb entry via netlink instead of shelling out to bridge - #33

Open
m4ci3k2 wants to merge 1 commit into
dialohq:masterfrom
m4ci3k2:fix/vxlandlord-bridge-fdb-netlink
Open

fix(vxlandlord): add bridge fdb entry via netlink instead of shelling out to bridge#33
m4ci3k2 wants to merge 1 commit into
dialohq:masterfrom
m4ci3k2:fix/vxlandlord-bridge-fdb-netlink

Conversation

@m4ci3k2

@m4ci3k2 m4ci3k2 commented Sep 1, 2026

Copy link
Copy Markdown

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.

Replaces 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.

… 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.
@wokalski

wokalski commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

@plan9better this is potentially nice!

@wokalski

wokalski commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

did you test this @m4ci3k2 ?

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.

3 participants