Skip to content

v1.19 Backports 2026-02-10#44280

Merged
jrajahalme merged 8 commits intov1.19from
pr/v1.19-backport-2026-02-10-02-01
Feb 11, 2026
Merged

v1.19 Backports 2026-02-10#44280
jrajahalme merged 8 commits intov1.19from
pr/v1.19-backport-2026-02-10-02-01

Conversation

puwun and others added 8 commits February 10, 2026 14:01
[ upstream commit b1aa28a ]

The Role/RoleBinding for cilium-tlsinterception-secrets had mismatched
conditionals, causing the RoleBinding to be created without its Role
when operator.enabled=false.

Align both to use consistent agent-based conditionals.

Fixes: #44053
Signed-off-by: Pavan More <pavansmore05@gmail.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
[ upstream commit 3975517 ]

Currently, the endpoint watchdog reloads all Cilium endpoint BPF programs
as soon as it detects one endpoint without the programs loaded.

While analysing these watchdog warnings, it would be helpful to have
the list of the endpoints without the programs loaded in the log
message (and not just the total count of all endpoints).

Therefore, this commit slightly changes the logic and collects
all endpoints without the programs loaded before reloading the
programs (incl. the proper log message).

Signed-off-by: Marco Hofstetter <marco.hofstetter@isovalent.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
[ upstream commit d7ad784 ]

Verify RuleOrigin values of computed policies against the expected ones
in policy unit tests.

Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
[ upstream commit 8cf9ac2 ]

Higher precedence rules override lower precedence ones, but we still
merged the rule origin metadata regardless. Move rule origin merging to
L4Filter.mergePortProto() so that the rule priority overrides can
considered also for rule origin updates.

Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
[ upstream commit d88b6bb ]

PerSelectorPolicy is not just for L7 rules any more, it is high time to
reflect this in the local variable names used. 'newPerSelectorPolicy'
would be a a bit long, so use just 'newPolicy' and 'existingPolicy' with
comments that make it obvious that these are PerSelectorPolicies.

Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
[ upstream commit cc2d27c ]

Disable Virtual Function information collection in netlink handle
operations to avoid hold of `rtnl_mutex` on systems with SR-IOV devices.

Fixes: #43516
Signed-off-by: pasteley <ceasebeing@gmail.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
[ upstream commit 3953c12 ]

Previously cilium-operator fails to start if MCS/installCRDs is enabled
because it does not have permissions to update the CRD with this log
message:

level=error msg="Unable to update CRD"
module=operator.operator-controlplane.leader-lifecycle.create-crds
name=serviceimports.multicluster.x-k8s.io
error="customresourcedefinitions.apiextensions.k8s.io
\"serviceimports.multicluster.x-k8s.io\" is forbidden: User
\"system:serviceaccount:kube-system:cilium-operator\" cannot update
resource \"customresourcedefinitions\" in API group
\"apiextensions.k8s.io\" at the cluster scope"

This patch adds the necessary permissions to cilium-operator if you have
mcs/installCRDs enabled

Fixes: #44210
Fixes: 3874013 ("clustermesh: add config for auto installing
MCS-API CRDs")

Signed-off-by: Florian Ströger <stroeger@youniqx.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
[ upstream commit 24e7add ]

This commit fixes a cilium-agent panic during datapath reinitialization
when a DirectRouting device is required but not configured.
This can happen when the direct routing device drops, for example during
networkd restart.

```
time=2026-01-14T07:39:46.444386888Z level=info msg="Devices changed" module=agent.datapath.devices-controller devices=[]
time=2026-01-14T07:39:46.444654289Z level=info msg="Fallback node addresses updated" module=agent.datapath.node-address addresses="127.0.0.1 (primary), ::1 (primary)" device=*
time=2026-01-14T07:39:46.44474159Z level=info msg="Node addresses updated" module=agent.datapath.node-address addresses="127.0.0.1 (primary), ::1 (primary)" device=*
time=2026-01-14T07:39:46.444833191Z level=info msg="Node addresses updated" module=agent.datapath.node-address addresses="" device=eth0
panic: runtime error: index out of range [3] with length 0

goroutine 415 [running]:
github.com/cilium/cilium/pkg/byteorder.NetIPv4ToHost32({0x0?, 0xc000e9e5d0?, 0x49e07bb?})
        /go/src/github.com/cilium/cilium/pkg/byteorder/byteorder.go:15 +0x65
github.com/cilium/cilium/pkg/datapath/linux/config.(*HeaderfileWriter).WriteNodeConfig(0xc0004280e0, {0x7ff1517a6ba8, 0xc0023ec400}, 0xc001d00508)
        /go/src/github.com/cilium/cilium/pkg/datapath/linux/config/config.go:150 +0xa4b
github.com/cilium/cilium/pkg/datapath/loader.hashDatapath({0x50fbfb0, 0xc0004280e0}, 0xc001d00508)
        /go/src/github.com/cilium/cilium/pkg/datapath/loader/hash.go:20 +0x9e
github.com/cilium/cilium/pkg/datapath/loader.(*objectCache).UpdateDatapathHash(0xc001d027d0, 0xc001422870?)
        /go/src/github.com/cilium/cilium/pkg/datapath/loader/cache.go:62 +0x4d
github.com/cilium/cilium/pkg/datapath/loader.(*loader).Reinitialize(0xc002573580, {0x50f9c98, 0xc0008474d0}, 0xc001d00508, {{0x49d15b6, 0x4}, {0x0, 0x0}, 0x0, 0x0, ...}, ...)
        /go/src/github.com/cilium/cilium/pkg/datapath/loader/base.go:377 +0x3c8
github.com/cilium/cilium/pkg/datapath/orchestrator.(*orchestrator).reinitialize(0xc001d36288, {0x50f9c98?, 0xc0008474d0?}, {{0x0?, 0x0?}, 0x0?}, 0xc001d00508)
        /go/src/github.com/cilium/cilium/pkg/datapath/orchestrator/orchestrator.go:275 +0x110
github.com/cilium/cilium/pkg/datapath/orchestrator.(*orchestrator).reconciler(0xc001d36288, {0x50f9c98, 0xc0008474d0}, {0x5104260, 0xc002feafc0})
        /go/src/github.com/cilium/cilium/pkg/datapath/orchestrator/orchestrator.go:219 +0x6fd
github.com/cilium/hive/job.(*jobOneShot).start(0xc002082e40, {0x50f9c98, 0xc0008474d0}, 0xc00143dce4?, {0x5104260, 0xc002082de0}, {{{0x0, 0x0, 0x0}}, 0xc001791770, ...})
        /go/src/github.com/cilium/cilium/vendor/github.com/cilium/hive/job/oneshot.go:138 +0x4fd
created by github.com/cilium/hive/job.(*queuedJob).Start.func1 in goroutine 1
        /go/src/github.com/cilium/cilium/vendor/github.com/cilium/hive/job/job.go:126 +0x16f
```

With the change in this commit when a direct routing device is not found
datapath orchestrator will log a warning and wait for device updates in
the reconciliation loop, skipping reinitialization.

Fixes 8fae439 ("datapath: move DirectRoutingDevice validation to orchestrator")

Signed-off-by: Deepesh Pathak <deepeshpathak09@gmail.com>
Signed-off-by: Antony Reynaud <antony.reynaud@isovalent.com>
@Artyop Artyop added kind/backports This PR provides functionality previously merged into master. backport/1.19 This PR represents a backport for Cilium 1.19.x of a PR that was merged to main. labels Feb 10, 2026
@github-actions github-actions bot added the sig/policy Impacts whether traffic is allowed or denied based on user-defined policies. label Feb 10, 2026
@Artyop
Copy link
Copy Markdown
Contributor Author

Artyop commented Feb 10, 2026

/test

@Artyop Artyop marked this pull request as ready for review February 10, 2026 13:23
@Artyop Artyop requested a review from a team as a code owner February 10, 2026 13:23
@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 Feb 11, 2026
@jrajahalme jrajahalme added this pull request to the merge queue Feb 11, 2026
Merged via the queue into v1.19 with commit 1528551 Feb 11, 2026
458 checks passed
@jrajahalme jrajahalme deleted the pr/v1.19-backport-2026-02-10-02-01 branch February 11, 2026 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport/1.19 This PR represents a backport for Cilium 1.19.x of a PR that was merged to main. kind/backports This PR provides functionality previously merged into master. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. sig/policy Impacts whether traffic is allowed or denied based on user-defined policies.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants