Skip to content

fix(xdp): Start the edge gateway and NAT on bonded hosts - #854

Merged
privateip merged 1 commit into
mainfrom
fix/xdpmode-skip-bonding-masters
Oct 13, 2026
Merged

privateip merged 1 commit into
mainfrom
fix/xdpmode-skip-bonding-masters

Conversation

@privateip

Copy link
Copy Markdown
Collaborator

Summary

Since #852 merged, the edge gateway and NAT crash at startup on every host with bonded uplinks, so both staging labs have no edge datapath.

The XDP mode check reads the host's sysfs interface list, where the bonding module adds one plain file beside the interfaces, and it treated that file as a broken interface.

The check now skips plain files, and the bonded-host tests include that file. This replaces the revert in #853.

Test plan

  • Edge gateway and NAT report ready on both staging labs
  • The Broadcom staging lab logs generic mode and its uplinks show generic XDP
  • The Intel staging lab logs native mode
  • CI passes

Related to #673

galactic-gateway and galactic-nat crashloop at startup on every bonded
edge host since #852:

  xdpmode: read device of bonding_masters: lstat
  /sys/class/net/bonding_masters/device: not a directory

Select walks every entry in /sys/class/net. With the bonding module
loaded, bonding_masters is a regular file there, so the Lstat of its
device link fails with ENOTDIR, which interfaceDriver treats as fatal.
Select now skips regular files; every interface in sysfs is a symlink.

The test fixture adds bonding_masters to the bonded-host cases, which
fail with the same error without this change.

Related to #673
@privateip
privateip requested a review from a team as a code owner October 13, 2026 00:16
@privateip
privateip enabled auto-merge October 13, 2026 00:17
@privateip
privateip merged commit cf23a0b into main Oct 13, 2026
15 checks passed
@privateip
privateip deleted the fix/xdpmode-skip-bonding-masters branch October 13, 2026 00:25
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.

2 participants