Skip to content

Remove exotic netkit e2e tests#44998

Merged
julianwiedmann merged 1 commit intocilium:mainfrom
ajmmm:dev/netkit-e2e
Mar 31, 2026
Merged

Remove exotic netkit e2e tests#44998
julianwiedmann merged 1 commit intocilium:mainfrom
ajmmm:dev/netkit-e2e

Conversation

@ajmmm
Copy link
Copy Markdown
Member

@ajmmm ajmmm commented Mar 25, 2026

Rationalise netkit e2e testing down into simplest form that aligns with the Cilium tuning guide, which is namely netkit in native routing mode and KPR.

Notes on some exotic combinations:

  • [endpoint-routes: true, ciliumendpointslice: true] This permutation was originally added following the issues related to per-endpoint routes and skb scrubbing [0], but following from commit [1] this permutation is now rejected by the connector if the host doesn't provide netkit scrub attributes. Hence, we remove it from the e2e testing for netkit.

    [0] c345a69 ("cilium, ci: Add netkit with per-endpoint-routes to e2e test")
    [1] 700a878 ("pkg/datapath: require scrub attributes with netkit and endpoint routes")

  • host-fw: true This permutation was originally added following the issues related to ARP passthrough to the host stack [2]. However, following commit [3] the ARP passthrough knob has just been collapsed into standard IPv4 support, meaning this is no longer tied to netkit being enabled. Hence, we remove it from e2e testing for netkit.

    [2] c60ea32 ("datapath, netkit: Allow ARP passthrough on host when using netkit")
    [3] efeca29 ("bpf: migrate runtime config (enable_arp_*)")

Other misc notes:

  • BPF Masquerade is now enabled as a requirement for netkit.
  • VXLAN remains in place to verify tunnel-based routing.
  • IPv6 is default enabled, so removed as an explicit flag.
  • BigTCP is removed because it's not tied to netkit.

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Mar 25, 2026
@ajmmm
Copy link
Copy Markdown
Member Author

ajmmm commented Mar 25, 2026

/test

1 similar comment
@cilium-ariane
Copy link
Copy Markdown

cilium-ariane bot commented Mar 25, 2026

/test

@ajmmm
Copy link
Copy Markdown
Member Author

ajmmm commented Mar 25, 2026

/ci-l3-l4

@ajmmm ajmmm marked this pull request as ready for review March 25, 2026 16:49
@ajmmm ajmmm requested review from a team as code owners March 25, 2026 16:49
@ajmmm ajmmm requested review from brlbil and smagnani96 March 25, 2026 16:49
Copy link
Copy Markdown
Contributor

@smagnani96 smagnani96 left a comment

Choose a reason for hiding this comment

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

PR LGTM. Just to be clear, after this we're basically skipping the whole L7 tests with netkit, is that the intended behavior?

@ajmmm
Copy link
Copy Markdown
Member Author

ajmmm commented Mar 25, 2026

PR LGTM. Just to be clear, after this we're basically skipping the whole L7 tests with netkit, is that the intended behavior?

So to be clear, I did think about it, but I concluded that both workflows are usually executed, and the one iteration that was test-l7: true was only there because of host-fw, which is a test combination I don't think we need to do anymore.

However the devil is in the detail. I clearly haven't looked hard enough in the workflow logic. I only saw the split of tests in the matrix, not the filters further down.

I'll fix it so they're replicated on both, given the filters.

Undo your approval... 😉

@ajmmm ajmmm marked this pull request as draft March 25, 2026 18:31
@smagnani96 smagnani96 self-requested a review March 25, 2026 18:55
@julianwiedmann julianwiedmann added area/CI Continuous Integration testing issue or flake area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. release-note/ci This PR makes changes to the CI. feature/netkit labels Mar 27, 2026
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Mar 27, 2026
@ajmmm
Copy link
Copy Markdown
Member Author

ajmmm commented Mar 27, 2026

PR LGTM. Just to be clear, after this we're basically skipping the whole L7 tests with netkit, is that the intended behavior?

Now we have #45020, the scheduled runs on test-e2e-upgrade should run L7 tests on netkit configs. So, once merged, this PR should be good, if you agree @smagnani96 ?

@ajmmm ajmmm closed this Mar 27, 2026
@ajmmm ajmmm reopened this Mar 27, 2026
@ajmmm
Copy link
Copy Markdown
Member Author

ajmmm commented Mar 27, 2026

Closed in error 😳

Copy link
Copy Markdown
Contributor

@smagnani96 smagnani96 left a comment

Choose a reason for hiding this comment

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

Now we have #45020, the scheduled runs on test-e2e-upgrade should run L7 tests on netkit configs. So, once merged, this PR should be good, if you agree @smagnani96 ?

Yep, agree. This PR can go, is not blocked by that. If there are issues we'll see in scheduled runs anyway (not in PR runs) 👍🏼

@ajmmm ajmmm marked this pull request as ready for review March 27, 2026 11:34
@smagnani96
Copy link
Copy Markdown
Contributor

@ajmmm Smoke Test failing at your change https://github.com/isovalent/cilium/blob/366fc3ad0e83ca2c75ffa5963ab22d5fa74bdb78/.github/workflows/tests-smoke.yaml#L276. Need to sync feature metrics.

@ajmmm
Copy link
Copy Markdown
Member Author

ajmmm commented Mar 30, 2026

@ajmmm Smoke Test failing at your change https://github.com/isovalent/cilium/blob/366fc3ad0e83ca2c75ffa5963ab22d5fa74bdb78/.github/workflows/tests-smoke.yaml#L276. Need to sync feature metrics.

Hey @smagnani96, yeah I haven't checked that out yet. Strange that I need to, I haven't touched feature metrics!

@smagnani96
Copy link
Copy Markdown
Contributor

't checked that out yet. Strange that I need to, I haven't touch

Maybe needs a rebase? It never occurred to me either.

Rationalise netkit e2e testing down into simplest form that aligns with
the Cilium tuning guide, which is namely netkit in native routing mode
and KPR.

Notes on some exotic combinations:

- [endpoint-routes: true, ciliumendpointslice: true]
  This permutation was originally added following the issues related to
  per-endpoint routes and skb scrubbing [0], but following from commit
  [1] this permutation is now rejected by the connector if the host
  doesn't provide netkit scrub attributes. Hence, we remove it from the
  e2e testing for netkit.

  [0] c345a69 ("cilium, ci: Add netkit with per-endpoint-routes to e2e test")
  [1] 700a878 ("pkg/datapath: require scrub attributes with netkit and endpoint routes")

- host-fw: true
  This permutation was originally added following the issues related to
  ARP passthrough to the host stack [2]. However, following commit [3]
  the ARP passthrough knob has just been collapsed into standard IPv4
  support, meaning this is no longer tied to netkit being enabled.
  Hence, we remove it from e2e testing for netkit.

  [2] c60ea32 ("datapath, netkit: Allow ARP passthrough on host when using netkit")
  [3] efeca29 ("bpf: migrate runtime config (enable_arp_*)")

Other misc notes:
- BPF Masquerade is now enabled as a requirement for netkit.
- VXLAN remains in place to verify tunnel-based routing.
- IPv6 is default enabled, so removed as an explicit flag.
- BigTCP is removed because it's not tied to netkit.

Signed-off-by: Alasdair McWilliam <alasdair.mcwilliam@isovalent.com>
@ajmmm
Copy link
Copy Markdown
Member Author

ajmmm commented Mar 30, 2026

/test

1 similar comment
@cilium-ariane
Copy link
Copy Markdown

cilium-ariane bot commented Mar 30, 2026

/test

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 30, 2026
@julianwiedmann julianwiedmann added this pull request to the merge queue Mar 31, 2026
- name: 'netkit-4'
kernel: '6.12'
misc: 'bpf.datapathMode=netkit-l2'
misc: 'bpf.datapathMode=netkit-l2,bpf.masquerade=true'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note that .github/actions/cilium-config/action.yml does this automatically for KPR=true configs. Debatable whether such hidden opt-ins are a good thing ;).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I personally prefer them to be explicit, because assumptions can change!

I will split that out if you would like. I'm already splitting out bpf.masquerade=true from other CI workflows/actions so I can do the same for cilium-config :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I personally prefer them to be explicit, because assumptions can change!

Personally I agree. In particular since we are decoupling BPF-masq from BPF-nodeport (even though the ideal setup is all-out BPF of course).

I will split that out if you would like. I'm already splitting out bpf.masquerade=true from other CI workflows/actions so I can do the same for cilium-config :)

👍

Merged via the queue into cilium:main with commit af42b4e Mar 31, 2026
78 of 79 checks passed
@ajmmm ajmmm deleted the dev/netkit-e2e branch March 31, 2026 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/CI Continuous Integration testing issue or flake area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. feature/netkit ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/ci This PR makes changes to the CI.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants