--- ...e-Also-use-LIBS-from-dpkg-pkg-config.patch | 366 ------------------ .../patches/disable-failing-ovn-tests.patch | 327 ---------------- debian/patches/series | 2 - 3 files changed, 695 deletions(-) delete mode 100644 debian/patches/0001-acinclude-Also-use-LIBS-from-dpkg-pkg-config.patch delete mode 100644 debian/patches/disable-failing-ovn-tests.patch
diff --git a/debian/patches/0001-acinclude-Also-use-LIBS-from-dpkg-pkg-config.patch b/debian/patches/0001-acinclude-Also-use-LIBS-from-dpkg-pkg-config.patch deleted file mode 100644 index af649da..0000000 --- a/debian/patches/0001-acinclude-Also-use-LIBS-from-dpkg-pkg-config.patch +++ /dev/null @@ -1,366 +0,0 @@ -From 5b5aa2d8a54c006b6c5239d04b7a751ca5ff5d44 Mon Sep 17 00:00:00 2001 -From: Christian Ehrhardt <christian.ehrha...@canonical.com> -Date: Tue, 12 Feb 2019 07:29:58 +0100 -Subject: [PATCH] acinclude: Also use LIBS from dpkg pkg-config - -DPDK 18.11 builds using the more modern meson build system no more -provide the -ldpdk linker script. Instead it is expected to use -pkgconfig for linker options as well. - -This change will set DPDK_LIB from pkg-config (if pkg-config was -available) and since that already carries the whole-archive flags -around the PMDs skips the further wrapping in more whole-archive -if that is already part of DPDK_LIB. - -To work reliable in all environments this needs pkg-config 0.29.1. -We want to be able to use PKG_CHECK_MODULES_STATIC which -is not yet available in 0.24. Therefore update pkg.m4 -to pkg-config 0.29.1. - -This should be backport-safe as these macro files are all versioned. -autoconf is smart enough to check the version if you have it locally, -and if the system's is higher, it will use that one instead. - -Acked-by: Luca Boccassi <bl...@debian.org> -Acked-by: Aaron Conole <acon...@redhat.com> -Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com> -Signed-off-by: Ian Stokes <ian.sto...@intel.com> - -Origin: backport, https://github.com/openvswitch/ovs/commit/5b5aa2d8a54c006b6c5239d04b7a751ca5ff5d44 -Last-Update: 2019-02-14 - ---- - acinclude.m4 | 20 +++-- - m4/pkg.m4 | 217 +++++++++++++++++++++++++++++++++------------------ - 2 files changed, 153 insertions(+), 84 deletions(-) - -Index: openvswitch/acinclude.m4 -=================================================================== ---- openvswitch.orig/acinclude.m4 -+++ openvswitch/acinclude.m4 -@@ -223,9 +223,11 @@ AC_DEFUN([OVS_CHECK_DPDK], [ - case "$with_dpdk" in - yes) - DPDK_AUTO_DISCOVER="true" -- PKG_CHECK_MODULES([DPDK], [libdpdk], -- [DPDK_INCLUDE="$DPDK_CFLAGS"], -- [DPDK_INCLUDE="-I/usr/local/include/dpdk -I/usr/include/dpdk"]) -+ PKG_CHECK_MODULES_STATIC([DPDK], [libdpdk], [ -+ DPDK_INCLUDE="$DPDK_CFLAGS" -+ DPDK_LIB="$DPDK_LIBS"], [ -+ DPDK_INCLUDE="-I/usr/local/include/dpdk -I/usr/include/dpdk" -+ DPDK_LIB="-ldpdk"]) - ;; - *) - DPDK_AUTO_DISCOVER="false" -@@ -238,11 +240,10 @@ AC_DEFUN([OVS_CHECK_DPDK], [ - DPDK_INCLUDE="-I$DPDK_INCLUDE_PATH/dpdk" - fi - DPDK_LIB_DIR="$with_dpdk/lib" -+ DPDK_LIB="-ldpdk" - ;; - esac - -- DPDK_LIB="-ldpdk" -- - ovs_save_CFLAGS="$CFLAGS" - ovs_save_LDFLAGS="$LDFLAGS" - CFLAGS="$CFLAGS $DPDK_INCLUDE" -@@ -377,7 +378,14 @@ AC_DEFUN([OVS_CHECK_DPDK], [ - # - # These options are specified inside a single -Wl directive to prevent - # autotools from reordering them. -- DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no-whole-archive -+ # -+ # OTOH newer versions of dpdk pkg-config (generated with Meson) -+ # will already have flagged just the right set of libs with -+ # --whole-archive - in those cases do not wrap it once more. -+ case "$DPDK_LIB" in -+ *whole-archive*) DPDK_vswitchd_LDFLAGS=$DPDK_LIB;; -+ *) DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no-whole-archive -+ esac - AC_SUBST([DPDK_vswitchd_LDFLAGS]) - AC_DEFINE([DPDK_NETDEV], [1], [System uses the DPDK module.]) - fi -Index: openvswitch/m4/pkg.m4 -=================================================================== ---- openvswitch.orig/m4/pkg.m4 -+++ openvswitch/m4/pkg.m4 -@@ -1,29 +1,60 @@ --# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- --# serial 1 (pkg-config-0.24) --# --# Copyright © 2004 Scott James Remnant <sc...@netsplit.com>. --# --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or --# (at your option) any later version. --# --# This program is distributed in the hope that it will be useful, but --# WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --# General Public License for more details. --# --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. --# --# As a special exception to the GNU General Public License, if you --# distribute this file as part of a program that contains a --# configuration script generated by Autoconf, you may include it under --# the same distribution terms that you use for the rest of that program. -- --# PKG_PROG_PKG_CONFIG([MIN-VERSION]) --# ---------------------------------- -+dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -+dnl serial 11 (pkg-config-0.29.1) -+dnl -+dnl Copyright © 2004 Scott James Remnant <sc...@netsplit.com>. -+dnl Copyright © 2012-2015 Dan Nicholson <dbn.li...@gmail.com> -+dnl -+dnl This program is free software; you can redistribute it and/or modify -+dnl it under the terms of the GNU General Public License as published by -+dnl the Free Software Foundation; either version 2 of the License, or -+dnl (at your option) any later version. -+dnl -+dnl This program is distributed in the hope that it will be useful, but -+dnl WITHOUT ANY WARRANTY; without even the implied warranty of -+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+dnl General Public License for more details. -+dnl -+dnl You should have received a copy of the GNU General Public License -+dnl along with this program; if not, write to the Free Software -+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+dnl 02111-1307, USA. -+dnl -+dnl As a special exception to the GNU General Public License, if you -+dnl distribute this file as part of a program that contains a -+dnl configuration script generated by Autoconf, you may include it under -+dnl the same distribution terms that you use for the rest of that -+dnl program. -+ -+dnl PKG_PREREQ(MIN-VERSION) -+dnl ----------------------- -+dnl Since: 0.29 -+dnl -+dnl Verify that the version of the pkg-config macros are at least -+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's -+dnl installed version of pkg-config, this checks the developer's version -+dnl of pkg.m4 when generating configure. -+dnl -+dnl To ensure that this macro is defined, also add: -+dnl m4_ifndef([PKG_PREREQ], -+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) -+dnl -+dnl See the "Since" comment for each macro you use to see what version -+dnl of the macros you require. -+m4_defun([PKG_PREREQ], -+[m4_define([PKG_MACROS_VERSION], [0.29.1]) -+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, -+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) -+])dnl PKG_PREREQ -+ -+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) -+dnl ---------------------------------- -+dnl Since: 0.16 -+dnl -+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to -+dnl first found in the path. Checks that the version of pkg-config found -+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is -+dnl used since that's the first version where most current features of -+dnl pkg-config existed. - AC_DEFUN([PKG_PROG_PKG_CONFIG], - [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) - m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -@@ -45,18 +76,19 @@ if test -n "$PKG_CONFIG"; then - PKG_CONFIG="" - fi - fi[]dnl --])# PKG_PROG_PKG_CONFIG -+])dnl PKG_PROG_PKG_CONFIG - --# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) --# --# Check to see whether a particular set of modules exists. Similar --# to PKG_CHECK_MODULES(), but does not set variables or print errors. --# --# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) --# only at the first occurence in configure.ac, so if the first place --# it's called might be skipped (such as if it is within an "if", you --# have to call PKG_CHECK_EXISTS manually --# -------------------------------------------------------------- -+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -+dnl ------------------------------------------------------------------- -+dnl Since: 0.18 -+dnl -+dnl Check to see whether a particular set of modules exists. Similar to -+dnl PKG_CHECK_MODULES(), but does not set variables or print errors. -+dnl -+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -+dnl only at the first occurence in configure.ac, so if the first place -+dnl it's called might be skipped (such as if it is within an "if", you -+dnl have to call PKG_CHECK_EXISTS manually - AC_DEFUN([PKG_CHECK_EXISTS], - [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl - if test -n "$PKG_CONFIG" && \ -@@ -66,8 +98,10 @@ m4_ifvaln([$3], [else - $3])dnl - fi]) - --# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) --# --------------------------------------------- -+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -+dnl --------------------------------------------- -+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting -+dnl pkg_failed based on the result. - m4_define([_PKG_CONFIG], - [if test -n "$$1"; then - pkg_cv_[]$1="$$1" -@@ -79,10 +113,11 @@ m4_define([_PKG_CONFIG], - else - pkg_failed=untried - fi[]dnl --])# _PKG_CONFIG -+])dnl _PKG_CONFIG - --# _PKG_SHORT_ERRORS_SUPPORTED --# ----------------------------- -+dnl _PKG_SHORT_ERRORS_SUPPORTED -+dnl --------------------------- -+dnl Internal check to see if pkg-config supports short errors. - AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], - [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) - if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then -@@ -90,19 +125,17 @@ if $PKG_CONFIG --atleast-pkgconfig-versi - else - _pkg_short_errors_supported=no - fi[]dnl --])# _PKG_SHORT_ERRORS_SUPPORTED -+])dnl _PKG_SHORT_ERRORS_SUPPORTED - - --# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], --# [ACTION-IF-NOT-FOUND]) --# --# --# Note that if there is a possibility the first call to --# PKG_CHECK_MODULES might not happen, you should be sure to include an --# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac --# --# --# -------------------------------------------------------------- -+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -+dnl [ACTION-IF-NOT-FOUND]) -+dnl -------------------------------------------------------------- -+dnl Since: 0.4.0 -+dnl -+dnl Note that if there is a possibility the first call to -+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an -+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac - AC_DEFUN([PKG_CHECK_MODULES], - [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl - AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -@@ -156,16 +189,40 @@ else - AC_MSG_RESULT([yes]) - $3 - fi[]dnl --])# PKG_CHECK_MODULES -+])dnl PKG_CHECK_MODULES - - --# PKG_INSTALLDIR(DIRECTORY) --# ------------------------- --# Substitutes the variable pkgconfigdir as the location where a module --# should install pkg-config .pc files. By default the directory is --# $libdir/pkgconfig, but the default can be changed by passing --# DIRECTORY. The user can override through the --with-pkgconfigdir --# parameter. -+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -+dnl [ACTION-IF-NOT-FOUND]) -+dnl --------------------------------------------------------------------- -+dnl Since: 0.29 -+dnl -+dnl Checks for existence of MODULES and gathers its build flags with -+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags -+dnl and VARIABLE-PREFIX_LIBS from --libs. -+dnl -+dnl Note that if there is a possibility the first call to -+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to -+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your -+dnl configure.ac. -+AC_DEFUN([PKG_CHECK_MODULES_STATIC], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -+_save_PKG_CONFIG=$PKG_CONFIG -+PKG_CONFIG="$PKG_CONFIG --static" -+PKG_CHECK_MODULES($@) -+PKG_CONFIG=$_save_PKG_CONFIG[]dnl -+])dnl PKG_CHECK_MODULES_STATIC -+ -+ -+dnl PKG_INSTALLDIR([DIRECTORY]) -+dnl ------------------------- -+dnl Since: 0.27 -+dnl -+dnl Substitutes the variable pkgconfigdir as the location where a module -+dnl should install pkg-config .pc files. By default the directory is -+dnl $libdir/pkgconfig, but the default can be changed by passing -+dnl DIRECTORY. The user can override through the --with-pkgconfigdir -+dnl parameter. - AC_DEFUN([PKG_INSTALLDIR], - [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) - m4_pushdef([pkg_description], -@@ -176,16 +233,18 @@ AC_ARG_WITH([pkgconfigdir], - AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) - m4_popdef([pkg_default]) - m4_popdef([pkg_description]) --]) dnl PKG_INSTALLDIR -+])dnl PKG_INSTALLDIR - - --# PKG_NOARCH_INSTALLDIR(DIRECTORY) --# ------------------------- --# Substitutes the variable noarch_pkgconfigdir as the location where a --# module should install arch-independent pkg-config .pc files. By --# default the directory is $datadir/pkgconfig, but the default can be --# changed by passing DIRECTORY. The user can override through the --# --with-noarch-pkgconfigdir parameter. -+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) -+dnl -------------------------------- -+dnl Since: 0.27 -+dnl -+dnl Substitutes the variable noarch_pkgconfigdir as the location where a -+dnl module should install arch-independent pkg-config .pc files. By -+dnl default the directory is $datadir/pkgconfig, but the default can be -+dnl changed by passing DIRECTORY. The user can override through the -+dnl --with-noarch-pkgconfigdir parameter. - AC_DEFUN([PKG_NOARCH_INSTALLDIR], - [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) - m4_pushdef([pkg_description], -@@ -196,13 +255,15 @@ AC_ARG_WITH([noarch-pkgconfigdir], - AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) - m4_popdef([pkg_default]) - m4_popdef([pkg_description]) --]) dnl PKG_NOARCH_INSTALLDIR -+])dnl PKG_NOARCH_INSTALLDIR - - --# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, --# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) --# ------------------------------------------- --# Retrieves the value of the pkg-config variable for the given module. -+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -+dnl ------------------------------------------- -+dnl Since: 0.28 -+dnl -+dnl Retrieves the value of the pkg-config variable for the given module. - AC_DEFUN([PKG_CHECK_VAR], - [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl - AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl -@@ -211,4 +272,4 @@ _PKG_CONFIG([$1], [variable="][$3]["], [ - AS_VAR_COPY([$1], [pkg_cv_][$1]) - - AS_VAR_IF([$1], [""], [$5], [$4])dnl --])# PKG_CHECK_VAR -+])dnl PKG_CHECK_VAR diff --git a/debian/patches/disable-failing-ovn-tests.patch b/debian/patches/disable-failing-ovn-tests.patch deleted file mode 100644 index ace0283..0000000 --- a/debian/patches/disable-failing-ovn-tests.patch +++ /dev/null @@ -1,327 +0,0 @@ -Description: OVN tests failing... -Author: Thomas Goirand <z...@debian.org> -Forwarded: no -Last-Update: 2019-07-11 - ---- openvswitch-2.11.0+2019.06.25+git.9ebe795035+ds1.orig/tests/ovn.at -+++ openvswitch-2.11.0+2019.06.25+git.9ebe795035+ds1/tests/ovn.at -@@ -7667,227 +7667,6 @@ OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) - OVS_APP_EXIT_AND_WAIT([ovsdb-server]) - AT_CLEANUP - --AT_SETUP([ovn -- 4 HV, 1 LS, 1 LR, packet test with HA distributed router gateway port]) --AT_SKIP_IF([test $HAVE_PYTHON = no]) --ovn_start -- --net_add n1 -- --sim_add hv1 --as hv1 --ovs-vsctl add-br br-phys --ovn_attach n1 br-phys 192.168.0.1 --ovs-vsctl -- add-port br-int hv1-vif1 -- \ -- set interface hv1-vif1 external-ids:iface-id=foo1 \ -- options:tx_pcap=hv1/vif1-tx.pcap \ -- options:rxq_pcap=hv1/vif1-rx.pcap \ -- ofport-request=1 -- --sim_add gw1 --as gw1 --ovs-vsctl add-br br-phys --ovn_attach n1 br-phys 192.168.0.2 -- --sim_add gw2 --as gw2 --ovs-vsctl add-br br-phys --ovn_attach n1 br-phys 192.168.0.4 -- --sim_add ext1 --as ext1 --ovs-vsctl add-br br-phys --ovn_attach n1 br-phys 192.168.0.3 --ovs-vsctl -- add-port br-int ext1-vif1 -- \ -- set interface ext1-vif1 external-ids:iface-id=outside1 \ -- options:tx_pcap=ext1/vif1-tx.pcap \ -- options:rxq_pcap=ext1/vif1-rx.pcap \ -- ofport-request=1 -- --# Pre-populate the hypervisors' ARP tables so that we don't lose any --# packets for ARP resolution (native tunneling doesn't queue packets --# for ARP resolution). --OVN_POPULATE_ARP -- --ovn-nbctl create Logical_Router name=R1 -- --ovn-nbctl ls-add foo --ovn-nbctl ls-add alice --ovn-nbctl ls-add outside -- --# Connect foo to R1 --ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 --ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ -- type=router options:router-port=foo \ -- -- lsp-set-addresses rp-foo router -- --# Connect alice to R1 as distributed router gateway port on gw1 --ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 -- --ovn-nbctl \ -- --id=@gc0 create Gateway_Chassis name=alice_gw1 \ -- chassis_name=gw1 \ -- priority=20 -- \ -- --id=@gc1 create Gateway_Chassis name=alice_gw2 \ -- chassis_name=gw2 \ -- priority=10 -- \ -- set Logical_Router_Port alice 'gateway_chassis=[@gc0,@gc1]' -- --ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ -- type=router options:router-port=alice \ -- -- lsp-set-addresses rp-alice router -- --# Create logical port foo1 in foo --ovn-nbctl lsp-add foo foo1 \ ---- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" -- --# Create logical port outside1 in outside --ovn-nbctl lsp-add outside outside1 \ ---- lsp-set-addresses outside1 "f0:00:00:01:02:04 172.16.1.3" -- --# Create localnet port in alice --ovn-nbctl lsp-add alice ln-alice --ovn-nbctl lsp-set-addresses ln-alice unknown --ovn-nbctl lsp-set-type ln-alice localnet --ovn-nbctl lsp-set-options ln-alice network_name=phys -- --# Create localnet port in outside --ovn-nbctl lsp-add outside ln-outside --ovn-nbctl lsp-set-addresses ln-outside unknown --ovn-nbctl lsp-set-type ln-outside localnet --ovn-nbctl lsp-set-options ln-outside network_name=phys -- --# Create bridge-mappings on gw1, gw2 and ext1, hv1 doesn't need --# mapping to the external network, is the one generating packets --as gw1 ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys --as gw2 ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys --as ext1 ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys -- --AT_CHECK([ovn-nbctl --timeout=3 --wait=sb sync], [0], [ignore]) -- --# Allow some time for ovn-northd and ovn-controller to catch up. --# XXX This should be more systematic. --sleep 2 -- --ip_to_hex() { -- printf "%02x%02x%02x%02x" "$@" --} -- --reset_pcap_file() { -- local iface=$1 -- local pcap_file=$2 -- ovs-vsctl -- set Interface $iface options:tx_pcap=dummy-tx.pcap \ --options:rxq_pcap=dummy-rx.pcap -- rm -f ${pcap_file}*.pcap -- ovs-vsctl -- set Interface $iface options:tx_pcap=${pcap_file}-tx.pcap \ --options:rxq_pcap=${pcap_file}-rx.pcap --} -- --test_ip_packet() --{ -- local active_gw=$1 -- local backup_gw=$2 -- local backup_vswitchd_dead=$3 -- -- # Send ip packet between foo1 and outside1 -- src_mac="f00000010203" # foo1 mac -- dst_mac="000001010203" # rp-foo mac (internal router leg) -- src_ip=`ip_to_hex 192 168 1 2` -- dst_ip=`ip_to_hex 172 16 1 3` -- packet=${dst_mac}${src_mac}08004500001c0000000040110000${src_ip}${dst_ip}0035111100080000 -- -- # ARP request packet to expect at outside1 -- #arp_request=ffffffffffff${src_mac}08060001080006040001${src_mac}${src_ip}000000000000${dst_ip} -- -- as hv1 ovs-appctl netdev-dummy/receive hv1-vif1 $packet -- -- # Send ARP reply from outside1 back to the router -- # XXX: note, we could avoid this if we plug this port into a netns -- # and setup the IP address into the port, so the kernel would simply reply -- src_mac="000002010203" -- reply_mac="f00000010204" -- dst_ip=`ip_to_hex 172 16 1 3` -- src_ip=`ip_to_hex 172 16 1 1` -- arp_reply=${src_mac}${reply_mac}08060001080006040002${reply_mac}${dst_ip}${src_mac}${src_ip} -- -- as ext1 ovs-appctl netdev-dummy/receive ext1-vif1 $arp_reply -- -- OVS_WAIT_UNTIL([ -- test `as $active_gw ovs-ofctl dump-flows br-int | grep table=66 | \ --grep actions=mod_dl_dst:f0:00:00:01:02:04 | wc -l` -eq 1 -- ]) -- -- # Packet to Expect at ext1 chassis, outside1 port -- src_mac="000002010203" -- dst_mac="f00000010204" -- src_ip=`ip_to_hex 192 168 1 2` -- dst_ip=`ip_to_hex 172 16 1 3` -- expected=${dst_mac}${src_mac}08004500001c000000003f110100${src_ip}${dst_ip}0035111100080000 -- echo $expected > ext1-vif1.expected -- -- as $active_gw reset_pcap_file br-phys_n1 $active_gw/br-phys_n1 -- -- if test $backup_vswitchd_dead != 1; then -- # Reset the file only if vswitchd in backup gw is alive -- as $backup_gw reset_pcap_file br-phys_n1 $backup_gw/br-phys_n1 -- fi -- as ext1 reset_pcap_file ext1-vif1 ext1/vif1 -- -- # Resend packet from foo1 to outside1 -- as hv1 ovs-appctl netdev-dummy/receive hv1-vif1 $packet -- -- sleep 1 -- -- OVN_CHECK_PACKETS([ext1/vif1-tx.pcap], [ext1-vif1.expected]) -- $PYTHON "$top_srcdir/utilities/ovs-pcap.in" $active_gw/br-phys_n1-tx.pcap > packets -- AT_CHECK([grep $expected packets | sort], [0], [expout]) -- if test $backup_vswitchd_dead != 1; then -- # Check for backup gw only if vswitchd is alive -- $PYTHON "$top_srcdir/utilities/ovs-pcap.in" $backup_gw/br-phys_n1-tx.pcap > packets -- AT_CHECK([grep $expected packets | sort], [0], []) -- fi --} -- --test_ip_packet gw1 gw2 0 -- --ovn-nbctl --timeout=3 --wait=hv \ -- --id=@gc0 create Gateway_Chassis name=alice_gw1 \ -- chassis_name=gw1 \ -- priority=10 -- \ -- --id=@gc1 create Gateway_Chassis name=alice_gw2 \ -- chassis_name=gw2 \ -- priority=20 -- \ -- set Logical_Router_Port alice 'gateway_chassis=[@gc0,@gc1]' -- --test_ip_packet gw2 gw1 0 -- --# Get the claim count of both gw1 and gw2. --gw1_claim_ct=`grep "cr-alice: Claiming" gw1/ovn-controller.log | wc -l` --gw2_claim_ct=`grep "cr-alice: Claiming" gw2/ovn-controller.log | wc -l` -- --# Stop ovs-vswitchd in gw2. gw1 should claim the gateway port. --as gw2 --OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) -- --# gw1 should claim the cr-alice and the claim count of gw1 should be --# incremented by 1. --gw1_claim_ct=$((gw1_claim_ct+1)) -- --OVS_WAIT_UNTIL([test $gw1_claim_ct = `cat gw1/ovn-controller.log \ --| grep -c "cr-alice: Claiming"`]) -- --AT_CHECK([test $gw2_claim_ct = `cat gw2/ovn-controller.log | \ --grep -c "cr-alice: Claiming"`]) -- --test_ip_packet gw1 gw2 1 -- --as gw2 --OVS_APP_EXIT_AND_WAIT([ovn-controller]) --OVS_APP_EXIT_AND_WAIT([ovsdb-server]) -- --OVN_CLEANUP([hv1],[gw1],[ext1]) -- --AT_CLEANUP -- - AT_SETUP([ovn -- 4 HV, 3 LS, 2 LR, packet test with HA distributed router gateway port]) - AT_SKIP_IF([test $HAVE_PYTHON = no]) - ovn_start -@@ -9727,91 +9506,6 @@ OVN_CLEANUP([hv1],[hv2],[hv3]) - - AT_CLEANUP - --AT_SETUP([ovn -- ensure one gw controller restart in HA doesn't bounce the master]) --AT_SKIP_IF([test $HAVE_PYTHON = no]) --ovn_start -- --net_add n1 -- --# create two gateways with external network connectivity --for i in 1 2; do -- sim_add gw$i -- as gw$i -- ovs-vsctl add-br br-phys -- ovn_attach n1 br-phys 192.168.0.$i -- ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys --done -- --ovn-nbctl ls-add inside --ovn-nbctl ls-add outside -- --# create one hypervisors with a vif port the internal network --sim_add hv1 --as hv1 --ovs-vsctl add-br br-phys --ovn_attach n1 br-phys 192.168.0.11 --ovs-vsctl -- add-port br-int hv1-vif1 -- \ -- set interface hv1-vif1 external-ids:iface-id=inside1 \ -- options:tx_pcap=hv1/vif1-tx.pcap \ -- options:rxq_pcap=hv1/vif1-rx.pcap \ -- ofport-request=1 -- --ovn-nbctl lsp-add inside inside1 \ -- -- lsp-set-addresses inside1 "f0:00:00:01:22:01 192.168.1.101" -- -- --OVN_POPULATE_ARP -- --ovn-nbctl create Logical_Router name=R1 -- --# Connect inside to R1 --ovn-nbctl lrp-add R1 inside 00:00:01:01:02:03 192.168.1.1/24 --ovn-nbctl lsp-add inside rp-inside -- set Logical_Switch_Port rp-inside \ -- type=router options:router-port=inside \ -- -- lsp-set-addresses rp-inside router -- --# Connect outside to R1 as distributed router gateway port on gw1+gw2 --ovn-nbctl lrp-add R1 outside 00:00:02:01:02:04 192.168.0.101/24 -- --ovn-nbctl --id=@gc0 create Gateway_Chassis \ -- name=outside_gw1 chassis_name=gw1 priority=20 -- \ -- --id=@gc1 create Gateway_Chassis \ -- name=outside_gw2 chassis_name=gw2 priority=10 -- \ -- set Logical_Router_Port outside 'gateway_chassis=[@gc0,@gc1]' -- --ovn-nbctl lsp-add outside rp-outside -- set Logical_Switch_Port rp-outside \ -- type=router options:router-port=outside \ -- -- lsp-set-addresses rp-outside router -- --# Create localnet port in outside --ovn-nbctl lsp-add outside ln-outside --ovn-nbctl lsp-set-addresses ln-outside unknown --ovn-nbctl lsp-set-type ln-outside localnet --ovn-nbctl lsp-set-options ln-outside network_name=phys -- --# Allow some time for ovn-northd and ovn-controller to catch up. --ovn-nbctl --wait=hv --timeout=3 sync -- --# currently when ovn-controller is restarted, the old entry is deleted --# and a new one is created, which leaves the Gateway_Chassis with --# an empty chassis for a while. NOTE: restarting ovn-controller in tests --# doesn't have the same effect because "name" is conserved, and the --# Chassis entry is not replaced. -- --> gw1/ovn-controller.log -- --gw2_chassis=$(ovn-sbctl --bare --columns=_uuid find Chassis name=gw2) --ovn-sbctl destroy Chassis $gw2_chassis -- --# Ensure ovn-controller has processed latest sbdb update --# ovn-nbctl --wait=hv sync -- --AT_CHECK([grep "Releasing lport" gw1/ovn-controller.log], [1], []) -- --OVN_CLEANUP([gw1],[gw2],[hv1]) -- --AT_CLEANUP -- - AT_SETUP([ovn -- IPv6 Neighbor Solicitation for unknown MAC]) - AT_KEYWORDS([ovn-nd_ns for unknown mac]) - AT_SKIP_IF([test $HAVE_PYTHON = no]) diff --git a/debian/patches/series b/debian/patches/series index 4c31b32..3f5287b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -10,5 +10,3 @@ disable-even-more-tests.patch blacklist-ofproto-async-msg-ctrl-of1.3-because-of-mips.patch remove-yet-another-mips-failing-test.patch remove-non-deterministic-tests.patch -0001-acinclude-Also-use-LIBS-from-dpkg-pkg-config.patch -disable-failing-ovn-tests.patch -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel