Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.14 Backports 2023-08-25 #27701

Merged
merged 6 commits into from Aug 25, 2023
Merged

v1.14 Backports 2023-08-25 #27701

merged 6 commits into from Aug 25, 2023

Conversation

jibi
Copy link
Member

@jibi jibi commented Aug 25, 2023

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

for pr in 26925 27490 27574; do contrib/backporting/set-labels.py $pr done 1.14; done

or with

make add-labels BRANCH=v1.14 ISSUES=26925,27490,27574

lmb and others added 6 commits August 25, 2023 13:40
[ upstream commit 02a1045 ]

The complexity testsuite currently loads configuration from
a single file for each BPF object and kernel version. In the
file each line is a distinct configuration for that BPF object.
For example:

    -DFOO=1
    -DBAR=1

would compile twice. Once with FOO defined, once with BAR.
In practice we have about 30 to 40 defines per each line,
which makes editing, diffing, etc. a nightmare.

Switch the format from one line per configuration to one
file per configuration. This makes it easier to diff and
also to resolve merge conflicts.

The existing configurations were converted to invidiual
files using the following script:

    #!/bin/bash

    set -euo pipefail

    for dir in bpf/complexity-tests/*; do
        test -d "$dir" || continue
        pushd "$dir" || exit 2
        for f in *.txt; do
            i=0
            while read -r line; do
                test -z "$line" && continue
                i=$((i + 1))
                target="$(basename "$f" .txt)"
                mkdir -p "$target"
                echo "${line// /$'\n'}" > "$target/$i.txt"
            done < "$f"
        done
        popd || exit 2
    done

Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
[ upstream commit a83c043 ]

Reflect that 5.2+ kernels have
torvalds/linux@c04c0d2

This allows us to run the complexity tests with programs that more closely
resemble what Cilium actually uses. For instance lib/conntrack.h and
lib/snat.h will now pull in additional code.

Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
[ upstream commit 2fe8930 ]

EGRESS_POLICY_MAP is only defined if the egress gateway is enabled.
Allow including egressgw.h even if that is not the case, so that
the helpers can be reused.

Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
[ upstream commit 826a1c6 ]

When an egressgw BPF unit test fails it helpfully dumps any cilium debug
messages with the test. The messages often contain port numbers which
can be used to infer which subtest generated them. Make it easier to
go from port number to subtest by accounting for endiannness in
client_port().

Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
[ upstream commit c428fec ]

Use the correct test enum in tc_egressgw_skip_excluded_cidr_redirect
to avoid tests interfering with each other.

Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
[ upstream commit b0a668c ]

Always clear the exclude CIDR rule, regardless of whether the test
succeeds or not. Otherwise subsequent tests will fail due to the
presence of the exclude rule.

Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
@jibi jibi added kind/backports This PR provides functionality previously merged into master. backport/1.14 This PR represents a backport for Cilium 1.14.x of a PR that was merged to main. labels Aug 25, 2023
@jibi
Copy link
Member Author

jibi commented Aug 25, 2023

/test-backport-1.14

@jibi jibi marked this pull request as ready for review August 25, 2023 12:43
@jibi jibi requested a review from a team as a code owner August 25, 2023 12:43
@joestringer joestringer merged commit 5dadbe2 into v1.14 Aug 25, 2023
197 checks passed
@joestringer joestringer deleted the pr/v1.14-backport-2023-08-25 branch August 25, 2023 16:23
@tklauser
Copy link
Member

Merging this PR before #27629 lead to a merge conflict there between:

and the backport for #26641, see #27629 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/1.14 This PR represents a backport for Cilium 1.14.x of a PR that was merged to main. kind/backports This PR provides functionality previously merged into master.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants