Accepting request 1077608 from home:dpitchumani:branches:openSUSE:Factory
Description: - Update OVS to version v3.1.0 and OVN to version v23.03.0 Actions: - submit home:dpitchumani:branches:openSUSE:Factory/openvswitch => netowkr/openvswitch Features: - ovs-vswitchd now detects changes in CPU affinity and adjusts the number of handler and revalidator threads if necessary. - AF_XDP: * Added support for building with libxdp and libbpf >= 0.7. * Support for AF_XDP is now enabled by default if all dependencies are available at the build time. Use --disable-afxdp to disable. Use --enable-afxdp to fail the build if dependencies are not present. - ovs-appctl: * "ovs-appctl ofproto/trace" command can now display port names with the "--names" option. - OVSDB-IDL: * Add the support to specify the persistent uuid for row insert in both C and Python IDLs. - Windows: * Conntrack IPv6 fragment support. - DPDK: * Add support for DPDK 22.11.1. - For the QoS max-rate and STP/RSTP path-cost configuration OVS now assumes 10 Gbps link speed by default in case the actual link speed cannot be determined. Previously it was 10 Mbps. Values can still be overridden by specifying 'max-rate' or '[r]stp-path-cost' accordingly. - OpenFlow: * New OpenFlow extension NXT_CT_FLUSH to flush connections matching the specified fields. - ovs-ctl: * New option '--dump-hugepages' to include hugepages in core dumps. This can assist with postmortem analysis involving DPDK, but may also produce significantly larger core dump files. - ovs-dpctl and 'ovs-appctl dpctl/' commands: * 'flush-conntrack' is now capable of handling partial 5-tuple, with additional optional parameter to specify the reply direction. - ovs-ofctl: * New command 'flush-conntrack' that accepts zone and 5-tuple (or partial 5-tuple) for both directions. - Support for travis-ci.org based continuous integration builds has been dropped. - Userspace datapath: * Add '-secs' argument to appctl 'dpif-netdev/pmd-rxq-show' to show the pmd usage of an Rx queue over a configurable time period. * Add new experimental PMD load based sleeping feature. PMD threads can request to sleep up to a user configured 'pmd-maxsleep' value under low load conditions. -For more details, check https://github.com/openvswitch/ovs/blob/v3.1.0/NEWS -Includes secrity fix for CVE-2022-4338 (bsc#1206580) and CVE-2022-4337 (bsc#1206581) - OVN package is not included as new version with API chnages are not yet released. - Removed upstreamed patches, * 0001-Replace-deprecated-var-run-with-run.patch * openvswitch-CVE-2021-36980.patch - Added ovsb tool install patch, * install-ovsdb-tools.patch OBS-URL: https://build.opensuse.org/request/show/1077608 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=238
This commit is contained in:
parent
38ecd810de
commit
ee8143d3f4
@ -6,12 +6,11 @@ Subject: [PATCH 1/2] Don't change permissions of /dev/hugepages
|
||||
For SLES/openSUSE, don't change permissions of /dev/hugepages as that is
|
||||
a system path. Sysadmin shoudl mount hugepages on a path and permission
|
||||
of his choosing if OVS either manually or via hugeadm.
|
||||
---
|
||||
rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
Updated 2023-02-26 for version 3.1.0
|
||||
|
||||
diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
|
||||
index ff43dae96..08355d950 100644
|
||||
index 6d021618b..71c49dc59 100644
|
||||
--- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
|
||||
+++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
|
||||
@@ -16,10 +16,6 @@ EnvironmentFile=/etc/openvswitch/default.conf
|
||||
@ -25,6 +24,3 @@ index ff43dae96..08355d950 100644
|
||||
ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
|
||||
--no-ovsdb-server --no-monitor --system-id=random \
|
||||
${OVS_USER_OPT} \
|
||||
--
|
||||
2.16.4
|
||||
|
@ -7,13 +7,11 @@ Change default run configuration to unprivilieged user openvswitch and
|
||||
group openvswitch. Expect any further customization from user in
|
||||
sysconfig/openvswitch, including setting it back to privileged root:root
|
||||
configuration.
|
||||
---
|
||||
rhel/etc_logrotate.d_openvswitch | 2 +-
|
||||
rhel/etc_openvswitch_default.conf | 3 +--
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
Updated 2023-02-26 for version 3.1.0
|
||||
|
||||
diff --git a/rhel/etc_logrotate.d_openvswitch b/rhel/etc_logrotate.d_openvswitch
|
||||
index f4302ffbc..eaf1fd5bf 100644
|
||||
index c0f476744..fa6303873 100644
|
||||
--- a/rhel/etc_logrotate.d_openvswitch
|
||||
+++ b/rhel/etc_logrotate.d_openvswitch
|
||||
@@ -6,7 +6,7 @@
|
||||
@ -26,16 +24,12 @@ index f4302ffbc..eaf1fd5bf 100644
|
||||
compress
|
||||
sharedscripts
|
||||
diff --git a/rhel/etc_openvswitch_default.conf b/rhel/etc_openvswitch_default.conf
|
||||
index c74417db6..20d1f5f54 100644
|
||||
index c74417db6..569ca95de 100644
|
||||
--- a/rhel/etc_openvswitch_default.conf
|
||||
+++ b/rhel/etc_openvswitch_default.conf
|
||||
@@ -1,5 +1,4 @@
|
||||
# DO NOT EDIT THIS FILE
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
# The following is the *default* configuration for the openvswitch user ID.
|
||||
-# This is for backward compatibility.
|
||||
# This is for backward compatibility.
|
||||
-OVS_USER_ID="root:root"
|
||||
+OVS_USER_ID="openvswitch:openvswitch"
|
||||
--
|
||||
2.16.4
|
||||
|
49
0001-Run-ovn-as-openvswitch-openvswitch.patch
Normal file
49
0001-Run-ovn-as-openvswitch-openvswitch.patch
Normal file
@ -0,0 +1,49 @@
|
||||
diff --git a/rhel/etc_logrotate.d_ovn b/rhel/etc_logrotate.d_ovn
|
||||
index a351ec303..4b26333fc 100644
|
||||
--- a/rhel/etc_logrotate.d_ovn
|
||||
+++ b/rhel/etc_logrotate.d_ovn
|
||||
@@ -6,7 +6,7 @@
|
||||
# without warranty of any kind.
|
||||
|
||||
/var/log/ovn/*.log {
|
||||
- su root root
|
||||
+ su openvswitch openvswitch
|
||||
daily
|
||||
compress
|
||||
sharedscripts
|
||||
diff --git a/rhel/usr_lib_systemd_system_ovn-controller-vtep.service b/rhel/usr_lib_systemd_system_ovn-controller-vtep.service
|
||||
index c6601cb46..48f6e3992 100644
|
||||
--- a/rhel/usr_lib_systemd_system_ovn-controller-vtep.service
|
||||
+++ b/rhel/usr_lib_systemd_system_ovn-controller-vtep.service
|
||||
@@ -35,6 +35,7 @@ After=openvswitch.service
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=on-failure
|
||||
+Environment=OVN_USER_ID=openvswitch:openvswitch
|
||||
Environment=OVS_RUNDIR=%t/openvswitch
|
||||
Environment=OVN_RUNDIR=%t/ovn
|
||||
Environment=OVN_DB=unix:%t/ovn/ovnsb_db.sock
|
||||
diff --git a/rhel/usr_lib_systemd_system_ovn-controller.service b/rhel/usr_lib_systemd_system_ovn-controller.service
|
||||
index 15d0ac853..c602760f1 100644
|
||||
--- a/rhel/usr_lib_systemd_system_ovn-controller.service
|
||||
+++ b/rhel/usr_lib_systemd_system_ovn-controller.service
|
||||
@@ -23,6 +23,7 @@ After=openvswitch.service
|
||||
Type=forking
|
||||
PIDFile=/var/run/ovn/ovn-controller.pid
|
||||
Restart=on-failure
|
||||
+Environment=OVN_USER_ID=openvswitch:openvswitch
|
||||
Environment=OVN_RUNDIR=%t/ovn OVS_RUNDIR=%t/openvswitch
|
||||
EnvironmentFile=-/etc/sysconfig/ovn
|
||||
EnvironmentFile=-/etc/sysconfig/ovn-controller
|
||||
diff --git a/rhel/usr_lib_systemd_system_ovn-northd.service b/rhel/usr_lib_systemd_system_ovn-northd.service
|
||||
index 6c4c6621c..d74196a49 100644
|
||||
--- a/rhel/usr_lib_systemd_system_ovn-northd.service
|
||||
+++ b/rhel/usr_lib_systemd_system_ovn-northd.service
|
||||
@@ -20,6 +20,7 @@ After=syslog.target
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
+Environment=OVN_USER_ID=openvswitch:openvswitch
|
||||
Environment=OVN_RUNDIR=%t/ovn OVN_DBDIR=/var/lib/ovn
|
||||
EnvironmentFile=-/etc/sysconfig/ovn
|
||||
EnvironmentFile=-/etc/sysconfig/ovn-northd
|
@ -3,12 +3,10 @@ From: =?UTF-8?q?Jaime=20Caama=C3=B1o=20Ruiz?= <jcaamano@suse.com>
|
||||
Date: Mon, 15 Jun 2020 15:15:53 +0200
|
||||
Subject: [PATCH] Use double hash for OVS_USER_ID comment
|
||||
|
||||
---
|
||||
rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
Updated 2023-02-26 for version 3.1.0
|
||||
|
||||
diff --git a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
||||
index c467d02db..10b841679 100644
|
||||
index c467d02db..58c0e4797 100644
|
||||
--- a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
||||
+++ b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
||||
@@ -28,4 +28,4 @@
|
||||
@ -17,6 +15,3 @@ index c467d02db..10b841679 100644
|
||||
# Uncomment and set the OVS User/Group value
|
||||
-#OVS_USER_ID="openvswitch:openvswitch"
|
||||
+##OVS_USER_ID="openvswitch:openvswitch"
|
||||
--
|
||||
2.26.1
|
||||
|
@ -5,14 +5,14 @@ Subject: [PATCH] Use strongswan for openvswitch-ipsec service
|
||||
|
||||
Since libreswan is not packaged for Leap/SLES, use strongswan for the
|
||||
time being.
|
||||
---
|
||||
rhel/usr_lib_systemd_system_openvswitch-ipsec.service | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff -Nur openvswitch-2.17.0/rhel/usr_lib_systemd_system_openvswitch-ipsec.service new/rhel/usr_lib_systemd_system_openvswitch-ipsec.service
|
||||
--- openvswitch-2.17.0/rhel/usr_lib_systemd_system_openvswitch-ipsec.service 2022-02-17 23:15:55.257680736 +0100
|
||||
+++ new/rhel/usr_lib_systemd_system_openvswitch-ipsec.service 2022-02-26 02:22:12.429785364 +0100
|
||||
@@ -7,7 +7,7 @@
|
||||
Updated 2023-02-26 for version 3.1.0
|
||||
|
||||
diff --git a/rhel/usr_lib_systemd_system_openvswitch-ipsec.service b/rhel/usr_lib_systemd_system_openvswitch-ipsec.service
|
||||
index 92dad44f9..ec86874cb 100644
|
||||
--- a/rhel/usr_lib_systemd_system_openvswitch-ipsec.service
|
||||
+++ b/rhel/usr_lib_systemd_system_openvswitch-ipsec.service
|
||||
@@ -7,7 +7,7 @@ After=openvswitch.service
|
||||
Type=forking
|
||||
PIDFile=/run/openvswitch/ovs-monitor-ipsec.pid
|
||||
ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
|
@ -1,46 +0,0 @@
|
||||
From edf699ec6404da3612b58aab85d7da12f0dc9733 Mon Sep 17 00:00:00 2001
|
||||
From: Cheng Li <lic121@chinatelecom.cn>
|
||||
Date: Fri, 16 Sep 2022 09:56:18 +0000
|
||||
Subject: [PATCH] m4: Test avx512 for x86 only.
|
||||
|
||||
'as' command of arm version may don't support option '--64', this
|
||||
patch is to move the avx512 test into x86 branch to avoid this.
|
||||
|
||||
Fixes: 352b6c7116cd ("dpif-lookup: add avx512 gather implementation.")
|
||||
Tested-by: Harry van Haaren <harry.van.haaren@intel.com>
|
||||
Signed-off-by: Cheng Li <lic121@chinatelecom.cn>
|
||||
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
|
||||
---
|
||||
m4/openvswitch.m4 | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
|
||||
index 21808483e..09134feca 100644
|
||||
--- a/m4/openvswitch.m4
|
||||
+++ b/m4/openvswitch.m4
|
||||
@@ -436,8 +436,8 @@ AC_DEFUN([OVS_CHECK_BINUTILS_AVX512],
|
||||
mkdir -p build-aux
|
||||
OBJFILE=build-aux/binutils_avx512_check.o
|
||||
GATHER_PARAMS='0x8(,%ymm1,1),%ymm0{%k2}'
|
||||
- echo "vpgatherqq $GATHER_PARAMS" | as --64 -o $OBJFILE -
|
||||
if ($CC -dumpmachine | grep x86_64) >/dev/null 2>&1; then
|
||||
+ echo "vpgatherqq $GATHER_PARAMS" | as --64 -o $OBJFILE -
|
||||
if (objdump -d --no-show-raw-insn $OBJFILE | grep -q $GATHER_PARAMS) >/dev/null 2>&1; then
|
||||
ovs_cv_binutils_avx512_good=yes
|
||||
else
|
||||
@@ -446,11 +446,11 @@ AC_DEFUN([OVS_CHECK_BINUTILS_AVX512],
|
||||
dnl and causing zmm usage with buggy binutils versions.
|
||||
CFLAGS="$CFLAGS -mno-avx512f"
|
||||
fi
|
||||
+ rm $OBJFILE
|
||||
else
|
||||
dnl non x86_64 architectures don't have avx512, so not affected
|
||||
ovs_cv_binutils_avx512_good=no
|
||||
fi])
|
||||
- rm $OBJFILE
|
||||
if test "$ovs_cv_binutils_avx512_good" = yes; then
|
||||
AC_DEFINE([HAVE_LD_AVX512_GOOD], [1],
|
||||
[Define to 1 if binutils correctly supports AVX512.])
|
||||
--
|
||||
2.37.3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,355 +0,0 @@
|
||||
From a77ad9693c8b49055389559187fe74eddb619746 Mon Sep 17 00:00:00 2001
|
||||
From: David Marchand <david.marchand@redhat.com>
|
||||
Date: Wed, 29 Jun 2022 09:32:24 +0200
|
||||
Subject: [PATCH] dpif-netdev: Refactor AVX512 runtime checks.
|
||||
|
||||
As described in the bugzilla below, cpu_has_isa code may be compiled
|
||||
with some AVX512 instructions in it, because cpu.c is built as part of
|
||||
the libopenvswitchavx512.
|
||||
This is a problem when this function (supposed to probe for AVX512
|
||||
instructions availability) is invoked from generic OVS code, on older
|
||||
CPUs that don't support them.
|
||||
|
||||
For the same reason, dpcls_subtable_avx512_gather_probe,
|
||||
dp_netdev_input_outer_avx512_probe, mfex_avx512_probe and
|
||||
mfex_avx512_vbmi_probe are potential runtime bombs and can't either be
|
||||
built as part of libopenvswitchavx512.
|
||||
|
||||
Move cpu.c to be part of the "normal" libopenvswitch.
|
||||
And move other helpers in generic OVS code.
|
||||
|
||||
Note:
|
||||
- dpcls_subtable_avx512_gather_probe is split in two, because it also
|
||||
needs to do its own magic,
|
||||
- while moving those helpers, prefer direct calls to cpu_has_isa and
|
||||
avoid cast to intermediate integer variables when a simple boolean
|
||||
is enough,
|
||||
|
||||
Fixes: 352b6c7116cd ("dpif-lookup: add avx512 gather implementation.")
|
||||
Fixes: abb807e27dd4 ("dpif-netdev: Add command to switch dpif implementation.")
|
||||
Fixes: 250ceddcc2d0 ("dpif-netdev/mfex: Add AVX512 based optimized miniflow extract")
|
||||
Fixes: b366fa2f4947 ("dpif-netdev: Call cpuid for x86 isa availability.")
|
||||
Reported-at: https://bugzilla.redhat.com/2100393
|
||||
Reported-by: Ales Musil <amusil@redhat.com>
|
||||
Co-authored-by: Ales Musil <amusil@redhat.com>
|
||||
Signed-off-by: Ales Musil <amusil@redhat.com>
|
||||
Signed-off-by: David Marchand <david.marchand@redhat.com>
|
||||
Acked-by: Sunil Pai G <sunil.pai.g@intel.com>
|
||||
Acked-by: Ales Musil <amusil@redhat.com>
|
||||
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
|
||||
---
|
||||
lib/automake.mk | 4 +--
|
||||
lib/dpif-netdev-avx512.c | 14 ---------
|
||||
lib/dpif-netdev-extract-avx512.c | 43 --------------------------
|
||||
lib/dpif-netdev-lookup-avx512-gather.c | 12 ++-----
|
||||
lib/dpif-netdev-lookup.c | 15 +++++++++
|
||||
lib/dpif-netdev-lookup.h | 3 +-
|
||||
lib/dpif-netdev-private-dpif.c | 14 +++++++++
|
||||
lib/dpif-netdev-private-dpif.h | 5 +--
|
||||
lib/dpif-netdev-private-extract.c | 38 +++++++++++++++++++++++
|
||||
lib/dpif-netdev-private-extract.h | 4 +--
|
||||
10 files changed, 75 insertions(+), 77 deletions(-)
|
||||
|
||||
Index: openvswitch-2.17.2/lib/automake.mk
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/automake.mk
|
||||
+++ openvswitch-2.17.2/lib/automake.mk
|
||||
@@ -38,8 +38,6 @@ lib_libopenvswitchavx512_la_CFLAGS = \
|
||||
-fPIC \
|
||||
$(AM_CFLAGS)
|
||||
lib_libopenvswitchavx512_la_SOURCES = \
|
||||
- lib/cpu.c \
|
||||
- lib/cpu.h \
|
||||
lib/dpif-netdev-lookup-avx512-gather.c \
|
||||
lib/dpif-netdev-extract-avx512.c \
|
||||
lib/dpif-netdev-avx512.c
|
||||
@@ -89,6 +87,8 @@ lib_libopenvswitch_la_SOURCES = \
|
||||
lib/conntrack.h \
|
||||
lib/coverage.c \
|
||||
lib/coverage.h \
|
||||
+ lib/cpu.c \
|
||||
+ lib/cpu.h \
|
||||
lib/crc32c.c \
|
||||
lib/crc32c.h \
|
||||
lib/csum.c \
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-avx512.c
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-avx512.c
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-avx512.c
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
-#include "cpu.h"
|
||||
#include "dpif-netdev.h"
|
||||
#include "dpif-netdev-perf.h"
|
||||
#include "dpif-netdev-private.h"
|
||||
@@ -60,19 +59,6 @@ struct dpif_userdata {
|
||||
};
|
||||
|
||||
int32_t
|
||||
-dp_netdev_input_outer_avx512_probe(void)
|
||||
-{
|
||||
- bool avx512f_available = cpu_has_isa(OVS_CPU_ISA_X86_AVX512F);
|
||||
- bool bmi2_available = cpu_has_isa(OVS_CPU_ISA_X86_BMI2);
|
||||
-
|
||||
- if (!avx512f_available || !bmi2_available) {
|
||||
- return -ENOTSUP;
|
||||
- }
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-int32_t
|
||||
dp_netdev_input_outer_avx512(struct dp_netdev_pmd_thread *pmd,
|
||||
struct dp_packet_batch *packets,
|
||||
odp_port_t in_port)
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-extract-avx512.c
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-extract-avx512.c
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-extract-avx512.c
|
||||
@@ -42,7 +42,6 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
-#include "cpu.h"
|
||||
#include "internal/flow.h"
|
||||
|
||||
#include "dpif-netdev-private-dpcls.h"
|
||||
@@ -659,47 +658,5 @@ DECLARE_MFEX_FUNC(ip_udp, PROFILE_ETH_IP
|
||||
DECLARE_MFEX_FUNC(ip_tcp, PROFILE_ETH_IPV4_TCP)
|
||||
DECLARE_MFEX_FUNC(dot1q_ip_udp, PROFILE_ETH_VLAN_IPV4_UDP)
|
||||
DECLARE_MFEX_FUNC(dot1q_ip_tcp, PROFILE_ETH_VLAN_IPV4_TCP)
|
||||
-
|
||||
-
|
||||
-static int32_t
|
||||
-avx512_isa_probe(uint32_t needs_vbmi)
|
||||
-{
|
||||
- static enum ovs_cpu_isa isa_required[] = {
|
||||
- OVS_CPU_ISA_X86_AVX512F,
|
||||
- OVS_CPU_ISA_X86_AVX512BW,
|
||||
- OVS_CPU_ISA_X86_BMI2,
|
||||
- };
|
||||
-
|
||||
- int32_t ret = 0;
|
||||
- for (uint32_t i = 0; i < ARRAY_SIZE(isa_required); i++) {
|
||||
- if (!cpu_has_isa(isa_required[i])) {
|
||||
- ret = -ENOTSUP;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (needs_vbmi) {
|
||||
- if (!cpu_has_isa(OVS_CPU_ISA_X86_AVX512VBMI)) {
|
||||
- ret = -ENOTSUP;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return ret;
|
||||
-}
|
||||
-
|
||||
-/* Probe functions to check ISA requirements. */
|
||||
-int32_t
|
||||
-mfex_avx512_probe(void)
|
||||
-{
|
||||
- const uint32_t needs_vbmi = 0;
|
||||
- return avx512_isa_probe(needs_vbmi);
|
||||
-}
|
||||
-
|
||||
-int32_t
|
||||
-mfex_avx512_vbmi_probe(void)
|
||||
-{
|
||||
- const uint32_t needs_vbmi = 1;
|
||||
- return avx512_isa_probe(needs_vbmi);
|
||||
-}
|
||||
-
|
||||
#endif /* __CHECKER__ */
|
||||
#endif /* __x86_64__ */
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-lookup-avx512-gather.c
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-lookup-avx512-gather.c
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-lookup-avx512-gather.c
|
||||
@@ -396,18 +396,11 @@ dpcls_avx512_gather_mf_any(struct dpcls_
|
||||
}
|
||||
|
||||
dpcls_subtable_lookup_func
|
||||
-dpcls_subtable_avx512_gather_probe(uint32_t u0_bits, uint32_t u1_bits)
|
||||
+dpcls_subtable_avx512_gather_probe__(uint32_t u0_bits, uint32_t u1_bits,
|
||||
+ bool use_vpop)
|
||||
{
|
||||
dpcls_subtable_lookup_func f = NULL;
|
||||
|
||||
- int avx512f_available = cpu_has_isa(OVS_CPU_ISA_X86_AVX512F);
|
||||
- int bmi2_available = cpu_has_isa(OVS_CPU_ISA_X86_BMI2);
|
||||
- if (!avx512f_available || !bmi2_available) {
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- int use_vpop = cpu_has_isa(OVS_CPU_ISA_X86_VPOPCNTDQ);
|
||||
-
|
||||
CHECK_LOOKUP_FUNCTION(9, 4, use_vpop);
|
||||
CHECK_LOOKUP_FUNCTION(9, 1, use_vpop);
|
||||
CHECK_LOOKUP_FUNCTION(5, 3, use_vpop);
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-lookup.c
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-lookup.c
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-lookup.c
|
||||
@@ -18,10 +18,25 @@
|
||||
#include <errno.h>
|
||||
#include "dpif-netdev-lookup.h"
|
||||
|
||||
+#include "cpu.h"
|
||||
#include "openvswitch/vlog.h"
|
||||
|
||||
VLOG_DEFINE_THIS_MODULE(dpif_netdev_lookup);
|
||||
|
||||
+#if (__x86_64__ && HAVE_AVX512F && HAVE_LD_AVX512_GOOD && __SSE4_2__)
|
||||
+static dpcls_subtable_lookup_func
|
||||
+dpcls_subtable_avx512_gather_probe(uint32_t u0_bits, uint32_t u1_bits)
|
||||
+{
|
||||
+ if (!cpu_has_isa(OVS_CPU_ISA_X86_AVX512F)
|
||||
+ || !cpu_has_isa(OVS_CPU_ISA_X86_BMI2)) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return dpcls_subtable_avx512_gather_probe__(u0_bits, u1_bits,
|
||||
+ cpu_has_isa(OVS_CPU_ISA_X86_VPOPCNTDQ));
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* Actual list of implementations goes here */
|
||||
static struct dpcls_subtable_lookup_info_t subtable_lookups[] = {
|
||||
/* The autovalidator implementation will not be used by default, it must
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-lookup.h
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-lookup.h
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-lookup.h
|
||||
@@ -44,7 +44,8 @@ dpcls_subtable_generic_probe(uint32_t u0
|
||||
|
||||
/* Probe function for AVX-512 gather implementation */
|
||||
dpcls_subtable_lookup_func
|
||||
-dpcls_subtable_avx512_gather_probe(uint32_t u0_bit_cnt, uint32_t u1_bit_cnt);
|
||||
+dpcls_subtable_avx512_gather_probe__(uint32_t u0_bit_cnt, uint32_t u1_bit_cnt,
|
||||
+ bool use_vpop);
|
||||
|
||||
|
||||
/* Subtable registration and iteration helpers */
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-private-dpif.c
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-private-dpif.c
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-private-dpif.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
+#include "cpu.h"
|
||||
#include "openvswitch/dynamic-string.h"
|
||||
#include "openvswitch/vlog.h"
|
||||
#include "internal/util.h"
|
||||
@@ -33,6 +34,19 @@ enum dpif_netdev_impl_info_idx {
|
||||
DPIF_NETDEV_IMPL_AVX512
|
||||
};
|
||||
|
||||
+#if (__x86_64__ && HAVE_AVX512F && HAVE_LD_AVX512_GOOD && __SSE4_2__)
|
||||
+static int32_t
|
||||
+dp_netdev_input_outer_avx512_probe(void)
|
||||
+{
|
||||
+ if (!cpu_has_isa(OVS_CPU_ISA_X86_AVX512F)
|
||||
+ || !cpu_has_isa(OVS_CPU_ISA_X86_BMI2)) {
|
||||
+ return -ENOTSUP;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* Actual list of implementations goes here. */
|
||||
static struct dpif_netdev_impl_info_t dpif_impls[] = {
|
||||
/* The default scalar C code implementation. */
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-private-dpif.h
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-private-dpif.h
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-private-dpif.h
|
||||
@@ -67,10 +67,7 @@ dp_netdev_input(struct dp_netdev_pmd_thr
|
||||
struct dp_packet_batch *packets,
|
||||
odp_port_t in_port);
|
||||
|
||||
-/* AVX512 enabled DPIF implementation and probe functions. */
|
||||
-int32_t
|
||||
-dp_netdev_input_outer_avx512_probe(void);
|
||||
-
|
||||
+/* AVX512 enabled DPIF implementation function. */
|
||||
int32_t
|
||||
dp_netdev_input_outer_avx512(struct dp_netdev_pmd_thread *pmd,
|
||||
struct dp_packet_batch *packets,
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-private-extract.c
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-private-extract.c
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-private-extract.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
+#include "cpu.h"
|
||||
#include "internal/dp-packet.h"
|
||||
#include "dpif-netdev-private-dpcls.h"
|
||||
#include "dpif-netdev-private-extract.h"
|
||||
@@ -33,6 +34,43 @@ VLOG_DEFINE_THIS_MODULE(dpif_netdev_extr
|
||||
/* Variable to hold the default MFEX implementation. */
|
||||
static ATOMIC(miniflow_extract_func) default_mfex_func;
|
||||
|
||||
+#if (__x86_64__ && HAVE_AVX512F && HAVE_LD_AVX512_GOOD && __SSE4_2__)
|
||||
+static int32_t
|
||||
+avx512_isa_probe(bool needs_vbmi)
|
||||
+{
|
||||
+ static enum ovs_cpu_isa isa_required[] = {
|
||||
+ OVS_CPU_ISA_X86_AVX512F,
|
||||
+ OVS_CPU_ISA_X86_AVX512BW,
|
||||
+ OVS_CPU_ISA_X86_BMI2,
|
||||
+ };
|
||||
+
|
||||
+ for (uint32_t i = 0; i < ARRAY_SIZE(isa_required); i++) {
|
||||
+ if (!cpu_has_isa(isa_required[i])) {
|
||||
+ return -ENOTSUP;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (needs_vbmi && !cpu_has_isa(OVS_CPU_ISA_X86_AVX512VBMI)) {
|
||||
+ return -ENOTSUP;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/* Probe functions to check ISA requirements. */
|
||||
+static int32_t
|
||||
+mfex_avx512_probe(void)
|
||||
+{
|
||||
+ return avx512_isa_probe(false);
|
||||
+}
|
||||
+
|
||||
+static int32_t
|
||||
+mfex_avx512_vbmi_probe(void)
|
||||
+{
|
||||
+ return avx512_isa_probe(true);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* Implementations of available extract options and
|
||||
* the implementations are always in order of preference.
|
||||
*/
|
||||
Index: openvswitch-2.17.2/lib/dpif-netdev-private-extract.h
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/lib/dpif-netdev-private-extract.h
|
||||
+++ openvswitch-2.17.2/lib/dpif-netdev-private-extract.h
|
||||
@@ -176,10 +176,8 @@ mfex_study_traffic(struct dp_packet_batc
|
||||
int
|
||||
mfex_set_study_pkt_cnt(uint32_t pkt_cmp_count, const char *name);
|
||||
|
||||
-/* AVX512 MFEX Probe and Implementations functions. */
|
||||
+/* AVX512 MFEX Implementation functions. */
|
||||
#ifdef __x86_64__
|
||||
-int32_t mfex_avx512_probe(void);
|
||||
-int32_t mfex_avx512_vbmi_probe(void);
|
||||
|
||||
#define DECLARE_AVX512_MFEX_PROTOTYPE(name) \
|
||||
uint32_t \
|
@ -1,7 +1,8 @@
|
||||
diff -Nur openvswitch-2.17.0/ovsdb/automake.mk new/ovsdb/automake.mk
|
||||
--- openvswitch-2.17.0/ovsdb/automake.mk 2022-02-17 23:15:55.240680736 +0100
|
||||
+++ new/ovsdb/automake.mk 2022-02-27 20:21:59.358719903 +0100
|
||||
@@ -88,8 +88,9 @@
|
||||
diff --git a/ovsdb/automake.mk b/ovsdb/automake.mk
|
||||
index eba713bb6..f1c40d019 100644
|
||||
--- a/ovsdb/automake.mk
|
||||
+++ b/ovsdb/automake.mk
|
||||
@@ -88,8 +88,9 @@ CLEANFILES += ovsdb/ovsdb-server.1
|
||||
MAN_ROOTS += ovsdb/ovsdb-server.1.in
|
||||
|
||||
# ovsdb-idlc
|
||||
@ -12,7 +13,7 @@ diff -Nur openvswitch-2.17.0/ovsdb/automake.mk new/ovsdb/automake.mk
|
||||
MAN_ROOTS += ovsdb/ovsdb-idlc.1
|
||||
CLEANFILES += ovsdb/ovsdb-idlc
|
||||
SUFFIXES += .ovsidl .ovsschema
|
||||
@@ -112,14 +113,18 @@
|
||||
@@ -112,14 +113,18 @@ CLEANFILES += $(OVSIDL_BUILT)
|
||||
# at least for now.
|
||||
$(OVSIDL_BUILT): ovsdb/ovsdb-idlc.in python/ovs/dirs.py
|
||||
|
||||
|
@ -1,468 +0,0 @@
|
||||
From 28fec7e88f0faf877a1da4fcfb4b629211fff84c Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||
Date: Mon, 12 Sep 2022 21:38:46 +0200
|
||||
Subject: [PATCH] Fix tests with GNU grep 3.8
|
||||
|
||||
GNU grep 3.8 started to emit warnings when invoking egrep/fgrep. In some
|
||||
cases this breaks tests that check stderr. Replace the commands with
|
||||
their grep -E and grep -F counterparts throughout.
|
||||
|
||||
Signed-off-by: Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||
Reported-at: https://bugzilla.opensuse.org/show_bug.cgi?id=1203239
|
||||
|
||||
https://github.com/openvswitch/ovs/pull/395
|
||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1203239
|
||||
---
|
||||
tests/ofproto-dpif.at | 12 +--
|
||||
tests/ovs-macros.at | 2 +-
|
||||
tests/ovs-ofctl.at | 6 +-
|
||||
tests/system-dpdk-macros.at | 2 +-
|
||||
tests/system-dpdk.at | 48 ++++-----
|
||||
tests/system-offloads-traffic.at | 4 +-
|
||||
tests/system-traffic.at | 162 +++++++++++++++----------------
|
||||
tests/tunnel-push-pop.at | 6 +-
|
||||
8 files changed, 121 insertions(+), 121 deletions(-)
|
||||
|
||||
Index: openvswitch-2.17.2/tests/ofproto-dpif.at
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/tests/ofproto-dpif.at
|
||||
+++ openvswitch-2.17.2/tests/ofproto-dpif.at
|
||||
@@ -126,7 +126,7 @@ dnl bring the primary back and verify th
|
||||
dnl primary.
|
||||
ovs-appctl netdev-dummy/set-admin-state p1 down
|
||||
ovs-appctl time/warp 100
|
||||
-OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | fgrep 'member p1: disabled'`"])
|
||||
+OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | grep -F 'member p1: disabled'`"])
|
||||
ovs-appctl netdev-dummy/set-admin-state p1 up
|
||||
ovs-appctl time/warp 100
|
||||
OVS_WAIT_UNTIL_EQUAL([ovs-appctl bond/show | STRIP_RECIRC_ID | STRIP_ACTIVE_MEMBER_MAC], [dnl
|
||||
@@ -157,7 +157,7 @@ dnl Now delete the primary and verify th
|
||||
dnl primary is no longer an member
|
||||
ovs-vsctl --id=@p1 get Interface p1 -- remove Port bond0 interfaces @p1
|
||||
ovs-appctl time/warp 100
|
||||
-OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | fgrep 'active-backup primary: p1 (no such member)'`"])
|
||||
+OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | grep -F 'active-backup primary: p1 (no such member)'`"])
|
||||
|
||||
dnl Now re-add the primary and verify that the output shows that the
|
||||
dnl primary is available again.
|
||||
@@ -336,9 +336,9 @@ ovs-appctl time/warp 100
|
||||
AT_CHECK([ovs-appctl dpif/dump-flows br1 > br1_flows.txt])
|
||||
# Make sure there is resonable distribution to all three ports.
|
||||
# We don't want to make this check precise, in case hash function changes.
|
||||
-AT_CHECK([test `egrep 'in_port\(4\)' br1_flows.txt |wc -l` -gt 3])
|
||||
-AT_CHECK([test `egrep 'in_port\(5\)' br1_flows.txt |wc -l` -gt 3])
|
||||
-AT_CHECK([test `egrep 'in_port\(6\)' br1_flows.txt |wc -l` -gt 3])
|
||||
+AT_CHECK([test `grep -E 'in_port\(4\)' br1_flows.txt |wc -l` -gt 3])
|
||||
+AT_CHECK([test `grep -E 'in_port\(5\)' br1_flows.txt |wc -l` -gt 3])
|
||||
+AT_CHECK([test `grep -E 'in_port\(6\)' br1_flows.txt |wc -l` -gt 3])
|
||||
OVS_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
|
||||
@@ -5464,7 +5464,7 @@ ovs-vsctl \
|
||||
|
||||
flow="in_port=1"
|
||||
AT_CHECK([ovs-appctl ofproto/trace br0 "$flow"], [0], [stdout])
|
||||
-AT_CHECK([tail -1 stdout | egrep "trunc\(200\),2,trunc\(300\),3,100|trunc\(300\),3,trunc\(200\),2,100"], [0], [stdout])
|
||||
+AT_CHECK([tail -1 stdout | grep -E "trunc\(200\),2,trunc\(300\),3,100|trunc\(300\),3,trunc\(200\),2,100"], [0], [stdout])
|
||||
|
||||
OVS_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
Index: openvswitch-2.17.2/tests/ovs-macros.at
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/tests/ovs-macros.at
|
||||
+++ openvswitch-2.17.2/tests/ovs-macros.at
|
||||
@@ -134,7 +134,7 @@ parent_pid () {
|
||||
# e.g. Alpine Linux) is noncompliant, so we use a Linux-specific approach
|
||||
# when it's available. We check the format of the status file to avoid
|
||||
# the NetBSD file with the same name but different contents.
|
||||
- if egrep '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
|
||||
+ if grep -E '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
|
||||
sed -n 's/^PPid: \([0-9]*\)/\1/p' /proc/$1/status
|
||||
else
|
||||
ps -o ppid= -p $1
|
||||
Index: openvswitch-2.17.2/tests/ovs-ofctl.at
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/tests/ovs-ofctl.at
|
||||
+++ openvswitch-2.17.2/tests/ovs-ofctl.at
|
||||
@@ -3243,9 +3243,9 @@ AT_CHECK([ovs-testcontroller -vsyslog:of
|
||||
OVS_WAIT_UNTIL([test -e testcontroller])
|
||||
|
||||
dnl check for some of the initial handshake messages
|
||||
-OVS_WAIT_UNTIL([egrep "OFPT_FEATURES_REQUEST" snoopbr0.txt >/dev/null 2>&1])
|
||||
-OVS_WAIT_UNTIL([egrep "OFPT_FEATURES_REPLY" snoopbr0.txt >/dev/null 2>&1])
|
||||
-OVS_WAIT_UNTIL([egrep "OFPT_SET_CONFIG" snoopbr0.txt >/dev/null 2>&1])
|
||||
+OVS_WAIT_UNTIL([grep -E "OFPT_FEATURES_REQUEST" snoopbr0.txt >/dev/null 2>&1])
|
||||
+OVS_WAIT_UNTIL([grep -E "OFPT_FEATURES_REPLY" snoopbr0.txt >/dev/null 2>&1])
|
||||
+OVS_WAIT_UNTIL([grep -E "OFPT_SET_CONFIG" snoopbr0.txt >/dev/null 2>&1])
|
||||
|
||||
dnl need to suppress the 'connection failed' WARN message in ovs-vswitchd
|
||||
dnl because we need ovs-vswitchd to have the controller config before starting
|
||||
Index: openvswitch-2.17.2/tests/system-dpdk-macros.at
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/tests/system-dpdk-macros.at
|
||||
+++ openvswitch-2.17.2/tests/system-dpdk-macros.at
|
||||
@@ -6,7 +6,7 @@
|
||||
m4_define([OVS_DPDK_PRE_CHECK],
|
||||
[dnl Check Hugepages
|
||||
AT_CHECK([cat /proc/meminfo], [], [stdout])
|
||||
- AT_SKIP_IF([egrep 'HugePages_Free: *0' stdout], [], [stdout])
|
||||
+ AT_SKIP_IF([grep -E 'HugePages_Free: *0' stdout], [], [stdout])
|
||||
AT_CHECK([mount], [], [stdout])
|
||||
AT_CHECK([grep 'hugetlbfs' stdout], [], [stdout], [])
|
||||
|
||||
Index: openvswitch-2.17.2/tests/system-offloads-traffic.at
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/tests/system-offloads-traffic.at
|
||||
+++ openvswitch-2.17.2/tests/system-offloads-traffic.at
|
||||
@@ -90,7 +90,7 @@ AT_CHECK([tc -o -s -d filter show dev ov
|
||||
rate 100Kbit burst 1280b
|
||||
])
|
||||
AT_CHECK([tc -s -d filter show dev ovs-p0 ingress |
|
||||
- egrep "basic|matchall" > /dev/null], [0])
|
||||
+ grep -E "basic|matchall" > /dev/null], [0])
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
|
||||
@@ -139,7 +139,7 @@ AT_CHECK([tc -o -s -d filter show dev ov
|
||||
pkts_rate 100000 pkts_burst 10000
|
||||
])
|
||||
AT_CHECK([tc -s -d filter show dev ovs-p0 ingress |
|
||||
- egrep "basic|matchall" > /dev/null], [0])
|
||||
+ grep -E "basic|matchall" > /dev/null], [0])
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
|
||||
Index: openvswitch-2.17.2/tests/system-traffic.at
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/tests/system-traffic.at
|
||||
+++ openvswitch-2.17.2/tests/system-traffic.at
|
||||
@@ -819,11 +819,11 @@ dnl ADD_NATIVE_TUNNEL([gretap], [ns_gre0
|
||||
dnl Now, check the overlay by sending out raw arp and icmp packets.
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff00000003080045000042ec2c4000402ff3bcac1f0101ac1f016400006558fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164 actions=NORMAL"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28" 2>&1 1>/dev/null])
|
||||
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500007aec8e4000402ff322ac1f0101ac1f016400006558f2ff00000001f2ff00000004080045000054548f40004001cfb30a0101010a0101640800e6e829270003e1a3435b00000000ff1a050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=NORMAL"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64$" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64$" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -864,15 +864,15 @@ dnl Okay, now send out an arp request fr
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500004e151d4000402fcac0ac1f0101ac1f0164100088be000000061000000100000007fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164 actions=normal"
|
||||
|
||||
dnl 0002 is arp reply, followed by mac address of 10.1.1.100.
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0030: 0806 0001 0800 0604 0002 f2ff 0000 0001" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040: 0a01 0164 f2ff 0000 0004 0a01 0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0030: 0806 0001 0800 0604 0002 f2ff 0000 0001" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040: 0a01 0164 f2ff 0000 0004 0a01 0101" 2>&1 1>/dev/null])
|
||||
|
||||
dnl Okay, now check the overlay with raw icmp packets.
|
||||
-AT_FAIL_IF([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null])
|
||||
+AT_FAIL_IF([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null])
|
||||
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500008e70cb4000402f6ed2ac1f0101ac1f0164100088be000000051000000100000007f2ff00000001f2ff0000000408004500005c4a3340004001da070a0101010a010164080084f238fb0001f36a6b5b0000000021870e0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f actions=normal"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -916,17 +916,17 @@ NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i
|
||||
dnl Okay, send raw arp request and icmp echo request.
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff00000003080045000052373d4000402fa89cac1f0101ac1f0164100088be00000006200000016f54b41700008078fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164 actions=normal"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0030: 0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040: 0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0050: 0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0030: 0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040: 0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0050: 0101" 2>&1 1>/dev/null])
|
||||
|
||||
dnl Because tcpdump might not be able to parse erspan headers, we check icmp echo reply
|
||||
dnl by packet length.
|
||||
-AT_FAIL_IF([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null])
|
||||
+AT_FAIL_IF([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null])
|
||||
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500009287e14000402f57b8ac1f0101ac1f0164100088be0000000520000001144cd5a400008078f2ff00000001f2ff0000000408004500005c38d640004001eb640a0101010a01016408005e57585f0001df6c6b5b0000000045bc050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f actions=normal"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -974,15 +974,15 @@ dnl Okay, now send raw arp request and i
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531003a2f40fc000100000000000000000000000001fc000100000000000000000000000100100088be000000051000007b00000007fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164 actions=normal"
|
||||
|
||||
dnl Check arp reply.
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040: 0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0050: 0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0060: 0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040: 0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0050: 0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0060: 0101" 2>&1 1>/dev/null])
|
||||
|
||||
-AT_FAIL_IF([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null])
|
||||
+AT_FAIL_IF([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null])
|
||||
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531007a3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be000000061000407b00000007f2ff00000001f2ff0000000408004500005429b640004001fa8c0a0101010a01016408005c2c7526000118d3685b00000000e4aa020000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=normal"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -1029,15 +1029,15 @@ NS_CHECK_EXEC([at_ns0], [ping6 -q -c 3 -
|
||||
dnl Okay, now send raw arp request and icmp echo request.
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531003e2f40fc000100000000000000000000000001fc000100000000000000000000000100100088be0000000620000079af514f9900008070fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164 actions=normal"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040: 0004 f2ff 0000 0001 0806 0001 0800 0604" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0050: 0002 f2ff 0000 0001 0a01 0164 f2ff 0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0060: 0004 0a01 0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040: 0004 f2ff 0000 0001 0806 0001 0800 0604" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0050: 0002 f2ff 0000 0001 0a01 0164 f2ff 0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0060: 0004 0a01 0101" 2>&1 1>/dev/null])
|
||||
|
||||
-AT_FAIL_IF([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null])
|
||||
+AT_FAIL_IF([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null])
|
||||
|
||||
ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531007e3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be0000000720004079af514f9b00008070f2ff00000001f2ff00000004080045000054ffcb4000400124770a0101010a0101640800419e23ac000112d7685b000000004caf0c0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=normal"
|
||||
|
||||
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -1829,10 +1829,10 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01 02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 > /dev/null])
|
||||
|
||||
dnl Check the expected mpls encapsulated packet on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -1861,10 +1861,10 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01 02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 > /dev/null])
|
||||
|
||||
dnl Check the expected mpls encapsulated packet on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -1894,10 +1894,10 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01 02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 > /dev/null])
|
||||
|
||||
dnl Check the expected mpls encapsulated packet on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -1926,10 +1926,10 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01 02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 > /dev/null])
|
||||
|
||||
dnl Check the expected mpls encapsulated packet on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -1960,13 +1960,13 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 00 00 00 00 00 02 00 00 00 00 00 01 88 47 00 00 21 40 36 b1 ee 7c 01 02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 > /dev/null])
|
||||
|
||||
dnl Check the expected decapsulated on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0060: *3637" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0060: *3637" 2>&1 1>/dev/null])
|
||||
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
@@ -1997,13 +1997,13 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 00 00 00 00 00 02 00 00 00 00 00 01 88 47 00 00 21 40 36 b1 ee 7c 01 02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 > /dev/null])
|
||||
|
||||
dnl Check the expected decapsulated on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0060: *3637" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0060: *3637" 2>&1 1>/dev/null])
|
||||
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
@@ -5448,7 +5448,7 @@ AT_CHECK([ovs-appctl dpctl/dump-conntrac
|
||||
udp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.2XX,sport=<cleared>,dport=<cleared>),mark=1
|
||||
])
|
||||
|
||||
-AT_CHECK([tcpdump -v "icmp" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'], [1], [ignore-nolog])
|
||||
+AT_CHECK([tcpdump -v "icmp" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'], [1], [ignore-nolog])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -6198,7 +6198,7 @@ sleep 1
|
||||
dnl UDP packets from ns0->ns1 should solicit "destination unreachable" response.
|
||||
NS_CHECK_EXEC([at_ns0], [bash -c "echo a | nc -6 $NC_EOF_OPT -u fc00::2 1"])
|
||||
|
||||
-AT_CHECK([tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'], [1], [ignore-nolog])
|
||||
+AT_CHECK([tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'], [1], [ignore-nolog])
|
||||
|
||||
AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fc00::2)], [0], [dnl
|
||||
udp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>)
|
||||
@@ -7197,12 +7197,12 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45 00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00 00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])
|
||||
|
||||
dnl Check the expected nsh encapsulated packet on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -7229,10 +7229,10 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 ff 00 00 00 02 f2 ff 00 00 00 01 89 4f 02 06 01 03 00 00 64 03 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45 00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00 00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])
|
||||
|
||||
dnl Check the expected de-capsulated TCP packet on the egress interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -7262,12 +7262,12 @@ dnl p1(at_ns1) interface
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 ff 00 00 00 02 f2 ff 00 00 00 01 89 4f 02 06 01 03 00 01 00 03 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45 00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00 00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])
|
||||
|
||||
dnl Check the expected NSH packet with new fields in the header
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
@@ -7296,23 +7296,23 @@ dnl First send packet from at_ns0 --> OV
|
||||
NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 ff 00 00 00 02 f2 ff 00 00 00 01 89 4f 02 06 01 03 00 01 00 02 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45 00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00 00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])
|
||||
|
||||
dnl Check for the above packet on p1 interface
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
|
||||
dnl Send the second packet from at_ns1 --> OVS with SPI=0x100 and SI=1
|
||||
NS_CHECK_EXEC([at_ns1], [$PYTHON3 $srcdir/sendpkt.py p1 f2 ff 00 00 00 02 f2 ff 00 00 00 01 89 4f 01 c6 01 03 00 01 00 01 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45 00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00 00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])
|
||||
|
||||
dnl Check for the above packet on p2 interface
|
||||
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
|
||||
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null])
|
||||
|
||||
OVS_TRAFFIC_VSWITCHD_STOP
|
||||
AT_CLEANUP
|
||||
Index: openvswitch-2.17.2/tests/tunnel-push-pop.at
|
||||
===================================================================
|
||||
--- openvswitch-2.17.2.orig/tests/tunnel-push-pop.at
|
||||
+++ openvswitch-2.17.2/tests/tunnel-push-pop.at
|
||||
@@ -740,14 +740,14 @@ dnl Output to tunnel from a int-br inter
|
||||
dnl Checking that the packet arrived and it was correctly encapsulated.
|
||||
AT_CHECK([ovs-ofctl add-flow int-br "in_port=LOCAL,actions=debug_slow,output:2"])
|
||||
AT_CHECK([ovs-appctl netdev-dummy/receive int-br "${packet}4"])
|
||||
-OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | egrep "${encap}${packet}4" | wc -l` -ge 1])
|
||||
+OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | grep -E "${encap}${packet}4" | wc -l` -ge 1])
|
||||
dnl Sending again to exercise the non-miss upcall path.
|
||||
AT_CHECK([ovs-appctl netdev-dummy/receive int-br "${packet}4"])
|
||||
-OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | egrep "${encap}${packet}4" | wc -l` -ge 2])
|
||||
+OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | grep -E "${encap}${packet}4" | wc -l` -ge 2])
|
||||
|
||||
dnl Output to tunnel from the controller.
|
||||
AT_CHECK([ovs-ofctl -O OpenFlow13 packet-out int-br CONTROLLER "debug_slow,output:2" "${packet}5"])
|
||||
-OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | egrep "${encap}${packet}5" | wc -l` -ge 1])
|
||||
+OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | grep -E "${encap}${packet}5" | wc -l` -ge 1])
|
||||
|
||||
dnl Datapath actions should not have tunnel push action.
|
||||
AT_CHECK([ovs-appctl dpctl/dump-flows | grep -q tnl_push], [1])
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6a2e0db42badb8cbcaf7f3bebd5b5e9a2701319df1d04294e9a7a79e94504d69
|
||||
size 7955727
|
BIN
openvswitch-3.1.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
openvswitch-3.1.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +1,60 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 5 21:14:59 UTC 2023 - Duraisankar P <Duraisankar.pitchumani@suse.com>
|
||||
|
||||
- Update OVS version to v3.1.0 and OVN version to v23.03.0
|
||||
Some of the features are,
|
||||
- ovs-vswitchd now detects changes in CPU affinity and adjusts the number
|
||||
of handler and revalidator threads if necessary.
|
||||
- AF_XDP:
|
||||
* Added support for building with libxdp and libbpf >= 0.7.
|
||||
* Support for AF_XDP is now enabled by default if all dependencies are
|
||||
available at the build time. Use --disable-afxdp to disable.
|
||||
Use --enable-afxdp to fail the build if dependencies are not present.
|
||||
- ovs-appctl:
|
||||
* "ovs-appctl ofproto/trace" command can now display port names with the
|
||||
"--names" option.
|
||||
- OVSDB-IDL:
|
||||
* Add the support to specify the persistent uuid for row insert in both
|
||||
C and Python IDLs.
|
||||
- Windows:
|
||||
* Conntrack IPv6 fragment support.
|
||||
- DPDK:
|
||||
* Add support for DPDK 22.11.1.
|
||||
- For the QoS max-rate and STP/RSTP path-cost configuration OVS now assumes
|
||||
10 Gbps link speed by default in case the actual link speed cannot be
|
||||
determined. Previously it was 10 Mbps. Values can still be overridden
|
||||
by specifying 'max-rate' or '[r]stp-path-cost' accordingly.
|
||||
- OpenFlow:
|
||||
* New OpenFlow extension NXT_CT_FLUSH to flush connections matching
|
||||
the specified fields.
|
||||
- ovs-ctl:
|
||||
* New option '--dump-hugepages' to include hugepages in core dumps. This
|
||||
can assist with postmortem analysis involving DPDK, but may also produce
|
||||
significantly larger core dump files.
|
||||
- ovs-dpctl and 'ovs-appctl dpctl/' commands:
|
||||
* 'flush-conntrack' is now capable of handling partial 5-tuple,
|
||||
with additional optional parameter to specify the reply direction.
|
||||
- ovs-ofctl:
|
||||
* New command 'flush-conntrack' that accepts zone and 5-tuple (or partial
|
||||
5-tuple) for both directions.
|
||||
- Support for travis-ci.org based continuous integration builds has been
|
||||
dropped.
|
||||
- Userspace datapath:
|
||||
* Add '-secs' argument to appctl 'dpif-netdev/pmd-rxq-show' to show
|
||||
the pmd usage of an Rx queue over a configurable time period.
|
||||
* Add new experimental PMD load based sleeping feature. PMD threads can
|
||||
request to sleep up to a user configured 'pmd-maxsleep' value under
|
||||
low load conditions.
|
||||
-For more details, check
|
||||
https://github.com/openvswitch/ovs/blob/v3.1.0/NEWS
|
||||
-Includes secrity fix for CVE-2022-4338 (bsc#1206580) and CVE-2022-4337 (bsc#1206581)
|
||||
- OVN package is not included as new version with API chnages are not yet released.
|
||||
- Removed upstreamed patches,
|
||||
* 0001-Replace-deprecated-var-run-with-run.patch
|
||||
* openvswitch-CVE-2021-36980.patch
|
||||
- Added ovsb tool install patch,
|
||||
* install-ovsdb-tools.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 29 11:58:47 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
|
882
openvswitch.spec
882
openvswitch.spec
File diff suppressed because it is too large
Load Diff
BIN
ovn-23.03.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
ovn-23.03.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user