[pve-devel] [PATCH openvswitch 5/7] remove 2 patches not working on 2.12

Alexandre Derumier aderumier at odiso.com
Thu Feb 13 07:04:19 CET 2020


---
 ...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.ehrhardt at 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 <bluca at debian.org>
-Acked-by: Aaron Conole <aconole at redhat.com>
-Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
-Signed-off-by: Ian Stokes <ian.stokes at 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 <scott at 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 <scott at netsplit.com>.
-+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists at 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 <zigo at 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, at 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, at 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, at 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




More information about the pve-devel mailing list