Skip to content

Support KPR with IPv6 underlay#39074

Merged
pchaigno merged 6 commits intomainfrom
pr/pchaigno/ipv6-underlay-kpr
Apr 29, 2025
Merged

Support KPR with IPv6 underlay#39074
pchaigno merged 6 commits intomainfrom
pr/pchaigno/ipv6-underlay-kpr

Conversation

@pchaigno
Copy link
Copy Markdown
Member

@pchaigno pchaigno commented Apr 22, 2025

This pull request adds support for KPR when running with an IPv6 underlay. The first commit introduces an IPv6 version of the encapsulation function. The second commit performs some refactoring to ease readability of subsequent commits. The third commit removes a function argument that became unnecessary thanks to the previous commit. The fourth commit adds the support in the datapath. Fifth and last commit enable this in the agent and cover it in the CI.

Add support for kube-proxy replacement with IPv6 underlay

@pchaigno pchaigno added area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. release-note/major This PR introduces major new functionality to Cilium. feature/ipv6 Relates to IPv6 protocol support feature/ipv6-only Relates to single-stack IPv6 support. labels Apr 22, 2025
@pchaigno pchaigno marked this pull request as ready for review April 22, 2025 10:37
@pchaigno pchaigno requested review from a team as code owners April 22, 2025 10:37
@julianwiedmann julianwiedmann added the area/loadbalancing Impacts load-balancing and Kubernetes service implementations label Apr 22, 2025
@julianwiedmann julianwiedmann self-requested a review April 22, 2025 11:25
@pchaigno pchaigno enabled auto-merge April 22, 2025 13:34
Copy link
Copy Markdown
Member

@julianwiedmann julianwiedmann left a comment

Choose a reason for hiding this comment

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

two minor comments, except that looks good! Adding the XDP support will be fun ...

@pchaigno pchaigno force-pushed the pr/pchaigno/ipv6-underlay-kpr branch from 12ef4ab to cb972d1 Compare April 28, 2025 08:13
@pchaigno pchaigno removed request for aspsk and ysksuzuki April 28, 2025 08:54
@pchaigno pchaigno force-pushed the pr/pchaigno/ipv6-underlay-kpr branch from cb972d1 to c73cbe4 Compare April 28, 2025 09:06
When using GENEVE tunneling, we can include options in the tunnel
header. That is used by the NodePort logic in some cases. This commit
adds support for doing this over an IPv6 underlay, by extending
ctx_set_encap_info6 and introducing __encap_with_nodeid_opt6 to match
their IPv4 counterparts.

There are no functional changes in this commit because
__encap_with_nodeid_opt6 isn't used yet.

Signed-off-by: Paul Chaignon <[email protected]>
Encap functions nodeport_add_tunnel_encap{,_opt} currently take the
IPv4 tunnel endpoint address as anargument. These functions will need
to also support IPv6 addresses so let's first pass, as an argument, a
pointer to the whole ipcache value (i.e., struct remote_endpoint_info)
instead of the tunnel endpoint. It will be easier in subsequent commits
to retrieve either the IPv4 or IPv6 tunnel endpoint from the ipcache
value.

There are no functional changes in this commit.

Signed-off-by: Paul Chaignon <[email protected]>
Since the previous commit passes the whole ipcache value into
nodeport_add_tunnel_encap{,opt}, we don't need the dst_sec_identity
argument anymore. We can retrieve its value from the ipcache value.

This commit therefore removes the dst_sec_identity argument from the
nodeport_add_tunnel_encap{,opt} functions.

Signed-off-by: Paul Chaignon <[email protected]>
In tunneling mode with BPF NodePort, when DNATed packets are forwarded
to a remote backend, they need to be encapsulated. This commit
implements support for an IPv6 underlay in that case.

Signed-off-by: Paul Chaignon <[email protected]>
Previous commits added support for IPv6 underlays with BPF NodePort so
we can now allow users to enable those options together. This commit
also switches the IPv6 underlay test case in end-to-end tests to use KPR
and egress gateway.

Signed-off-by: Paul Chaignon <[email protected]>
@pchaigno pchaigno force-pushed the pr/pchaigno/ipv6-underlay-kpr branch from c73cbe4 to c803a4a Compare April 28, 2025 10:01
@pchaigno pchaigno requested a review from julianwiedmann April 28, 2025 10:05
@pchaigno
Copy link
Copy Markdown
Member Author

/test

Copy link
Copy Markdown
Member

@julianwiedmann julianwiedmann left a comment

Choose a reason for hiding this comment

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

looks good, thank you!

@pchaigno pchaigno added this pull request to the merge queue Apr 29, 2025
@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 Apr 29, 2025
Merged via the queue into main with commit a3a17cb Apr 29, 2025
309 of 322 checks passed
@pchaigno pchaigno deleted the pr/pchaigno/ipv6-underlay-kpr branch April 29, 2025 06:46
YutaroHayakawa added a commit to YutaroHayakawa/cilium that referenced this pull request May 8, 2025
Currently, the nodeport_nat_egress_ipv4_hook in the
tail_nodeport_nat_egress_ipv4 is broken in non-tunnel mode because info
variable is not declared. Revert the changes made in the 3c4693f to make
it work again.

Fixes: cilium#39074

Signed-off-by: Yutaro Hayakawa <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request May 12, 2025
Currently, the nodeport_nat_egress_ipv4_hook in the
tail_nodeport_nat_egress_ipv4 is broken in non-tunnel mode because info
variable is not declared. Revert the changes made in the 3c4693f to make
it work again.

Fixes: #39074

Signed-off-by: Yutaro Hayakawa <[email protected]>
hsalluri259 pushed a commit to hsalluri259/cilium that referenced this pull request May 14, 2025
Currently, the nodeport_nat_egress_ipv4_hook in the
tail_nodeport_nat_egress_ipv4 is broken in non-tunnel mode because info
variable is not declared. Revert the changes made in the 3c4693f to make
it work again.

Fixes: cilium#39074

Signed-off-by: Yutaro Hayakawa <[email protected]>
giorio94 added a commit that referenced this pull request Jun 18, 2025
Now that the long standing tunneling + IPv6-only limitation has been
lifted [1,2,3], let's enable this previously commented-out matrix entry
of the conformance-clustermesh workflow.

[1]: #38523
[2]: #38296
[3]: #39074

Signed-off-by: Marco Iorio <[email protected]>
giorio94 added a commit that referenced this pull request Jun 18, 2025
Now that the long standing tunneling + IPv6-only limitation has been
lifted [1,2,3], let's enable this previously commented-out matrix entry
of the conformance-clustermesh workflow.

[1]: #38523
[2]: #38296
[3]: #39074

Signed-off-by: Marco Iorio <[email protected]>
giorio94 added a commit that referenced this pull request Jun 23, 2025
Now that the long standing tunneling + IPv6-only limitation has been
lifted [1,2,3], let's enable this previously commented-out matrix entry
of the conformance-clustermesh workflow.

[1]: #38523
[2]: #38296
[3]: #39074

Signed-off-by: Marco Iorio <[email protected]>
giorio94 added a commit that referenced this pull request Jun 23, 2025
Now that the long standing tunneling + IPv6-only limitation has been
lifted [1,2,3], let's enable this previously commented-out matrix entry
of the conformance-clustermesh workflow.

[1]: #38523
[2]: #38296
[3]: #39074

Signed-off-by: Marco Iorio <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Jun 24, 2025
Now that the long standing tunneling + IPv6-only limitation has been
lifted [1,2,3], let's enable this previously commented-out matrix entry
of the conformance-clustermesh workflow.

[1]: #38523
[2]: #38296
[3]: #39074

Signed-off-by: Marco Iorio <[email protected]>
wanglei4687 pushed a commit to wanglei4687/cilium that referenced this pull request Jun 26, 2025
Now that the long standing tunneling + IPv6-only limitation has been
lifted [1,2,3], let's enable this previously commented-out matrix entry
of the conformance-clustermesh workflow.

[1]: cilium#38523
[2]: cilium#38296
[3]: cilium#39074

Signed-off-by: Marco Iorio <[email protected]>
github-merge-queue bot pushed a commit to chezmoidotsh/arcane that referenced this pull request Jul 29, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [cilium](https://cilium.io/)
([source](https://redirect.github.com/cilium/cilium)) | HelmChart |
minor | `1.17.6` -> `1.18.0` |

---

### Release Notes

<details>
<summary>cilium/cilium (cilium)</summary>

###
[`v1.18.0`](https://redirect.github.com/cilium/cilium/releases/tag/v1.18.0):
1.18.0

[Compare
Source](https://redirect.github.com/cilium/cilium/compare/1.17.6...1.18.0)

We are excited to announce the **[Cilium
1.18.0](https://redirect.github.com/cilium/cilium/releases/tag/v1.18.0)**
release!

A total of **3298 new commits** have been contributed to this release by
a growing community of over **955 developers** and over **22,000 GitHub
stars**! ⭐

To keep up to date with all the latest Cilium releases, see
[Announcements](https://redirect.github.com/cilium/cilium/discussions/categories/announcements)

Here's what's new in
[v1.18.0](https://redirect.github.com/cilium/cilium/releases/tag/v1.18.0):

#### 🚠 Networking

- **⚖️ Load Balancing Redesign**: The service load-balancing
control-plane in the Cilium agent has been redesigned to reduce memory
usage and improve future extensibility of load-balancing features
([cilium/cilium#38469](https://redirect.github.com/cilium/cilium/pull/38469),
[@&#8203;joamaki](https://redirect.github.com/joamaki))
- **🔌 Virtual Network Devices**: Added support for new virtual network
device configurations such as VXLAN in IPsec (VinE) and IPIP tunnels
([cilium/cilium#37723](https://redirect.github.com/cilium/cilium/pull/37723),
[@&#8203;ldelossa](https://redirect.github.com/ldelossa);
[cilium/cilium#37346](https://redirect.github.com/cilium/cilium/pull/37346),
[@&#8203;gyutaeb](https://redirect.github.com/gyutaeb))
- **Ⓜ️ Multiple Egress Gateways**: Egress Gateways policies can now
direct traffic towards multiple gateway nodes
([cilium/cilium#39304](https://redirect.github.com/cilium/cilium/pull/39304),
[@&#8203;carlos-abad](https://redirect.github.com/carlos-abad))
- **🚦 Ingress Rate Limiting**: The bandwidth manager now supports
ingress rate limiting
([cilium/cilium#36351](https://redirect.github.com/cilium/cilium/pull/36351),
[@&#8203;l1b0k](https://redirect.github.com/l1b0k))
- **📢 Multi-Device L2 Announcements**: The L2 pod announcement feature
now supports multiple devices
([cilium/cilium#38198](https://redirect.github.com/cilium/cilium/pull/38198),
[@&#8203;dylandreimerink](https://redirect.github.com/dylandreimerink))
- **🏢 Neighbor Subsystem Rework**: The neighbor subsystem was made more
resilient through a new system that reconciles desired neighbor entries
with the kernel state
([cilium/cilium#39987](https://redirect.github.com/cilium/cilium/pull/39987),
[@&#8203;dylandreimerink](https://redirect.github.com/dylandreimerink))

#### 🌐 IPv6

- **🚇 Tunneling Underlay**: The tunneling datapath mode now supports
using an IPv6 network underlay, including when configured with IPsec
transparent encryption
([cilium/cilium#38296](https://redirect.github.com/cilium/cilium/pull/38296),
[cilium/cilium#39497](https://redirect.github.com/cilium/cilium/pull/39497),
[@&#8203;pchaigno](https://redirect.github.com/pchaigno))
- **💬 Kube Proxy Replacement**: Cilium now implements service
translation when running on an IPv6 underlay
([cilium/cilium#39074](https://redirect.github.com/cilium/cilium/pull/39074),
[@&#8203;pchaigno](https://redirect.github.com/pchaigno))
- **📋 Delegated IPAM**: When delegating IP address management to a third
party plugin, Cilium now configures IPv6 routes for connectivity if the
plugin supports IPv6
([cilium/cilium#38249](https://redirect.github.com/cilium/cilium/pull/38249),
[@&#8203;caorui-io](https://redirect.github.com/caorui-io),
[@&#8203;kadevu](https://redirect.github.com/kadevu))
- **📦 IP Fragment Support**: Cilium now processes ordered IPv6 fragments
to apply policy and routing functionality
([cilium/cilium#38110](https://redirect.github.com/cilium/cilium/pull/38110),
[@&#8203;gentoo-root](https://redirect.github.com/gentoo-root))
- **🚪 Egress gateway policies** can now match IPv6 address ranges
([cilium/cilium#38452](https://redirect.github.com/cilium/cilium/pull/38452),
[@&#8203;rgo3](https://redirect.github.com/rgo3))

#### 🛡️ Policy & Observability

- **🏷️ Policy Names in Hubble-CLI**: Show the names of (C)CNPs that
allowed or denied traffic when monitoring flows in Hubble
([cilium/cilium#39453](https://redirect.github.com/cilium/cilium/pull/39453),
[@&#8203;antonipp](https://redirect.github.com/antonipp))
- **📝 Policy Log Fields**: A new free-text log field is added to
policies, which is exposed in Hubble flows for easy correlation and
searching
([cilium/cilium#39902](https://redirect.github.com/cilium/cilium/pull/39902),
[@&#8203;squeed](https://redirect.github.com/squeed))
- **🛰️ Encapsulated Traffic Decoding**: Hubble decodes encapsulated
traffic for deeper introspection into traffic flows
([cilium/cilium#37634](https://redirect.github.com/cilium/cilium/pull/37634),
[@&#8203;kaworu](https://redirect.github.com/kaworu))
- **🏰 ClusterMesh Policy Restriction**: A new option allows the
**cluster** entity to apply only to the local cluster in ClusterMesh
environment
([cilium/cilium#39338](https://redirect.github.com/cilium/cilium/pull/39338),
[@&#8203;MrFreezeex](https://redirect.github.com/MrFreezeex))
- **✨ Enhanced Policy Dashboard**: The Policy section of the Cilium
Grafana dashboard has been improved to show more relevant graphs,
including policy drops in both directions
([cilium/cilium#36492](https://redirect.github.com/cilium/cilium/pull/36492),
[cilium/cilium#37445](https://redirect.github.com/cilium/cilium/pull/37445),
[@&#8203;squeed](https://redirect.github.com/squeed))

#### 🌅 Performance

- **📊 Scale Test Results**: Cilium implements policies and services up
to 45% faster in higher scale environments (Various;
[@&#8203;marseel](https://redirect.github.com/marseel),
[cilium/cilium#40227](https://redirect.github.com/cilium/cilium/pull/40227))
- **📦 Image Size Reduction**: Docker image sizes are reduced by 32% on
arm64 architecture images
([cilium/cilium#40005](https://redirect.github.com/cilium/cilium/pull/40005),
[@&#8203;marseel](https://redirect.github.com/marseel))
- **⚡ Improved Policy Performance**: The DNS proxy can process large
numbers of IPs faster, and the EndpointSelector match implementation has
been optimized
([cilium/cilium#39340](https://redirect.github.com/cilium/cilium/pull/39340),
[@&#8203;squeed](https://redirect.github.com/squeed);
[cilium/cilium#40414](https://redirect.github.com/cilium/cilium/pull/40414),
[@&#8203;marseel](https://redirect.github.com/marseel))
- **🪞 EndpointSlice Mirroring for Multi-Cluster Services**: Clustermesh
mirrors EndpointSlice from the local cluster instead of copying the
Service selectors when using the MCS-API controller
([cilium/cilium#38596](https://redirect.github.com/cilium/cilium/pull/38596),
[@&#8203;MrFreezeex](https://redirect.github.com/MrFreezeex))
- **🌐 KVStoreMesh Optimization**: Cross-cluster state distribution is
optimized by only synchronizing identities keyed by ID, not by value
([cilium/cilium#36471](https://redirect.github.com/cilium/cilium/pull/36471),
[@&#8203;HadrienPatte](https://redirect.github.com/HadrienPatte))
- **🧠 Egress Gateway Processing**: Egress gateway policy processing is
significantly improved when matching a large number of pods
([cilium/cilium#37714](https://redirect.github.com/cilium/cilium/pull/37714),
[@&#8203;giorio94](https://redirect.github.com/giorio94))
- **🗑️ Optimized Garbage Collection for Connection Tracking**: Cilium
leverages batched iterators for CTMap GC
([cilium/cilium#36288](https://redirect.github.com/cilium/cilium/pull/36288),
[@&#8203;tommyp1ckles](https://redirect.github.com/tommyp1ckles))

#### ⚙️ Operations

- **📈 API Server Connections at Scale**: Improve kube-apiserver
connections behavior at scale through failover and setting better jitter
and backoff configurations
([cilium/cilium#37601](https://redirect.github.com/cilium/cilium/pull/37601),
[@&#8203;aditighag](https://redirect.github.com/aditighag);
[cilium/cilium#38031](https://redirect.github.com/cilium/cilium/pull/38031),
[@&#8203;orange30](https://redirect.github.com/orange30);
[cilium/cilium#36648](https://redirect.github.com/cilium/cilium/pull/36648),
[@&#8203;wedaly](https://redirect.github.com/wedaly))
- **🔄 ConfigMap Synchronization**: New option to automatically
synchronize ConfigMap changes into the agent and report metrics for when
the effective configuration is different from the desired configuration
([cilium/cilium#36510](https://redirect.github.com/cilium/cilium/pull/36510),
[@&#8203;ovidiutirla](https://redirect.github.com/ovidiutirla))
- **🎓 CRD Promotion to Stable**: Promote **CiliumCIDRGroup**,
**CiliumLoadBalancerIPPool** and all **BGP** CRDs to stable API
([cilium/cilium#38940](https://redirect.github.com/cilium/cilium/pull/38940),
[@&#8203;christarazi](https://redirect.github.com/christarazi);
[cilium/cilium#39090](https://redirect.github.com/cilium/cilium/pull/39090),
[@&#8203;pippolo84](https://redirect.github.com/pippolo84);
[cilium/cilium#37765](https://redirect.github.com/cilium/cilium/pull/37765),
[@&#8203;rastislavs](https://redirect.github.com/rastislavs))
- **⛔ Node Taints Handling**: The cilium-operator Deployment uses a new
default set of taints which avoids deploying to a drained node
([cilium/cilium#40137](https://redirect.github.com/cilium/cilium/pull/40137),
[@&#8203;Murat](https://redirect.github.com/Murat) Parlakisik)
- **:wood: Migrate to Slog**: Cilium now uses slog as log library for
all components
([cilium/cilium#39664](https://redirect.github.com/cilium/cilium/pull/39664),
[@&#8203;aanm](https://redirect.github.com/aanm))
- **🔧 Cilium dependencies** were updated to Kubernetes v1.33, Envoy
v1.34, LLVM 19.1, and CNI v1.1
([cilium/cilium#39124](https://redirect.github.com/cilium/cilium/pull/39124),
[cilium/cilium#40175](https://redirect.github.com/cilium/cilium/pull/40175),
[cilium/cilium#39632](https://redirect.github.com/cilium/cilium/pull/39632),
[@&#8203;sayboras](https://redirect.github.com/sayboras);
[cilium/cilium#38868](https://redirect.github.com/cilium/cilium/pull/38868),
[@&#8203;squeed](https://redirect.github.com/squeed))
- **🐧 Minimum Linux Requirements**: The minimum kernel version for this
release series is Linux v5.10 or similar, such as RHEL 8.6
([cilium/cilium#38308](https://redirect.github.com/cilium/cilium/pull/38308),
[@&#8203;julianwiedmann](https://redirect.github.com/julianwiedmann))

#### 🕸️ Service Mesh & Gateway API

- **⛩️ Gateway API v1.3.0**: Gateway API support is bumped to v1.3.0
([cilium/cilium#39590](https://redirect.github.com/cilium/cilium/pull/39590),
[@&#8203;sayboras](https://redirect.github.com/sayboras))
- **🔗 Improved GatewayClass Configuration**: The new
CiliumGatewayClassConfig object adds service type validation allows the
configuration of extra settings on a per-GatewayClass level:
LoadBalancerSourceRangesPolicy, ParametersRef fields. This allows Cilium
to reconcile multiple GatewayClasses with different configurations
([cilium/cilium#37792](https://appwritefunc.yet-another-testing-domain.com/api/gra