Skip to content

DOCS-3161: Document eBPF support for multi-VRF networks - #3189

Draft
ctauchen wants to merge 1 commit into
tigera:mainfrom
ctauchen:docs-3161-ebpf-multi-vrf
Draft

ctauchen wants to merge 1 commit into
tigera:mainfrom
ctauchen:docs-3161-ebpf-multi-vrf

Conversation

@ctauchen

@ctauchen ctauchen commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Documents eBPF data plane support for multi-VRF networks, which landed on release-calient-v3.24 in calico-private#14970: data plane and kernel requirements on both pages, a new eBPF section in the how-to, verification and troubleshooting steps, and a release note.

Jira: https://tigera.atlassian.net/browse/DOCS-3161

Preview

To do

  • SME to confirm: tech preview or GA in 3.24; VLAN subinterfaces as VRF host interfaces on eBPF; NodePort on nftables; whether the host endpoint limitation still applies.

Flags

  • The release note makes no lifecycle claim and data/feature-status.yaml has no 3.24 row for multi-vrf-networking yet.
  • The page tells readers to contact support before using a VLAN subinterface uplink on eBPF, until the SME confirms.
  • The pre-existing field name nodeAddressAutodetection in Before you begin is wrong (the fields are nodeAddressAutodetectionV4 and V6) and is left for a follow-up.
  • Two other open PRs add release note bullets at the same spot. Whichever merges later rebases.

Copilot AI lite review requested due to automatic review settings November 6, 2026 12:07
@netlify

netlify Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

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

Name Link
🔨 Latest commit 3060683
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/6aedc300ab59d63de35a593d
😎 Deploy Preview https://deploy-preview-3189--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

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

@netlify

netlify Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit 3060683
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/6aedc30028352f3c6ee0faa3
😎 Deploy Preview https://deploy-preview-3189--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: 72 (🔴 down 17 from production)
Accessibility: 98 (no change from production)
Best Practices: 92 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The troubleshooting guidance contradicts the documented interface-selection rule and should be corrected to account for later interfaces with global unicast addresses.

1 open issue
What changed in this PR

Documents eBPF data plane support for multi-VRF networks in Calico Enterprise, including prerequisites, NodePort behavior, verification, troubleshooting, and release-note coverage.

Changes:

  • Adds eBPF configuration and operational guidance to the Multi-VRF how-to.
  • Updates the Network resource reference with data-plane requirements and limitations.
  • Adds a Calico Enterprise 3.24 release-note entry.

This pull request is ready to be approved.

File Description
calico-enterprise/​release-notes/​index.mdx Announces eBPF support for Multi-VRF networking.
calico-enterprise/​reference/​resources/​network.mdx Documents supported data planes, NodePort constraints, and kernel requirements.
calico-enterprise/​networking/​configuring/​multi-vrf.mdx Adds eBPF setup, behavior, verification, limitations, and troubleshooting guidance.

Review effort: Lite

| `kube-dns` lookups fail from a VRF pod. | Pod has no flat-network interface. VRF-only pods can't reach in-cluster DNS unless an external router bridges the VRF to the flat network. | Use a Multus secondary interface for the VRF and keep the primary interface on the flat network. Use exec probes if needed. |
| `vrf` module not loaded; Felix logs complain about VRF setup. | The kernel `vrf` module is not loaded on the node. | `sudo modprobe vrf && lsmod \| grep '^vrf '`. Install `linux-modules-extra-$(uname -r)` if missing. |
| eBPF data plane: a NodePort whose backend is on another node drops traffic, and on the node where the NodePort traffic arrives `calico-node -bpf counters dump --iface=<VRF host interface>` shows `failed encapsulation` increasing. | This counter can point to a backend node that has no published address in this VRF, so there is no tunnel endpoint for it. Its VRF host interface may have no IP, or the node does not publish interface addresses (`CALICO_NETWORKING_BACKEND=none`, IP autodetection disabled, or an excluded interface). | On the backend node, check that `ip addr show <VRF host interface>` shows a global unicast address. Check the calico-node `CALICO_NETWORKING_BACKEND` setting, and that `nodeAddressAutodetectionV4` (or `V6`) in the Installation resource is set. Wait 60 seconds after an address change. |
| eBPF data plane: NodePort traffic is dropped, and on the node where the NodePort traffic arrives `calico-node -bpf counters dump --iface=<VRF host interface>` shows `VXLAN encap when host IP unknown` increasing. | The node where the NodePort traffic arrives has no address in the VRF to use as its own tunnel endpoint. The first interface in `hostConfig.hostInterfaces` has no global unicast address. | On that node: `ip addr show <VRF host interface>`. Give the interface an address, or use `externalTrafficPolicy: Local` so no tunnel is needed. |
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