Skip to content

Conversation

pchaigno
Copy link
Member

@pchaigno pchaigno commented Mar 23, 2021

@joestringer I didn't set backport labels for #13347 because the "feature" introduced by that PR isn't backported here. Is it the right way to proceed?

Once this PR is merged, you can update the PR labels via:

$ for pr in 15321; do contrib/backporting/set-labels.py $pr done 1.9; done

jibi and others added 5 commits March 23, 2021 20:06
[ upstream commit 18d64a4 ]

This commit adds support for the "misc" features reported by bpftool.
This is exposed by the ProbeManager object through the GetMisc() method.

Signed-off-by: Gilberto Bertin <gilberto@isovalent.com>
Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit 49aac62 ]

relax_verifier() is a dummy helper call to introduce a pruning
checkpoint to help relax the verifier to avoid reaching complexity
limits on older kernels.

Signed-off-by: Gilberto Bertin <gilberto@isovalent.com>
Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit bb001bd ]

Replace the call to `csum_diff` with `get_smp_processor_id()` as with
the latter we can avoid having to init r1-r5 registers.

Signed-off-by: Gilberto Bertin <gilberto@isovalent.com>
Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit e9bf184 ]

This commit reduces the complexity of the "to-container" section by
introducing a few state pruning points with the help of relax_verifier().

Pruning points have been determined by looking at the instructions that
the verifier is spending the most passes on.

Signed-off-by: Gilberto Bertin <gilberto@isovalent.com>
Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit 52cd6da ]

When an endpoint connects to itself via service clusterIP, we hairpin the
flow using a loopback IP address (configured using
ipv4-service-loopback-address). The destination clusterIP (on egress) and
loopback IP (on ingress) map to unexpected identities. As a result,
policy enforcement fails and the packet is dropped.

This is visible in the cilium monitor output:

    <- endpoint 1844 flow 0x96c8d52 identity 55108->unknown state new ifindex 0 orig-ip 0.0.0.0: 10.12.0.123:58242 -> 172.20.0.130:80 tcp SYN
    Policy verdict log: flow 0x96c8d52 local EP ID 1844, remote ID world, proto 6, egress, action deny, match none, 169.254.42.1:58242 -> 10.12.0.123:80 tcp SYN

Since we don't want to enforce policies anyway for the loopback traffic,
this commit skips policy enforcements in that case.

Co-authored-by: Paul Chaignon <paul@cilium.io>
Signed-off-by: Aditi Ghag <aditi@cilium.io>
Signed-off-by: Paul Chaignon <paul@cilium.io>
@pchaigno pchaigno requested a review from a team as a code owner March 23, 2021 19:14
@pchaigno pchaigno added backport/1.8 kind/backports This PR provides functionality previously merged into master. labels Mar 23, 2021
@pchaigno pchaigno marked this pull request as draft March 23, 2021 19:14
@pchaigno
Copy link
Member Author

test-backport-1.8

Copy link
Member

@aditighag aditighag left a comment

Choose a reason for hiding this comment

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

 :rocket:

@joestringer joestringer removed their assignment Mar 23, 2021
@jibi jibi removed their assignment Mar 24, 2021
@pchaigno pchaigno added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 24, 2021
@brb brb merged commit d763520 into cilium:v1.8 Mar 24, 2021
@pchaigno pchaigno deleted the pr/v1.8-backport-2021-03-23 branch March 24, 2021 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants