Skip to content

fix(e2e): allow DHCP INPUT rule in iptables eBPF compatibility validator#8487

Open
r2k1 wants to merge 1 commit intomainfrom
e2e-iptables-dhcp-allowlist
Open

fix(e2e): allow DHCP INPUT rule in iptables eBPF compatibility validator#8487
r2k1 wants to merge 1 commit intomainfrom
e2e-iptables-dhcp-allowlist

Conversation

@r2k1
Copy link
Copy Markdown
Contributor

@r2k1 r2k1 commented May 10, 2026

Summary

ValidateIPTablesCompatibleWithCiliumEBPF rejects any iptables rule not in its allowlist. AzureLinux V3 ARM64 images have a host DHCP client rule that causes Test_AzureLinuxV3_ARM64/scriptless_nbc to fail consistently (5/5 builds where test reached validation).

Change

Add ^-A INPUT -p udp -m udp --dport 68 -j ACCEPT$ to the filter table allowlist.

Details

  • Failing test: Test_AzureLinuxV3_ARM64/scriptless_nbc — consistent, not flaky
  • Rule: -A INPUT -p udp -m udp --dport 68 -j ACCEPT (standard DHCP client, UDP port 68)
  • Scope: host INPUT chain — unrelated to pod FORWARD datapath or eBPF host routing
  • AMD64 vs ARM64: same iptables-1.8.10-4.azl3 and nftables-1.0.9-1.azl3 packages on both, but only ARM64 has this rule. Root cause of that difference is unknown — needs node-level investigation.
  • Not from AgentBaker: repo search found no code that adds this rule
  • Validator added by: @arusahni in PR test: add tests to ensure that any iptables rules present are compatible with eBPF host routing #7197 (Nov 2025)

The iptables eBPF-host-routing validator rejects any iptables rule not
in its allowlist. AzureLinux V3 ARM64 images have a host DHCP client
rule (-A INPUT -p udp -m udp --dport 68 -j ACCEPT) that causes
Test_AzureLinuxV3_ARM64/scriptless_nbc to fail consistently.

This is a standard host networking rule unrelated to pod datapath or
eBPF host routing. The root cause of why ARM64 has this rule while
AMD64 does not needs further investigation (same iptables/nftables
package versions on both architectures).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the e2e iptables eBPF host routing compatibility validator to allow a standard DHCP client INPUT accept rule that appears on Azure Linux V3 ARM64 nodes, preventing consistent failures in the Test_AzureLinuxV3_ARM64/scriptless_nbc scenario.

Changes:

  • Add an allowlist regex for -A INPUT -p udp -m udp --dport 68 -j ACCEPT in the filter table patterns used by ValidateIPTablesCompatibleWithCiliumEBPF.

@arusahni
Copy link
Copy Markdown

I'm flattered to be mentioned in this PR, but I think you meant to tag @santhoshmprabhu 😄

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