forked from pool/openvswitch
Accepting request 1079120 from network
OBS-URL: https://build.opensuse.org/request/show/1079120 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openvswitch?expand=0&rev=66
This commit is contained in:
commit
5a91a4c811
@ -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 @@
|
||||
@ -16,7 +14,4 @@ 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
|
||||
|
||||
+##OVS_USER_ID="openvswitch:openvswitch"
|
@ -5,19 +5,19 @@ 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 \
|
||||
- --ike-daemon=libreswan start-ovs-ipsec
|
||||
+ --ike-daemon=strongswan start-ovs-ipsec
|
||||
ExecStop=/usr/share/openvswitch/scripts/ovs-ctl stop-ovs-ipsec
|
||||
|
||||
|
||||
[Install]
|
@ -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
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,70 @@
|
||||
-------------------------------------------------------------------
|
||||
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)
|
||||
- Removed patches,
|
||||
* 0001-Replace-deprecated-var-run-with-run.patch
|
||||
* 0001-openvswitch-merge-compiler.h-files-into-one-file.patch
|
||||
* openvswitch-CVE-2021-36980.patch
|
||||
* 0002-build-Seperated-common-used-headers.patch
|
||||
* a77ad9693c8b49055389559187fe74eddb619746.patch
|
||||
* 0001-m4-Test-avx512-for-x86-only.patch
|
||||
* openvswitch-2.17.2-Fix-tests-with-GNU-grep-3.8.patch
|
||||
- Renamed and rebased patches,
|
||||
* 0001-Don-t-change-permissions-of-dev-hugepages.patch
|
||||
* 0001-Use-double-hash-for-OVS_USER_ID-comment.patch
|
||||
* 0001-Run-ovn-as-openvswitch-openvswitch.patch
|
||||
* 0001-Use-strongswan-for-openvswitch-ipsec-service.patch
|
||||
* 0001-Run-openvswitch-as-openvswitch-openvswitch.patch
|
||||
- Added ovsb tool install patch,
|
||||
* install-ovsdb-tools.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 29 11:58:47 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
|
924
openvswitch.spec
924
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