From 26fd9a31b8efcaf0aabbe25ac8489a2e0bc44219 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Nov 16 2024 00:04:22 +0000 Subject: Import openvswitch3.4-3.4.0-16 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.4.0.patch b/SOURCES/openvswitch-3.4.0.patch index 7966704..24571a9 100644 --- a/SOURCES/openvswitch-3.4.0.patch +++ b/SOURCES/openvswitch-3.4.0.patch @@ -25,7 +25,7 @@ index 2a191b57fb..5f8a1db6af 100755 # Install python test dependencies pip3 install -r python/test_requirements.txt diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml -index 9d3a13ca1c..4136986f91 100644 +index 9d3a13ca1c..a234dbdb67 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -7,15 +7,18 @@ env: @@ -60,17 +60,77 @@ index 9d3a13ca1c..4136986f91 100644 grep -rwE 'DPDK_GIT|DPDK_VER' .github/ >> dpdk-ci-signature if [ "${DPDK_VER##refs/*/}" != "${DPDK_VER}" ]; then git ls-remote --heads $DPDK_GIT $DPDK_VER >> dpdk-ci-signature -@@ -79,8 +83,7 @@ jobs: +@@ -74,13 +78,66 @@ jobs: + if: steps.dpdk_cache.outputs.cache-hit != 'true' + run: ./.ci/dpdk-build.sh + ++ build-libreswan: ++ strategy: ++ matrix: ++ runner: [ubuntu-24.04] ++ env: ++ dependencies: build-essential fakeroot devscripts equivs ++ libreswan_ver: v5.1 ++ name: libreswan ++ outputs: ++ libreswan_key: ${{ steps.gen_libreswan_key.outputs.key }} ++ runs-on: ${{ matrix.runner }} ++ timeout-minutes: 30 ++ ++ steps: ++ - name: Checkout Libreswan ++ uses: actions/checkout@v4 ++ with: ++ repository: libreswan/libreswan ++ path: libreswan ++ ref: ${{ env.libreswan_ver }} ++ ++ - name: generate cache key ++ id: gen_libreswan_key ++ run: echo 'key=libreswan-${{ env.libreswan_ver }}-${{ matrix.runner }}' ++ >> $GITHUB_OUTPUT ++ ++ - name: cache ++ id: libreswan_cache ++ uses: actions/cache@v4 ++ with: ++ path: libreswan-deb ++ key: ${{ steps.gen_libreswan_key.outputs.key }} ++ ++ - name: update APT cache ++ if: steps.libreswan_cache.outputs.cache-hit != 'true' ++ run: sudo apt update || true ++ ++ - name: install common dependencies ++ if: steps.libreswan_cache.outputs.cache-hit != 'true' ++ run: sudo apt install -y ${{ env.dependencies }} ++ ++ - name: install build dependencies ++ if: steps.libreswan_cache.outputs.cache-hit != 'true' ++ run: mk-build-deps --install --root-cmd sudo ++ libreswan/packaging/debian/control ++ ++ - name: build ++ if: steps.libreswan_cache.outputs.cache-hit != 'true' ++ run: cd libreswan && make deb ++ ++ - name: move the package to cache ++ if: steps.libreswan_cache.outputs.cache-hit != 'true' ++ run: mkdir -p libreswan-deb && mv libreswan_*.deb ./libreswan-deb ++ + build-linux: +- needs: build-dpdk ++ needs: [build-dpdk, build-libreswan] env: dependencies: | automake libtool gcc bc libjemalloc2 libjemalloc-dev libssl-dev \ - llvm-dev libnuma-dev libpcap-dev selinux-policy-dev libbpf-dev \ - lftp libreswan -+ llvm-dev libnuma-dev selinux-policy-dev libxdp-dev lftp libreswan ++ llvm-dev libnuma-dev selinux-policy-dev libxdp-dev lftp CC: ${{ matrix.compiler }} DPDK: ${{ matrix.dpdk }} DPDK_SHARED: ${{ matrix.dpdk_shared }} -@@ -93,7 +96,7 @@ jobs: +@@ -93,7 +150,7 @@ jobs: TEST_RANGE: ${{ matrix.test_range }} name: linux ${{ join(matrix.*, ' ') }} @@ -79,7 +139,34 @@ index 9d3a13ca1c..4136986f91 100644 timeout-minutes: 30 strategy: -@@ -241,14 +244,6 @@ jobs: +@@ -222,17 +279,25 @@ jobs: + with: + python-version: ${{ env.python_default }} + +- - name: cache ++ - name: DPDK cache + if: matrix.dpdk != '' || matrix.dpdk_shared != '' + uses: actions/cache@v4 + with: + path: dpdk-dir + key: ${{ needs.build-dpdk.outputs.dpdk_key }} + ++ - name: Libreswan cache ++ uses: actions/cache@v4 ++ with: ++ path: libreswan-deb ++ key: ${{ needs.build-libreswan.outputs.libreswan_key }} ++ + - name: update APT cache + run: sudo apt update || true + - name: install common dependencies + run: sudo apt install -y ${{ env.dependencies }} ++ - name: install Libreswan ++ run: sudo apt install -y ./libreswan-deb/libreswan_*.deb + - name: install libunbound libunwind python3-unbound + # GitHub Actions doesn't have 32-bit versions of these libraries. + if: matrix.m32 == '' +@@ -241,14 +306,6 @@ jobs: if: matrix.m32 != '' run: sudo apt install -y gcc-multilib @@ -94,7 +181,7 @@ index 9d3a13ca1c..4136986f91 100644 - name: prepare run: ./.ci/linux-prepare.sh -@@ -279,13 +274,13 @@ jobs: +@@ -279,13 +336,13 @@ jobs: needs: build-dpdk env: dependencies: | @@ -111,7 +198,7 @@ index 9d3a13ca1c..4136986f91 100644 timeout-minutes: 30 steps: -@@ -432,7 +427,7 @@ jobs: +@@ -432,7 +489,7 @@ jobs: DPDK: ${{ matrix.dpdk }} name: linux deb ${{ matrix.dpdk }} dpdk @@ -2152,10 +2239,21 @@ index 1e155fecea..4ab384d89c 100644 +OVS_TRAFFIC_VSWITCHD_STOP() +AT_CLEANUP diff --git a/tests/system-traffic.at b/tests/system-traffic.at -index 202ff04922..fe27e52448 100644 +index 202ff04922..dce45a8789 100644 --- a/tests/system-traffic.at +++ b/tests/system-traffic.at -@@ -6991,6 +6991,12 @@ dnl Checks the implementation of conntrack with FTP ALGs in combination with +@@ -253,6 +253,10 @@ priority=0,actions=NORMAL + AT_CHECK([ovs-ofctl del-flows br0]) + AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) + ++dnl We need to wait until the new flows are actually in the datapath to avoid ++dnl intermittent loss of first ping packet. ++AT_CHECK([ovs-appctl revalidator/wait]) ++ + NS_CHECK_EXEC([at_ns0], [ping6 -q -c 3 -i 0.3 -W 2 fc00::3 | FORMAT_PING], [0], [dnl + 3 packets transmitted, 3 received, 0% packet loss, time 0ms + ]) +@@ -6991,6 +6995,12 @@ dnl Checks the implementation of conntrack with FTP ALGs in combination with dnl NAT, using the provided flow table. m4_define([CHECK_FTP_NAT], [AT_SETUP([conntrack - FTP $1]) diff --git a/SPECS/openvswitch3.4.spec b/SPECS/openvswitch3.4.spec index 474124a..0e1d94a 100644 --- a/SPECS/openvswitch3.4.spec +++ b/SPECS/openvswitch3.4.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.4.0 -Release: 15%{?dist} +Release: 16%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -770,6 +770,13 @@ exit 0 %endif %changelog +* Fri Nov 15 2024 Open vSwitch CI - 3.4.0-16 +- Merging upstream branch-3.4 [RH git: ee85c64e6a] + Commit list: + fde8912b00 tests: Fix transient failure in ping6 header modify. () + 5cefc11140 github: Build Libreswan v5.1 from sources. + + * Mon Nov 11 2024 Open vSwitch CI - 3.4.0-15 - Merging upstream branch-3.4 [RH git: bbc8d4cbb1] Commit list: