Skip to content

[DOCS] Document netkit pod interfaces for Calico CNI (tech preview)#2713

Draft
tomastigera wants to merge 1 commit intotigera:mainfrom
tomastigera:tomas/docs-netkit-cni
Draft

[DOCS] Document netkit pod interfaces for Calico CNI (tech preview)#2713
tomastigera wants to merge 1 commit intotigera:mainfrom
tomastigera:tomas/docs-netkit-cni

Conversation

@tomastigera
Copy link
Copy Markdown
Contributor

@tomastigera tomastigera commented May 8, 2026

Product Version(s):
Calico Open Source (next, master)

Issue:
Companion to projectcalico/calico#12619 (CNI support for device_type: netkit) and tigera/operator#4767 (operator-side linuxPodInterfaceType field). Tracked under CORE-10672.

Link to docs preview:
Will fill in once the build finishes.

SME review:

  • An SME has approved this change.

DOCS review:

  • A member of the docs team has approved this change.

Additional information:

Adds a tech-preview section to calico/operations/ebpf/enabling-ebpf.mdx describing how to opt the Calico CNI plugin into creating netkit L2 pairs (Linux 6.7+) instead of veth, via spec.calicoNetwork.linuxPodInterfaceType=Netkit on the operator Installation. Covers:

  • The performance motivation (BPF programs attach via BPF_NETKIT_PRIMARY inside ndo_start_xmit() for better throughput and tail latency under contention).
  • The 6.7 kernel prerequisite, with the silent fallback to veth on older kernels (so the field is safe on heterogeneous clusters).
  • Reverting: existing netkit interfaces stay, but the eBPF data plane treats them as veth (TC/TCX) — only newly created pods get veth.

Notes:

  • The _api.mdx reference is auto-generated from the operator API by crd-ref-docs, so the new LinuxPodInterfaceType field will pick up automatically on the next docs build.
  • This page is in calico/operations/ebpf/; the new section is contextually with the eBPF data plane because that is where the perf benefit applies.

Merge checklist:

  • Deploy preview inspected wherever changes were made
  • Build completed successfully
  • Tests have passed

Adds a section to the eBPF "enabling" page describing how to opt the
Calico CNI plugin into creating netkit L2 pairs (Linux 6.7+) instead of
veth, via spec.calicoNetwork.linuxPodInterfaceType=Netkit on the
operator's Installation. Notes the BPF_NETKIT_PRIMARY perf benefit, the
6.7 kernel prerequisite (with silent veth fallback on older kernels),
and the asymmetric revert behavior (existing netkit interfaces stay,
but eBPF treats them as veth via TC/TCX).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 8, 2026 19:36
@netlify
Copy link
Copy Markdown

netlify Bot commented May 8, 2026

Deploy Preview for calico-docs-preview-next ready!

Name Link
🔨 Latest commit e56a014
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/69fe3b4c3899ad00085b1997
😎 Deploy Preview https://deploy-preview-2713--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 8, 2026

Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit e56a014
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/69fe3b4c22bfc10008926347
😎 Deploy Preview https://deploy-preview-2713--tigera.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 67 (🔴 down 23 from production)
Accessibility: 98 (no change from production)
Best Practices: 83 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

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

Adds documentation to Calico OSS “next” eBPF enablement guide describing how to opt the Calico CNI into using Linux netkit pod interfaces (tech preview) for improved eBPF dataplane performance on Linux 6.7+.

Changes:

  • Documented the netkit vs veth behavior and performance motivation for the eBPF data plane.
  • Added prerequisites (Linux 6.7+) and operator-based enable/revert procedures via spec.calicoNetwork.linuxPodInterfaceType.

***Procedure***

Set `spec.calicoNetwork.linuxPodInterfaceType` to `Netkit` on the operator's `Installation` resource:

***Prerequisites***

* Kernel 6.7 or later on every node where you want netkit interfaces.
Older kernels silently fall back to veth, so it is safe to set the field on heterogeneous clusters &mdash; but only nodes on a 6.7+ kernel will see the performance benefit.
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