|
Open vSwitch CI |
940672 |
diff --git a/.ci/linux-prepare.sh b/.ci/linux-prepare.sh
|
|
Open vSwitch CI |
940672 |
index 2a191b57fb..5f8a1db6af 100755
|
|
Open vSwitch CI |
940672 |
--- a/.ci/linux-prepare.sh
|
|
Open vSwitch CI |
940672 |
+++ b/.ci/linux-prepare.sh
|
|
Open vSwitch CI |
940672 |
@@ -23,7 +23,7 @@ cd ..
|
|
Open vSwitch CI |
940672 |
# https://github.com/pypa/pip/issues/10655
|
|
Open vSwitch CI |
940672 |
pip3 install --disable-pip-version-check --user wheel
|
|
Open vSwitch CI |
940672 |
pip3 install --disable-pip-version-check --user \
|
|
Open vSwitch CI |
940672 |
- flake8 netaddr pyparsing sarif-tools sphinx setuptools
|
|
Open vSwitch CI |
940672 |
+ flake8 netaddr pyparsing sarif-tools==2.0.0 sphinx setuptools
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
# Install python test dependencies
|
|
Open vSwitch CI |
940672 |
pip3 install -r python/test_requirements.txt
|
|
Open vSwitch CI |
3f1ad0 |
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
|
|
Open vSwitch CI |
3f1ad0 |
index 9d3a13ca1c..022c4cd31d 100644
|
|
Open vSwitch CI |
3f1ad0 |
--- a/.github/workflows/build-and-test.yml
|
|
Open vSwitch CI |
3f1ad0 |
+++ b/.github/workflows/build-and-test.yml
|
|
Open vSwitch CI |
3f1ad0 |
@@ -11,7 +11,7 @@ jobs:
|
|
Open vSwitch CI |
3f1ad0 |
dependencies: gcc libbpf-dev libnuma-dev libpcap-dev ninja-build pkgconf
|
|
Open vSwitch CI |
3f1ad0 |
CC: gcc
|
|
Open vSwitch CI |
3f1ad0 |
DPDK_GIT: https://dpdk.org/git/dpdk-stable
|
|
Open vSwitch CI |
3f1ad0 |
- DPDK_VER: 23.11.1
|
|
Open vSwitch CI |
3f1ad0 |
+ DPDK_VER: 23.11.2
|
|
Open vSwitch CI |
3f1ad0 |
name: dpdk gcc
|
|
Open vSwitch CI |
3f1ad0 |
outputs:
|
|
Open vSwitch CI |
3f1ad0 |
dpdk_key: ${{ steps.gen_dpdk_key.outputs.key }}
|
|
Open vSwitch CI |
3f1ad0 |
diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst
|
|
Open vSwitch CI |
3f1ad0 |
index 7c32d7acfc..d345b63d5b 100644
|
|
Open vSwitch CI |
3f1ad0 |
--- a/Documentation/faq/releases.rst
|
|
Open vSwitch CI |
3f1ad0 |
+++ b/Documentation/faq/releases.rst
|
|
Open vSwitch CI |
3f1ad0 |
@@ -216,12 +216,12 @@ Q: What DPDK version does each Open vSwitch release work with?
|
|
Open vSwitch CI |
3f1ad0 |
2.14.x 19.11.13
|
|
Open vSwitch CI |
3f1ad0 |
2.15.x 20.11.6
|
|
Open vSwitch CI |
3f1ad0 |
2.16.x 20.11.6
|
|
Open vSwitch CI |
3f1ad0 |
- 2.17.x 21.11.7
|
|
Open vSwitch CI |
3f1ad0 |
- 3.0.x 21.11.7
|
|
Open vSwitch CI |
3f1ad0 |
- 3.1.x 22.11.5
|
|
Open vSwitch CI |
3f1ad0 |
- 3.2.x 22.11.5
|
|
Open vSwitch CI |
3f1ad0 |
- 3.3.x 23.11.1
|
|
Open vSwitch CI |
3f1ad0 |
- 3.4.x 23.11.1
|
|
Open vSwitch CI |
3f1ad0 |
+ 2.17.x 21.11.8
|
|
Open vSwitch CI |
3f1ad0 |
+ 3.0.x 21.11.8
|
|
Open vSwitch CI |
3f1ad0 |
+ 3.1.x 22.11.6
|
|
Open vSwitch CI |
3f1ad0 |
+ 3.2.x 22.11.6
|
|
Open vSwitch CI |
3f1ad0 |
+ 3.3.x 23.11.2
|
|
Open vSwitch CI |
3f1ad0 |
+ 3.4.x 23.11.2
|
|
Open vSwitch CI |
3f1ad0 |
============ ========
|
|
Open vSwitch CI |
3f1ad0 |
|
|
Open vSwitch CI |
3f1ad0 |
Q: Are all the DPDK releases that OVS versions work with maintained?
|
|
Open vSwitch CI |
3f1ad0 |
diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
|
|
Open vSwitch CI |
3f1ad0 |
index 63a978f0e8..ebd29a45a9 100644
|
|
Open vSwitch CI |
3f1ad0 |
--- a/Documentation/intro/install/dpdk.rst
|
|
Open vSwitch CI |
3f1ad0 |
+++ b/Documentation/intro/install/dpdk.rst
|
|
Open vSwitch CI |
3f1ad0 |
@@ -42,7 +42,7 @@ Build requirements
|
|
Open vSwitch CI |
3f1ad0 |
In addition to the requirements described in :doc:`general`, building Open
|
|
Open vSwitch CI |
3f1ad0 |
vSwitch with DPDK will require the following:
|
|
Open vSwitch CI |
3f1ad0 |
|
|
Open vSwitch CI |
3f1ad0 |
-- DPDK 23.11.1
|
|
Open vSwitch CI |
3f1ad0 |
+- DPDK 23.11.2
|
|
Open vSwitch CI |
3f1ad0 |
|
|
Open vSwitch CI |
3f1ad0 |
- A `DPDK supported NIC`_
|
|
Open vSwitch CI |
3f1ad0 |
|
|
Open vSwitch CI |
3f1ad0 |
@@ -73,9 +73,9 @@ Install DPDK
|
|
Open vSwitch CI |
3f1ad0 |
#. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
|
|
Open vSwitch CI |
3f1ad0 |
|
|
Open vSwitch CI |
3f1ad0 |
$ cd /usr/src/
|
|
Open vSwitch CI |
3f1ad0 |
- $ wget https://fast.dpdk.org/rel/dpdk-23.11.1.tar.xz
|
|
Open vSwitch CI |
3f1ad0 |
- $ tar xf dpdk-23.11.1.tar.xz
|
|
Open vSwitch CI |
3f1ad0 |
- $ export DPDK_DIR=/usr/src/dpdk-stable-23.11.1
|
|
Open vSwitch CI |
3f1ad0 |
+ $ wget https://fast.dpdk.org/rel/dpdk-23.11.2.tar.xz
|
|
Open vSwitch CI |
3f1ad0 |
+ $ tar xf dpdk-23.11.2.tar.xz
|
|
Open vSwitch CI |
3f1ad0 |
+ $ export DPDK_DIR=/usr/src/dpdk-stable-23.11.2
|
|
Open vSwitch CI |
3f1ad0 |
$ cd $DPDK_DIR
|
|
Open vSwitch CI |
3f1ad0 |
|
|
Open vSwitch CI |
3f1ad0 |
#. Configure and install DPDK using Meson
|
|
Open vSwitch CI |
88b1a2 |
diff --git a/Documentation/ref/ovs-appctl.8.rst b/Documentation/ref/ovs-appctl.8.rst
|
|
Open vSwitch CI |
88b1a2 |
index 7054cf559e..e7c8b96d49 100644
|
|
Open vSwitch CI |
88b1a2 |
--- a/Documentation/ref/ovs-appctl.8.rst
|
|
Open vSwitch CI |
88b1a2 |
+++ b/Documentation/ref/ovs-appctl.8.rst
|
|
Open vSwitch CI |
88b1a2 |
@@ -6,11 +6,11 @@ Synopsis
|
|
Open vSwitch CI |
88b1a2 |
========
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
``ovs-appctl``
|
|
Open vSwitch CI |
88b1a2 |
-[``--target=``<target> | ``-t`` <target>]
|
|
Open vSwitch CI |
88b1a2 |
-[``--timeout=``<secs> | ``-T`` <secs>]
|
|
Open vSwitch CI |
88b1a2 |
-[``--format=``<format> | ``-f`` <format>]
|
|
Open vSwitch CI |
88b1a2 |
+[``--target=``\ *target* | ``-t`` *target*]
|
|
Open vSwitch CI |
88b1a2 |
+[``--timeout=``\ *secs* | ``-T`` *secs*]
|
|
Open vSwitch CI |
88b1a2 |
+[``--format=``\ *format* | ``-f`` *format*]
|
|
Open vSwitch CI |
88b1a2 |
[``--pretty``]
|
|
Open vSwitch CI |
88b1a2 |
-<command> [<arg>...]
|
|
Open vSwitch CI |
88b1a2 |
+*command* [*arg* ``...``]
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
``ovs-appctl --help``
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
@@ -33,11 +33,11 @@ command and prints the daemon's response on standard output.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
In normal use only a single option is accepted:
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
-* ``-t`` <target> or ``--target`` <target>
|
|
Open vSwitch CI |
88b1a2 |
+* ``-t`` *target* or ``--target=``\ *target*
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
Tells ``ovs-appctl`` which daemon to contact.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- If <target> begins with ``/`` it must name a Unix domain socket on
|
|
Open vSwitch CI |
88b1a2 |
+ If *target* begins with ``/`` it must name a Unix domain socket on
|
|
Open vSwitch CI |
88b1a2 |
which an Open vSwitch daemon is listening for control channel
|
|
Open vSwitch CI |
88b1a2 |
connections. By default, each daemon listens on a Unix domain socket
|
|
Open vSwitch CI |
88b1a2 |
in the rundir (e.g. ``/run``) named ``<program>.<pid>.ctl``, where
|
|
Open vSwitch CI |
88b1a2 |
@@ -47,33 +47,33 @@ In normal use only a single option is accepted:
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
Otherwise, ``ovs-appctl`` looks in the rundir for a pidfile, that is,
|
|
Open vSwitch CI |
88b1a2 |
a file whose contents are the process ID of a running process as a
|
|
Open vSwitch CI |
88b1a2 |
- decimal number, named ``<target>.pid``. (The ``--pidfile`` option
|
|
Open vSwitch CI |
88b1a2 |
+ decimal number, named *target*\ ``.pid``. (The ``--pidfile`` option
|
|
Open vSwitch CI |
88b1a2 |
makes an Open vSwitch daemon create a pidfile.) ``ovs-appctl`` reads
|
|
Open vSwitch CI |
88b1a2 |
the pidfile, then looks in the rundir for a Unix socket named
|
|
Open vSwitch CI |
88b1a2 |
- ``<target>.<pid>.ctl``, where <pid> is replaced by the process ID read
|
|
Open vSwitch CI |
88b1a2 |
+ *target*\ ``.<pid>.ctl``, where <pid> is replaced by the process ID read
|
|
Open vSwitch CI |
88b1a2 |
from the pidfile, and uses that file as if it had been specified
|
|
Open vSwitch CI |
88b1a2 |
directly as the target.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- On Windows, <target> can be an absolute path to a file that contains a
|
|
Open vSwitch CI |
88b1a2 |
+ On Windows, *target* can be an absolute path to a file that contains a
|
|
Open vSwitch CI |
88b1a2 |
localhost TCP port on which an Open vSwitch daemon is listening for
|
|
Open vSwitch CI |
88b1a2 |
control channel connections. By default, each daemon writes the TCP
|
|
Open vSwitch CI |
88b1a2 |
port on which it is listening for control connection into the file
|
|
Open vSwitch CI |
88b1a2 |
- ``<program>.ctl`` located inside the rundir. If <target> is not an
|
|
Open vSwitch CI |
88b1a2 |
+ ``<program>.ctl`` located inside the rundir. If *target* is not an
|
|
Open vSwitch CI |
88b1a2 |
absolute path, ``ovs-appctl`` looks in the rundir for a file named
|
|
Open vSwitch CI |
88b1a2 |
- ``<target>.ctl``. The default target is ``ovs-vswitchd``.
|
|
Open vSwitch CI |
88b1a2 |
+ *target*\ ``.ctl``. The default *target* is ``ovs-vswitchd``.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
-* ``-T <secs>`` or ``--timeout=<secs>``
|
|
Open vSwitch CI |
88b1a2 |
+* ``-T`` *secs* or ``--timeout=``\ *secs*
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- By default, or with a <secs> of ``0``, ``ovs-appctl`` waits forever to
|
|
Open vSwitch CI |
88b1a2 |
+ By default, or with a *secs* of ``0``, ``ovs-appctl`` waits forever to
|
|
Open vSwitch CI |
88b1a2 |
connect to the daemon and receive a response. This option limits
|
|
Open vSwitch CI |
88b1a2 |
- runtime to approximately <secs> seconds. If the timeout expires,
|
|
Open vSwitch CI |
88b1a2 |
+ runtime to approximately *secs* seconds. If the timeout expires,
|
|
Open vSwitch CI |
88b1a2 |
``ovs-appctl`` exits with a ``SIGALRM`` signal.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
-* ``-f <format>`` or ``--format=<format>``
|
|
Open vSwitch CI |
88b1a2 |
+* ``-f`` *format* or ``--format=``\ *format*
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
Tells ``ovs-appctl`` which output format to use. By default, or with a
|
|
Open vSwitch CI |
88b1a2 |
- <format> of ``text``, ``ovs-appctl`` will print plain-text for humans.
|
|
Open vSwitch CI |
88b1a2 |
- When <format> is ``json``, ``ovs-appctl`` will return a JSON document.
|
|
Open vSwitch CI |
88b1a2 |
+ *format* of ``text``, ``ovs-appctl`` will print plain-text for humans.
|
|
Open vSwitch CI |
88b1a2 |
+ When *format* is ``json``, ``ovs-appctl`` will return a JSON document.
|
|
Open vSwitch CI |
88b1a2 |
When ``json`` is requested, but a command has not implemented JSON
|
|
Open vSwitch CI |
88b1a2 |
output, the plain-text output will be wrapped in a provisional JSON
|
|
Open vSwitch CI |
88b1a2 |
document with the following structure::
|
|
Open vSwitch CI |
88b1a2 |
@@ -158,10 +158,10 @@ and adjusting log levels:
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
Lists logging pattern used for each destination.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
-* ``vlog/set`` [<spec>]
|
|
Open vSwitch CI |
88b1a2 |
+* ``vlog/set`` [*spec*]
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- Sets logging levels. Without any <spec>, sets the log level for
|
|
Open vSwitch CI |
88b1a2 |
- every module and destination to ``dbg``. Otherwise, <spec> is a
|
|
Open vSwitch CI |
88b1a2 |
+ Sets logging levels. Without any *spec*, sets the log level for
|
|
Open vSwitch CI |
88b1a2 |
+ every module and destination to ``dbg``. Otherwise, *spec* is a
|
|
Open vSwitch CI |
88b1a2 |
list of words separated by spaces or commas or colons, up to one from
|
|
Open vSwitch CI |
88b1a2 |
each category below:
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
@@ -173,7 +173,7 @@ and adjusting log levels:
|
|
Open vSwitch CI |
88b1a2 |
change to only to the system log, to the console, or to a file,
|
|
Open vSwitch CI |
88b1a2 |
respectively.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- On Windows platform, ``syslog`` is only useful if <target> was
|
|
Open vSwitch CI |
88b1a2 |
+ On Windows platform, ``syslog`` is only useful if *target* was
|
|
Open vSwitch CI |
88b1a2 |
started with the ``--syslog-target`` option (it has no effect
|
|
Open vSwitch CI |
88b1a2 |
otherwise).
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
@@ -182,20 +182,20 @@ and adjusting log levels:
|
|
Open vSwitch CI |
88b1a2 |
will be logged, and messages of lower severity will be filtered out.
|
|
Open vSwitch CI |
88b1a2 |
``off`` filters out all messages.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- Case is not significant within <spec>.
|
|
Open vSwitch CI |
88b1a2 |
+ Case is not significant within *spec*.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
Regardless of the log levels set for ``file``, logging to a file
|
|
Open vSwitch CI |
88b1a2 |
will not take place unless the target application was invoked with the
|
|
Open vSwitch CI |
88b1a2 |
``--log-file`` option.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
For compatibility with older versions of OVS, ``any`` is accepted
|
|
Open vSwitch CI |
88b1a2 |
- within <spec> but it has no effect.
|
|
Open vSwitch CI |
88b1a2 |
+ within *spec* but it has no effect.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
-* ``vlog/set PATTERN:<destination>:<pattern>``
|
|
Open vSwitch CI |
88b1a2 |
+* ``vlog/set PATTERN:``\ *destination*:*pattern*
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- Sets the log pattern for <destination> to <pattern>. Each time a
|
|
Open vSwitch CI |
88b1a2 |
- message is logged to <destination>, <pattern> determines the
|
|
Open vSwitch CI |
88b1a2 |
- message's formatting. Most characters in <pattern> are copied
|
|
Open vSwitch CI |
88b1a2 |
+ Sets the log pattern for *destination* to *pattern*. Each time a
|
|
Open vSwitch CI |
88b1a2 |
+ message is logged to *destination*, *pattern* determines the
|
|
Open vSwitch CI |
88b1a2 |
+ message's formatting. Most characters in *pattern* are copied
|
|
Open vSwitch CI |
88b1a2 |
literally to the log, but special escapes beginning with ``%`` are
|
|
Open vSwitch CI |
88b1a2 |
expanded as follows:
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
@@ -214,13 +214,13 @@ and adjusting log levels:
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
* ``%d``
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- The current date and time in ISO 8601 format (YYYY-MM-DD HH:MM:SS).
|
|
Open vSwitch CI |
88b1a2 |
+ The current date and time in ISO 8601 format (``YYYY-MM-DD HH:MM:SS``).
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- * ``%d{<format>}``
|
|
Open vSwitch CI |
88b1a2 |
+ * ``%d{``\ *format*\ ``}``
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- The current date and time in the specified <format>, which takes
|
|
Open vSwitch CI |
88b1a2 |
- the same format as the <template> argument to ``strftime(3)``. As
|
|
Open vSwitch CI |
88b1a2 |
- an extension, any ``#`` characters in <format> will be replaced by
|
|
Open vSwitch CI |
88b1a2 |
+ The current date and time in the specified *format*, which takes
|
|
Open vSwitch CI |
88b1a2 |
+ the same format as the ``template`` argument to ``strftime(3)``. As
|
|
Open vSwitch CI |
88b1a2 |
+ an extension, any ``#`` characters in *format* will be replaced by
|
|
Open vSwitch CI |
88b1a2 |
fractional seconds, e.g. use ``%H:%M:%S.###`` for the time to the
|
|
Open vSwitch CI |
88b1a2 |
nearest millisecond. Sub-second times are only approximate and
|
|
Open vSwitch CI |
88b1a2 |
currently decimal places after the third will always be reported
|
|
Open vSwitch CI |
88b1a2 |
@@ -228,14 +228,14 @@ and adjusting log levels:
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
* ``%D``
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- The current UTC date and time in ISO 8601 format (YYYY-MM-DD
|
|
Open vSwitch CI |
88b1a2 |
- HH:MM:SS).
|
|
Open vSwitch CI |
88b1a2 |
+ The current UTC date and time in ISO 8601 format
|
|
Open vSwitch CI |
88b1a2 |
+ (``YYYY-MM-DD HH:MM:SS``).
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- * ``%D{<format>}``
|
|
Open vSwitch CI |
88b1a2 |
+ * ``%D{``\ *format*\ ``}``
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- The current UTC date and time in the specified <format>, which
|
|
Open vSwitch CI |
88b1a2 |
- takes the same format as the <template> argument to
|
|
Open vSwitch CI |
88b1a2 |
- ``strftime``(3). Supports the same extension for sub-second
|
|
Open vSwitch CI |
88b1a2 |
+ The current UTC date and time in the specified *format*, which
|
|
Open vSwitch CI |
88b1a2 |
+ takes the same format as the ``template`` argument to
|
|
Open vSwitch CI |
88b1a2 |
+ ``strftime(3)``. Supports the same extension for sub-second
|
|
Open vSwitch CI |
88b1a2 |
resolution as ``%d{...}``.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
* ``%E``
|
|
Open vSwitch CI |
88b1a2 |
@@ -299,22 +299,23 @@ and adjusting log levels:
|
|
Open vSwitch CI |
88b1a2 |
Pad the field to the field width with ``0`` characters. Padding
|
|
Open vSwitch CI |
88b1a2 |
with spaces is the default.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- * <width>
|
|
Open vSwitch CI |
88b1a2 |
+ * *width*
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
A number specifies the minimum field width. If the escape expands
|
|
Open vSwitch CI |
88b1a2 |
- to fewer characters than <width> then it is padded to fill the
|
|
Open vSwitch CI |
88b1a2 |
- field width. (A field wider than <width> is not truncated to
|
|
Open vSwitch CI |
88b1a2 |
+ to fewer characters than *width* then it is padded to fill the
|
|
Open vSwitch CI |
88b1a2 |
+ field width. (A field wider than *width* is not truncated to
|
|
Open vSwitch CI |
88b1a2 |
fit.)
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- The default pattern for console and file output is ``%D{%Y-%m-%dT
|
|
Open vSwitch CI |
88b1a2 |
- %H:%M:%SZ}|%05N|%c|%p|%m``; for syslog output, ``%05N|%c|%p|%m``.
|
|
Open vSwitch CI |
88b1a2 |
+ The default pattern for console and file output is
|
|
Open vSwitch CI |
88b1a2 |
+ ``%D{%Y-%m-%dT %H:%M:%SZ}|%05N|%c|%p|%m``; for syslog output,
|
|
Open vSwitch CI |
88b1a2 |
+ ``%05N|%c|%p|%m``.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
Daemons written in Python (e.g. ``ovs-monitor-ipsec``) do not allow
|
|
Open vSwitch CI |
88b1a2 |
control over the log pattern.
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
-* ``vlog/set FACILITY:<facility>``
|
|
Open vSwitch CI |
88b1a2 |
+* ``vlog/set FACILITY:``\ *facility*
|
|
Open vSwitch CI |
88b1a2 |
|
|
Open vSwitch CI |
88b1a2 |
- Sets the RFC5424 facility of the log message. <facility> can be one
|
|
Open vSwitch CI |
88b1a2 |
+ Sets the RFC5424 facility of the log message. *facility* can be one
|
|
Open vSwitch CI |
88b1a2 |
of ``kern``, ``user``, ``mail``, ``daemon``, ``auth``, ``syslog``,
|
|
Open vSwitch CI |
88b1a2 |
``lpr``, ``news``, ``uucp``, ``clock``, ``ftp``, ``ntp``, ``audit``,
|
|
Open vSwitch CI |
88b1a2 |
``alert``, ``clock2``, ``local0``, ``local1``, ``local2``,
|
|
Open vSwitch CI |
be35b2 |
diff --git a/NEWS b/NEWS
|
|
Open vSwitch CI |
3f1ad0 |
index 944c95a8d7..faa159cbb6 100644
|
|
Open vSwitch CI |
be35b2 |
--- a/NEWS
|
|
Open vSwitch CI |
be35b2 |
+++ b/NEWS
|
|
Open vSwitch CI |
3f1ad0 |
@@ -1,3 +1,8 @@
|
|
Open vSwitch CI |
be35b2 |
+v3.4.1 - xx xxx xxxx
|
|
Open vSwitch CI |
be35b2 |
+--------------------
|
|
Open vSwitch CI |
3f1ad0 |
+ - DPDK:
|
|
Open vSwitch CI |
3f1ad0 |
+ * OVS validated with DPDK 23.11.2.
|
|
Open vSwitch CI |
be35b2 |
+
|
|
Open vSwitch CI |
be35b2 |
v3.4.0 - 15 Aug 2024
|
|
Open vSwitch CI |
be35b2 |
--------------------
|
|
Open vSwitch CI |
be35b2 |
- Option '--mlockall' now only locks memory pages on fault, if possible.
|
|
Open vSwitch CI |
be35b2 |
diff --git a/configure.ac b/configure.ac
|
|
Open vSwitch CI |
be35b2 |
index 3e39120af8..f5d9648f0d 100644
|
|
Open vSwitch CI |
be35b2 |
--- a/configure.ac
|
|
Open vSwitch CI |
be35b2 |
+++ b/configure.ac
|
|
Open vSwitch CI |
be35b2 |
@@ -13,7 +13,7 @@
|
|
Open vSwitch CI |
be35b2 |
# limitations under the License.
|
|
Open vSwitch CI |
be35b2 |
|
|
Open vSwitch CI |
be35b2 |
AC_PREREQ(2.63)
|
|
Open vSwitch CI |
be35b2 |
-AC_INIT(openvswitch, 3.4.0, bugs@openvswitch.org)
|
|
Open vSwitch CI |
be35b2 |
+AC_INIT(openvswitch, 3.4.1, bugs@openvswitch.org)
|
|
Open vSwitch CI |
be35b2 |
AC_CONFIG_SRCDIR([vswitchd/ovs-vswitchd.c])
|
|
Open vSwitch CI |
be35b2 |
AC_CONFIG_MACRO_DIR([m4])
|
|
Open vSwitch CI |
be35b2 |
AC_CONFIG_AUX_DIR([build-aux])
|
|
Open vSwitch CI |
be35b2 |
diff --git a/debian/changelog b/debian/changelog
|
|
Open vSwitch CI |
be35b2 |
index b9f9b404bf..c5396cc09c 100644
|
|
Open vSwitch CI |
be35b2 |
--- a/debian/changelog
|
|
Open vSwitch CI |
be35b2 |
+++ b/debian/changelog
|
|
Open vSwitch CI |
be35b2 |
@@ -1,3 +1,9 @@
|
|
Open vSwitch CI |
be35b2 |
+openvswitch (3.4.1-1) unstable; urgency=low
|
|
Open vSwitch CI |
be35b2 |
+ [ Open vSwitch team ]
|
|
Open vSwitch CI |
be35b2 |
+ * New upstream version
|
|
Open vSwitch CI |
be35b2 |
+
|
|
Open vSwitch CI |
be35b2 |
+ -- Open vSwitch team <dev@openvswitch.org> Thu, 15 Aug 2024 14:59:36 +0200
|
|
Open vSwitch CI |
be35b2 |
+
|
|
Open vSwitch CI |
be35b2 |
openvswitch (3.4.0-1) unstable; urgency=low
|
|
Open vSwitch CI |
be35b2 |
|
|
Open vSwitch CI |
be35b2 |
* New upstream version
|
|
Open vSwitch CI |
940672 |
diff --git a/lib/mcast-snooping.c b/lib/mcast-snooping.c
|
|
Open vSwitch CI |
940672 |
index dc5164b41c..bf25e6f20a 100644
|
|
Open vSwitch CI |
940672 |
--- a/lib/mcast-snooping.c
|
|
Open vSwitch CI |
940672 |
+++ b/lib/mcast-snooping.c
|
|
Open vSwitch CI |
940672 |
@@ -432,7 +432,9 @@ mcast_snooping_add_group(struct mcast_snooping *ms,
|
|
Open vSwitch CI |
940672 |
uint32_t hash = mcast_table_hash(ms, addr, vlan);
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
if (hmap_count(&ms->table) >= ms->max_entries) {
|
|
Open vSwitch CI |
940672 |
- group_get_lru(ms, &grp;;
|
|
Open vSwitch CI |
940672 |
+ if (!group_get_lru(ms, &grp)) {
|
|
Open vSwitch CI |
940672 |
+ return false;
|
|
Open vSwitch CI |
940672 |
+ }
|
|
Open vSwitch CI |
940672 |
mcast_snooping_flush_group(ms, grp);
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
1fb1f0 |
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
|
|
Open vSwitch CI |
1fb1f0 |
index 7cced0f226..d3cd66f18a 100644
|
|
Open vSwitch CI |
1fb1f0 |
--- a/lib/netdev-dpdk.c
|
|
Open vSwitch CI |
1fb1f0 |
+++ b/lib/netdev-dpdk.c
|
|
Open vSwitch CI |
1fb1f0 |
@@ -1355,12 +1355,13 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev)
|
|
Open vSwitch CI |
1fb1f0 |
|
|
Open vSwitch CI |
1fb1f0 |
if (!strcmp(info.driver_name, "net_ice")
|
|
Open vSwitch CI |
1fb1f0 |
|| !strcmp(info.driver_name, "net_i40e")
|
|
Open vSwitch CI |
1fb1f0 |
- || !strcmp(info.driver_name, "net_iavf")) {
|
|
Open vSwitch CI |
1fb1f0 |
+ || !strcmp(info.driver_name, "net_iavf")
|
|
Open vSwitch CI |
1fb1f0 |
+ || !strcmp(info.driver_name, "net_txgbe")) {
|
|
Open vSwitch CI |
1fb1f0 |
/* FIXME: Driver advertises the capability but doesn't seem
|
|
Open vSwitch CI |
1fb1f0 |
* to actually support it correctly. Can remove this once
|
|
Open vSwitch CI |
1fb1f0 |
* the driver is fixed on DPDK side. */
|
|
Open vSwitch CI |
1fb1f0 |
VLOG_INFO("%s: disabled Tx outer udp checksum offloads for a "
|
|
Open vSwitch CI |
1fb1f0 |
- "net/ice, net/i40e or net/iavf port.",
|
|
Open vSwitch CI |
1fb1f0 |
+ "net/ice, net/i40e, net/iavf or net/txgbe port.",
|
|
Open vSwitch CI |
1fb1f0 |
netdev_get_name(&dev->up));
|
|
Open vSwitch CI |
1fb1f0 |
info.tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM;
|
|
Open vSwitch CI |
1fb1f0 |
info.tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO;
|
|
Open vSwitch CI |
4991e3 |
diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c
|
|
Open vSwitch CI |
4991e3 |
index 16c56608d8..529d64fe1d 100644
|
|
Open vSwitch CI |
4991e3 |
--- a/lib/netdev-native-tnl.c
|
|
Open vSwitch CI |
4991e3 |
+++ b/lib/netdev-native-tnl.c
|
|
Open vSwitch CI |
4991e3 |
@@ -254,7 +254,7 @@ dp_packet_tnl_ol_process(struct dp_packet *packet,
|
|
Open vSwitch CI |
4991e3 |
|
|
Open vSwitch CI |
4991e3 |
if (IP_VER(ip->ip_ihl_ver) == 4) {
|
|
Open vSwitch CI |
4991e3 |
dp_packet_hwol_set_tx_ipv4(packet);
|
|
Open vSwitch CI |
4991e3 |
- dp_packet_hwol_tx_ip_csum(packet);
|
|
Open vSwitch CI |
4991e3 |
+ dp_packet_hwol_set_tx_ip_csum(packet);
|
|
Open vSwitch CI |
4991e3 |
} else if (IP_VER(ip->ip_ihl_ver) == 6) {
|
|
Open vSwitch CI |
4991e3 |
dp_packet_hwol_set_tx_ipv6(packet);
|
|
Open vSwitch CI |
4991e3 |
}
|
|
Open vSwitch CI |
940672 |
diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
|
|
Open vSwitch CI |
940672 |
index ba720474b6..d92df28d19 100644
|
|
Open vSwitch CI |
940672 |
--- a/lib/ovsdb-idl.c
|
|
Open vSwitch CI |
940672 |
+++ b/lib/ovsdb-idl.c
|
|
Open vSwitch CI |
940672 |
@@ -3783,6 +3783,8 @@ ovsdb_idl_txn_delete(const struct ovsdb_idl_row *row_)
|
|
Open vSwitch CI |
940672 |
ovsdb_idl_remove_from_indexes(row_);
|
|
Open vSwitch CI |
940672 |
if (!row->old_datum) {
|
|
Open vSwitch CI |
940672 |
ovsdb_idl_row_unparse(row);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_destroy_all_map_op_lists(row);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_destroy_all_set_op_lists(row);
|
|
Open vSwitch CI |
940672 |
ovsdb_idl_row_clear_new(row);
|
|
Open vSwitch CI |
940672 |
ovs_assert(!row->prereqs);
|
|
Open vSwitch CI |
940672 |
hmap_remove(&row->table->rows, &row->hmap_node);
|
|
Open vSwitch CI |
940672 |
diff --git a/lib/vconn.c b/lib/vconn.c
|
|
Open vSwitch CI |
940672 |
index e9603432d2..4b1c262eaa 100644
|
|
Open vSwitch CI |
940672 |
--- a/lib/vconn.c
|
|
Open vSwitch CI |
940672 |
+++ b/lib/vconn.c
|
|
Open vSwitch CI |
940672 |
@@ -1017,6 +1017,8 @@ recv_flow_stats_reply(struct vconn *vconn, ovs_be32 send_xid,
|
|
Open vSwitch CI |
940672 |
VLOG_WARN_RL(&rl, "received bad reply: %s",
|
|
Open vSwitch CI |
940672 |
ofp_to_string(reply->data, reply->size,
|
|
Open vSwitch CI |
940672 |
NULL, NULL, 1));
|
|
Open vSwitch CI |
940672 |
+ ofpbuf_delete(reply);
|
|
Open vSwitch CI |
940672 |
+ *replyp = NULL;
|
|
Open vSwitch CI |
940672 |
return EPROTO;
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
@@ -1031,9 +1033,9 @@ recv_flow_stats_reply(struct vconn *vconn, ovs_be32 send_xid,
|
|
Open vSwitch CI |
940672 |
case EOF:
|
|
Open vSwitch CI |
940672 |
more = ofpmp_more(reply->header);
|
|
Open vSwitch CI |
940672 |
ofpbuf_delete(reply);
|
|
Open vSwitch CI |
940672 |
+ *replyp = NULL;
|
|
Open vSwitch CI |
940672 |
reply = NULL;
|
|
Open vSwitch CI |
940672 |
if (!more) {
|
|
Open vSwitch CI |
940672 |
- *replyp = NULL;
|
|
Open vSwitch CI |
940672 |
return EOF;
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
break;
|
|
Open vSwitch CI |
940672 |
@@ -1041,6 +1043,8 @@ recv_flow_stats_reply(struct vconn *vconn, ovs_be32 send_xid,
|
|
Open vSwitch CI |
940672 |
default:
|
|
Open vSwitch CI |
940672 |
VLOG_WARN_RL(&rl, "parse error in reply (%s)",
|
|
Open vSwitch CI |
940672 |
ofperr_to_string(retval));
|
|
Open vSwitch CI |
940672 |
+ ofpbuf_delete(reply);
|
|
Open vSwitch CI |
940672 |
+ *replyp = NULL;
|
|
Open vSwitch CI |
940672 |
return EPROTO;
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
diff --git a/ofproto/bond.c b/ofproto/bond.c
|
|
Open vSwitch CI |
940672 |
index c31869a4c7..0858de3746 100644
|
|
Open vSwitch CI |
940672 |
--- a/ofproto/bond.c
|
|
Open vSwitch CI |
940672 |
+++ b/ofproto/bond.c
|
|
Open vSwitch CI |
940672 |
@@ -246,7 +246,7 @@ bond_create(const struct bond_settings *s, struct ofproto_dpif *ofproto)
|
|
Open vSwitch CI |
940672 |
ovs_refcount_init(&bond->ref_cnt);
|
|
Open vSwitch CI |
940672 |
hmap_init(&bond->pr_rule_ops);
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
- bond->active_member_mac = eth_addr_zero;
|
|
Open vSwitch CI |
940672 |
+ bond->active_member_mac = s->active_member_mac;
|
|
Open vSwitch CI |
940672 |
bond->active_member_changed = false;
|
|
Open vSwitch CI |
940672 |
bond->primary = NULL;
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
|
|
Open vSwitch CI |
940672 |
index 4d39bc5a71..e7d4c2b2c3 100644
|
|
Open vSwitch CI |
940672 |
--- a/ofproto/ofproto-dpif-upcall.c
|
|
Open vSwitch CI |
940672 |
+++ b/ofproto/ofproto-dpif-upcall.c
|
|
Open vSwitch CI |
940672 |
@@ -57,6 +57,7 @@ COVERAGE_DEFINE(dumped_inconsistent_flow);
|
|
Open vSwitch CI |
940672 |
COVERAGE_DEFINE(dumped_new_flow);
|
|
Open vSwitch CI |
940672 |
COVERAGE_DEFINE(handler_duplicate_upcall);
|
|
Open vSwitch CI |
940672 |
COVERAGE_DEFINE(revalidate_missed_dp_flow);
|
|
Open vSwitch CI |
940672 |
+COVERAGE_DEFINE(revalidate_missing_dp_flow);
|
|
Open vSwitch CI |
940672 |
COVERAGE_DEFINE(ukey_dp_change);
|
|
Open vSwitch CI |
940672 |
COVERAGE_DEFINE(ukey_invalid_stat_reset);
|
|
Open vSwitch CI |
940672 |
COVERAGE_DEFINE(ukey_replace_contention);
|
|
Open vSwitch CI |
940672 |
@@ -284,6 +285,7 @@ enum flow_del_reason {
|
|
Open vSwitch CI |
940672 |
FDR_TOO_EXPENSIVE, /* Too expensive to revalidate. */
|
|
Open vSwitch CI |
940672 |
FDR_UPDATE_FAIL, /* Datapath update failed. */
|
|
Open vSwitch CI |
940672 |
FDR_XLATION_ERROR, /* Flow translation error. */
|
|
Open vSwitch CI |
940672 |
+ FDR_FLOW_MISSING_DP, /* Flow is missing from the datapath. */
|
|
Open vSwitch CI |
940672 |
};
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
/* 'udpif_key's are responsible for tracking the little bit of state udpif
|
|
Open vSwitch CI |
940672 |
@@ -318,6 +320,7 @@ struct udpif_key {
|
|
Open vSwitch CI |
940672 |
uint64_t dump_seq OVS_GUARDED; /* Tracks udpif->dump_seq. */
|
|
Open vSwitch CI |
940672 |
uint64_t reval_seq OVS_GUARDED; /* Tracks udpif->reval_seq. */
|
|
Open vSwitch CI |
940672 |
enum ukey_state state OVS_GUARDED; /* Tracks ukey lifetime. */
|
|
Open vSwitch CI |
940672 |
+ uint32_t missed_dumps OVS_GUARDED; /* Missed consecutive dumps. */
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
/* 'state' debug information. */
|
|
Open vSwitch CI |
940672 |
unsigned int state_thread OVS_GUARDED; /* Thread that transitions. */
|
|
Open vSwitch CI |
940672 |
@@ -3040,6 +3043,21 @@ revalidator_sweep__(struct revalidator *revalidator, bool purge)
|
|
Open vSwitch CI |
940672 |
result = revalidate_ukey(udpif, ukey, &stats, &odp_actions,
|
|
Open vSwitch CI |
940672 |
reval_seq, &recircs, &del_reason);
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+ if (ukey->dump_seq != dump_seq) {
|
|
Open vSwitch CI |
940672 |
+ ukey->missed_dumps++;
|
|
Open vSwitch CI |
940672 |
+ if (ukey->missed_dumps >= 4) {
|
|
Open vSwitch CI |
940672 |
+ /* If the flow was not dumped for 4 revalidator rounds,
|
|
Open vSwitch CI |
940672 |
+ * we can assume the datapath flow no longer exists
|
|
Open vSwitch CI |
940672 |
+ * and the ukey should be deleted. */
|
|
Open vSwitch CI |
940672 |
+ COVERAGE_INC(revalidate_missing_dp_flow);
|
|
Open vSwitch CI |
940672 |
+ del_reason = FDR_FLOW_MISSING_DP;
|
|
Open vSwitch CI |
940672 |
+ result = UKEY_DELETE;
|
|
Open vSwitch CI |
940672 |
+ }
|
|
Open vSwitch CI |
940672 |
+ } else {
|
|
Open vSwitch CI |
940672 |
+ ukey->missed_dumps = 0;
|
|
Open vSwitch CI |
940672 |
+ }
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
if (result != UKEY_KEEP) {
|
|
Open vSwitch CI |
940672 |
/* Clears 'recircs' if filled by revalidate_ukey(). */
|
|
Open vSwitch CI |
940672 |
reval_op_init(&ops[n_ops++], result, udpif, ukey, &recircs,
|
|
Open vSwitch CI |
3df53f |
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
|
|
Open vSwitch CI |
3df53f |
index d3c353b9d6..9c210877e4 100644
|
|
Open vSwitch CI |
3df53f |
--- a/ofproto/ofproto-dpif.c
|
|
Open vSwitch CI |
3df53f |
+++ b/ofproto/ofproto-dpif.c
|
|
Open vSwitch CI |
3df53f |
@@ -5341,8 +5341,10 @@ group_setup_dp_hash_table(struct group_dpif *group, size_t max_hash)
|
|
Open vSwitch CI |
3df53f |
min_weight, total_weight);
|
|
Open vSwitch CI |
3df53f |
|
|
Open vSwitch CI |
3df53f |
uint64_t min_slots = DIV_ROUND_UP(total_weight, min_weight);
|
|
Open vSwitch CI |
3df53f |
- uint64_t min_slots2 = ROUND_UP_POW2(min_slots);
|
|
Open vSwitch CI |
3df53f |
- uint64_t n_hash = MAX(16, min_slots2);
|
|
Open vSwitch CI |
3df53f |
+ uint64_t min_slots2 =
|
|
Open vSwitch CI |
3df53f |
+ MAX(min_slots, MIN(n_buckets * 4, MAX_SELECT_GROUP_HASH_VALUES));
|
|
Open vSwitch CI |
3df53f |
+ uint64_t min_slots3 = ROUND_UP_POW2(min_slots2);
|
|
Open vSwitch CI |
3df53f |
+ uint64_t n_hash = MAX(16, min_slots3);
|
|
Open vSwitch CI |
3df53f |
if (n_hash > MAX_SELECT_GROUP_HASH_VALUES ||
|
|
Open vSwitch CI |
3df53f |
(max_hash != 0 && n_hash > max_hash)) {
|
|
Open vSwitch CI |
3df53f |
VLOG_DBG(" Too many hash values required: %"PRIu64, n_hash);
|
|
Open vSwitch CI |
11f3bc |
diff --git a/selinux/openvswitch-custom.te.in b/selinux/openvswitch-custom.te.in
|
|
Open vSwitch CI |
11f3bc |
index beb0ab0d66..fe2c5bb61a 100644
|
|
Open vSwitch CI |
11f3bc |
--- a/selinux/openvswitch-custom.te.in
|
|
Open vSwitch CI |
11f3bc |
+++ b/selinux/openvswitch-custom.te.in
|
|
Open vSwitch CI |
11f3bc |
@@ -49,8 +49,8 @@ require {
|
|
Open vSwitch CI |
11f3bc |
class fifo_file { getattr read write append ioctl lock open };
|
|
Open vSwitch CI |
11f3bc |
class filesystem getattr;
|
|
Open vSwitch CI |
11f3bc |
class lnk_file { read open };
|
|
Open vSwitch CI |
11f3bc |
- class netlink_audit_socket { create nlmsg_relay audit_write read write };
|
|
Open vSwitch CI |
11f3bc |
- class netlink_netfilter_socket { create nlmsg_relay audit_write read write };
|
|
Open vSwitch CI |
11f3bc |
+ class netlink_audit_socket { create nlmsg_relay read write };
|
|
Open vSwitch CI |
11f3bc |
+ class netlink_netfilter_socket { create read write };
|
|
Open vSwitch CI |
11f3bc |
@begin_dpdk@
|
|
Open vSwitch CI |
11f3bc |
class netlink_rdma_socket { setopt bind create };
|
|
Open vSwitch CI |
11f3bc |
@end_dpdk@
|
|
Open vSwitch CI |
11f3bc |
@@ -79,8 +79,8 @@ domtrans_pattern(openvswitch_t, openvswitch_load_module_exec_t, openvswitch_load
|
|
Open vSwitch CI |
11f3bc |
|
|
Open vSwitch CI |
11f3bc |
#============= openvswitch_t ==============
|
|
Open vSwitch CI |
11f3bc |
allow openvswitch_t self:capability { dac_override audit_write net_broadcast net_raw };
|
|
Open vSwitch CI |
11f3bc |
-allow openvswitch_t self:netlink_audit_socket { create nlmsg_relay audit_write read write };
|
|
Open vSwitch CI |
11f3bc |
-allow openvswitch_t self:netlink_netfilter_socket { create nlmsg_relay audit_write read write };
|
|
Open vSwitch CI |
11f3bc |
+allow openvswitch_t self:netlink_audit_socket { create nlmsg_relay read write };
|
|
Open vSwitch CI |
11f3bc |
+allow openvswitch_t self:netlink_netfilter_socket { create read write };
|
|
Open vSwitch CI |
11f3bc |
@begin_dpdk@
|
|
Open vSwitch CI |
11f3bc |
allow openvswitch_t self:netlink_rdma_socket { setopt bind create };
|
|
Open vSwitch CI |
11f3bc |
@end_dpdk@
|
|
Open vSwitch CI |
940672 |
diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
|
|
Open vSwitch CI |
3df53f |
index 42fb66de68..1c99dc3bb9 100644
|
|
Open vSwitch CI |
940672 |
--- a/tests/ofproto-dpif.at
|
|
Open vSwitch CI |
940672 |
+++ b/tests/ofproto-dpif.at
|
|
Open vSwitch CI |
940672 |
@@ -757,6 +757,73 @@ Datapath actions: drop
|
|
Open vSwitch CI |
940672 |
OVS_VSWITCHD_STOP()
|
|
Open vSwitch CI |
940672 |
AT_CLEANUP
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
+AT_SETUP([ofproto-dpif - active bond member survives restart])
|
|
Open vSwitch CI |
940672 |
+dnl Create bond0 with members p1, p2 and p3. Initially, set p2 as active.
|
|
Open vSwitch CI |
940672 |
+dnl Restart ovs-vswitchd. Check that p2 is still active.
|
|
Open vSwitch CI |
940672 |
+OVS_VSWITCHD_START(
|
|
Open vSwitch CI |
940672 |
+ [add-bond br0 bond0 p1 p2 p3 bond_mode=active-backup -- \
|
|
Open vSwitch CI |
940672 |
+ set interface p1 type=dummy ofport_request=1 -- \
|
|
Open vSwitch CI |
940672 |
+ set interface p2 type=dummy ofport_request=2 -- \
|
|
Open vSwitch CI |
940672 |
+ set interface p3 type=dummy ofport_request=3 --])
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl bond/set-active-member bond0 p2], [0], [ignore])
|
|
Open vSwitch CI |
940672 |
+OVS_WAIT_UNTIL_EQUAL([ovs-appctl bond/show | STRIP_RECIRC_ID | STRIP_ACTIVE_MEMBER_MAC], [dnl
|
|
Open vSwitch CI |
940672 |
+---- bond0 ----
|
|
Open vSwitch CI |
940672 |
+bond_mode: active-backup
|
|
Open vSwitch CI |
940672 |
+bond may use recirculation: no,
|
|
Open vSwitch CI |
940672 |
+bond-hash-basis: 0
|
|
Open vSwitch CI |
940672 |
+lb_output action: disabled, bond-id: -1
|
|
Open vSwitch CI |
940672 |
+updelay: 0 ms
|
|
Open vSwitch CI |
940672 |
+downdelay: 0 ms
|
|
Open vSwitch CI |
940672 |
+lacp_status: off
|
|
Open vSwitch CI |
940672 |
+lacp_fallback_ab: false
|
|
Open vSwitch CI |
940672 |
+active-backup primary: <none>
|
|
Open vSwitch CI |
940672 |
+<active member mac del>
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+member p1: enabled
|
|
Open vSwitch CI |
940672 |
+ may_enable: true
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+member p2: enabled
|
|
Open vSwitch CI |
940672 |
+ active member
|
|
Open vSwitch CI |
940672 |
+ may_enable: true
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+member p3: enabled
|
|
Open vSwitch CI |
940672 |
+ may_enable: true
|
|
Open vSwitch CI |
940672 |
+])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+dnl Restart ovs-vswitchd with an empty ovs-vswitchd log file.
|
|
Open vSwitch CI |
940672 |
+OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
|
|
Open vSwitch CI |
940672 |
+mv ovs-vswitchd.log ovs-vswitchd_1.log
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-vswitchd --enable-dummy --disable-system --disable-system-route --detach \
|
|
Open vSwitch CI |
940672 |
+ --no-chdir --pidfile --log-file -vfile:rconn:dbg -vvconn -vofproto_dpif -vunixctl],
|
|
Open vSwitch CI |
940672 |
+ [0], [], [stderr])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+OVS_WAIT_UNTIL_EQUAL([ovs-appctl bond/show | STRIP_RECIRC_ID | STRIP_ACTIVE_MEMBER_MAC], [dnl
|
|
Open vSwitch CI |
940672 |
+---- bond0 ----
|
|
Open vSwitch CI |
940672 |
+bond_mode: active-backup
|
|
Open vSwitch CI |
940672 |
+bond may use recirculation: no,
|
|
Open vSwitch CI |
940672 |
+bond-hash-basis: 0
|
|
Open vSwitch CI |
940672 |
+lb_output action: disabled, bond-id: -1
|
|
Open vSwitch CI |
940672 |
+updelay: 0 ms
|
|
Open vSwitch CI |
940672 |
+downdelay: 0 ms
|
|
Open vSwitch CI |
940672 |
+lacp_status: off
|
|
Open vSwitch CI |
940672 |
+lacp_fallback_ab: false
|
|
Open vSwitch CI |
940672 |
+active-backup primary: <none>
|
|
Open vSwitch CI |
940672 |
+<active member mac del>
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+member p1: enabled
|
|
Open vSwitch CI |
940672 |
+ may_enable: true
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+member p2: enabled
|
|
Open vSwitch CI |
940672 |
+ active member
|
|
Open vSwitch CI |
940672 |
+ may_enable: true
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+member p3: enabled
|
|
Open vSwitch CI |
940672 |
+ may_enable: true
|
|
Open vSwitch CI |
940672 |
+])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+OVS_VSWITCHD_STOP
|
|
Open vSwitch CI |
940672 |
+AT_CLEANUP
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
AT_SETUP([ofproto-dpif - bond - allow duplicated frames])
|
|
Open vSwitch CI |
940672 |
dnl Receiving of duplicated multicast frames should be allowed with 'all_members_active'.
|
|
Open vSwitch CI |
940672 |
OVS_VSWITCHD_START([dnl
|
|
Open vSwitch CI |
3df53f |
@@ -1171,6 +1238,60 @@ bucket3 >= 500
|
|
Open vSwitch CI |
3df53f |
OVS_VSWITCHD_STOP
|
|
Open vSwitch CI |
3df53f |
AT_CLEANUP
|
|
Open vSwitch CI |
3df53f |
|
|
Open vSwitch CI |
3df53f |
+AT_SETUP([ofproto-dpif - select group with dp_hash and equal weights])
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+OVS_VSWITCHD_START
|
|
Open vSwitch CI |
3df53f |
+add_of_ports br0 1 10
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+AT_CHECK([ovs-appctl vlog/set ofproto_dpif:file:dbg vconn:file:info])
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+AT_DATA([stddev.awk], [
|
|
Open vSwitch CI |
3df53f |
+ {
|
|
Open vSwitch CI |
3df53f |
+ # $1 (target) is a mean value, because all weights are the same.
|
|
Open vSwitch CI |
3df53f |
+ # $2 (hits) is an actual number of hashes assigned to this bucket.
|
|
Open vSwitch CI |
3df53f |
+ n_hashes += $2
|
|
Open vSwitch CI |
3df53f |
+ n_buckets++
|
|
Open vSwitch CI |
3df53f |
+ sum_sq_diff += ($2 - $1) * ($2 - $1)
|
|
Open vSwitch CI |
3df53f |
+ }
|
|
Open vSwitch CI |
3df53f |
+ END {
|
|
Open vSwitch CI |
3df53f |
+ mean = n_hashes / n_buckets
|
|
Open vSwitch CI |
3df53f |
+ stddev = sqrt(sum_sq_diff / n_buckets)
|
|
Open vSwitch CI |
3df53f |
+ stddevp = stddev * 100 / mean
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+ print "hashes:", n_hashes, "buckets:", n_buckets
|
|
Open vSwitch CI |
3df53f |
+ print "mean:", mean, "stddev:", stddev, "(", stddevp, "% )"
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+ # Make sure that standard deviation of load between buckets is below 12.5%.
|
|
Open vSwitch CI |
3df53f |
+ # Note: it's not a strict requirement, but a good number that passes tests.
|
|
Open vSwitch CI |
3df53f |
+ if (stddevp <= 12.5) { print "PASS" }
|
|
Open vSwitch CI |
3df53f |
+ else { print "FAIL" }
|
|
Open vSwitch CI |
3df53f |
+ }
|
|
Open vSwitch CI |
3df53f |
+])
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+m4_define([CHECK_DISTRIBUTION], [
|
|
Open vSwitch CI |
3df53f |
+ AT_CHECK([tail -n $1 ovs-vswitchd.log | grep 'ofproto_dpif|DBG|.*Bucket' \
|
|
Open vSwitch CI |
3df53f |
+ | sed 's/.*target=\([[0-9\.]]*\) hits=\([[0-9]]*\)/\1 \2/' \
|
|
Open vSwitch CI |
3df53f |
+ | awk -f stddev.awk], [0], [stdout])
|
|
Open vSwitch CI |
3df53f |
+ AT_CHECK([grep -q "buckets: $2" stdout])
|
|
Open vSwitch CI |
3df53f |
+ AT_CHECK([grep -q 'PASS' stdout])
|
|
Open vSwitch CI |
3df53f |
+])
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+m4_define([OF_GROUP], [group_id=$1,type=select,selection_method=dp_hash])
|
|
Open vSwitch CI |
3df53f |
+m4_define([OFG_BUCKET], [bucket=weight=$1,output:10])
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+dnl Test load distribution in groups with up to 64 equally weighted buckets.
|
|
Open vSwitch CI |
3df53f |
+m4_define([OFG_BUCKETS], [OFG_BUCKET(100)])
|
|
Open vSwitch CI |
3df53f |
+m4_for([id], [1], [64], [1], [
|
|
Open vSwitch CI |
3df53f |
+ get_log_next_line_num
|
|
Open vSwitch CI |
3df53f |
+ AT_CHECK([ovs-ofctl -O OpenFlow15 add-group br0 \
|
|
Open vSwitch CI |
3df53f |
+ "OF_GROUP(id),OFG_BUCKETS()"])
|
|
Open vSwitch CI |
3df53f |
+ CHECK_DISTRIBUTION([+$LINENUM], [id])
|
|
Open vSwitch CI |
3df53f |
+ m4_append([OFG_BUCKETS], [,OFG_BUCKET(100)])
|
|
Open vSwitch CI |
3df53f |
+])
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
+OVS_VSWITCHD_STOP
|
|
Open vSwitch CI |
3df53f |
+AT_CLEANUP
|
|
Open vSwitch CI |
3df53f |
+
|
|
Open vSwitch CI |
3df53f |
AT_SETUP([ofproto-dpif - select group with explicit dp_hash selection method])
|
|
Open vSwitch CI |
3df53f |
|
|
Open vSwitch CI |
3df53f |
OVS_VSWITCHD_START
|
|
Open vSwitch CI |
3df53f |
@@ -12661,3 +12782,48 @@ AT_CHECK([ovs-appctl revalidator/resume])
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
OVS_VSWITCHD_STOP
|
|
Open vSwitch CI |
940672 |
AT_CLEANUP
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+AT_SETUP([ofproto-dpif - Cleanup missing datapath flows])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+OVS_VSWITCHD_START
|
|
Open vSwitch CI |
940672 |
+add_of_ports br0 1 2
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+m4_define([ICMP_PKT], [m4_join([,],
|
|
Open vSwitch CI |
940672 |
+ [eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800)],
|
|
Open vSwitch CI |
940672 |
+ [ipv4(src=10.10.10.2,dst=10.10.10.1,proto=1,tos=1,ttl=128,frag=no)],
|
|
Open vSwitch CI |
940672 |
+ [icmp(type=8,code=0)])])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-ofctl del-flows br0])
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-ofctl add-flow br0 'actions=normal' ])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl netdev-dummy/receive p1 'ICMP_PKT'])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl dpctl/dump-flows --names | strip_used | strip_stats | dnl
|
|
Open vSwitch CI |
940672 |
+ strip_duration | strip_dp_hash | sort], [0], [dnl
|
|
Open vSwitch CI |
940672 |
+flow-dump from the main thread:
|
|
Open vSwitch CI |
940672 |
+recirc_id(0),in_port(p1),packet_type(ns=0,id=0),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(frag=no), packets:0, bytes:0, used:never, actions:br0,p2
|
|
Open vSwitch CI |
940672 |
+])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+dnl Make sure the ukey exists.
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl upcall/show | grep '(keys' | awk '{print $3}' | \
|
|
Open vSwitch CI |
940672 |
+ grep -q '1)'], [0])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+dnl Delete all datapath flows, and make sure they are gone.
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl dpctl/del-flows])
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl dpctl/dump-flows --names ], [0], [])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+dnl Move forward in time and make sure we have at least 4 * 500ms.
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl time/warp 3000 300], [0], [ignore])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+dnl Make sure no more ukeys exists.
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl upcall/show | grep '(keys' | awk '{print $3}' | \
|
|
Open vSwitch CI |
940672 |
+ grep -qv '0)'], [1])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+dnl Verify coverage counter was hit.
|
|
Open vSwitch CI |
940672 |
+AT_CHECK([ovs-appctl coverage/read-counter revalidate_missing_dp_flow], [0],
|
|
Open vSwitch CI |
940672 |
+ [dnl
|
|
Open vSwitch CI |
940672 |
+1
|
|
Open vSwitch CI |
940672 |
+])
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+OVS_VSWITCHD_STOP(["/failed to flow_del (No such file or directory)/d"])
|
|
Open vSwitch CI |
940672 |
+AT_CLEANUP
|
|
Open vSwitch CI |
940672 |
diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at
|
|
Open vSwitch CI |
940672 |
index 9070ea051a..74ccaccdd2 100644
|
|
Open vSwitch CI |
940672 |
--- a/tests/ovsdb-idl.at
|
|
Open vSwitch CI |
940672 |
+++ b/tests/ovsdb-idl.at
|
|
Open vSwitch CI |
940672 |
@@ -1881,7 +1881,10 @@ OVSDB_CHECK_IDL_PARTIAL_UPDATE_MAP_COLUMN([map, simple2 idl-partial-update-map-c
|
|
Open vSwitch CI |
940672 |
007: name=String2 smap=[[key2 : value2]] imap=[[3 : myids2]]
|
|
Open vSwitch CI |
940672 |
008: After trying to delete a deleted element
|
|
Open vSwitch CI |
940672 |
009: name=String2 smap=[[key2 : value2]] imap=[[3 : myids2]]
|
|
Open vSwitch CI |
940672 |
-010: End test
|
|
Open vSwitch CI |
940672 |
+010: After Create element, update smap and Delete element
|
|
Open vSwitch CI |
940672 |
+011: name=String2 smap=[[key2 : value2]] imap=[[3 : myids2]]
|
|
Open vSwitch CI |
940672 |
+012: After update smap and Delete element
|
|
Open vSwitch CI |
940672 |
+014: End test
|
|
Open vSwitch CI |
940672 |
]])
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
OVSDB_CHECK_IDL_PY([partial-map idl],
|
|
Open vSwitch CI |
940672 |
@@ -1944,7 +1947,9 @@ OVSDB_CHECK_IDL_PARTIAL_UPDATE_SET_COLUMN([set, simple3 idl-partial-update-set-c
|
|
Open vSwitch CI |
940672 |
009: table simple3: name=String2 uset=[<0>,<1>,<4>] uref=[] uuid=<2>
|
|
Open vSwitch CI |
940672 |
010: After add to other table + set of strong ref
|
|
Open vSwitch CI |
940672 |
011: table simple3: name=String2 uset=[<0>,<1>,<4>] uref=[<5>] uuid=<2>
|
|
Open vSwitch CI |
940672 |
-012: End test
|
|
Open vSwitch CI |
940672 |
+012: After Create element, update set and Delete element
|
|
Open vSwitch CI |
940672 |
+013: table simple3: name=String2 uset=[<0>,<1>,<4>] uref=[<5>] uuid=<2>
|
|
Open vSwitch CI |
940672 |
+014: End test
|
|
Open vSwitch CI |
940672 |
]])
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
OVSDB_CHECK_IDL_PY([partial-set idl],
|
|
Open vSwitch CI |
5faace |
diff --git a/tests/system-traffic.at b/tests/system-traffic.at
|
|
Open vSwitch CI |
5faace |
index 202ff04922..fe27e52448 100644
|
|
Open vSwitch CI |
5faace |
--- a/tests/system-traffic.at
|
|
Open vSwitch CI |
5faace |
+++ b/tests/system-traffic.at
|
|
Open vSwitch CI |
5faace |
@@ -6991,6 +6991,12 @@ dnl Checks the implementation of conntrack with FTP ALGs in combination with
|
|
Open vSwitch CI |
5faace |
dnl NAT, using the provided flow table.
|
|
Open vSwitch CI |
5faace |
m4_define([CHECK_FTP_NAT],
|
|
Open vSwitch CI |
5faace |
[AT_SETUP([conntrack - FTP $1])
|
|
Open vSwitch CI |
5faace |
+ m4_if(m4_index([$1], [orig tuple]), -1, [], [
|
|
Open vSwitch CI |
5faace |
+ dnl XXX: 6.8.0-1014-azure #16~22.04.1-Ubuntu kernel in GitHub Actions
|
|
Open vSwitch CI |
5faace |
+ dnl contains a known conntrack bug, but doesn't have a fix for it:
|
|
Open vSwitch CI |
5faace |
+ dnl a23ac973f67f ("openvswitch: get related ct labels from its master
|
|
Open vSwitch CI |
5faace |
+ dnl if it is not confirmed")
|
|
Open vSwitch CI |
5faace |
+ OVS_CHECK_GITHUB_ACTION()])
|
|
Open vSwitch CI |
5faace |
AT_SKIP_IF([test $HAVE_FTP = no])
|
|
Open vSwitch CI |
5faace |
AT_SKIP_IF([test $HAVE_LFTP = no])
|
|
Open vSwitch CI |
5faace |
CHECK_CONNTRACK()
|
|
Open vSwitch CI |
940672 |
diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c
|
|
Open vSwitch CI |
940672 |
index 41c1525f45..710341b655 100644
|
|
Open vSwitch CI |
940672 |
--- a/tests/test-ovsdb.c
|
|
Open vSwitch CI |
940672 |
+++ b/tests/test-ovsdb.c
|
|
Open vSwitch CI |
940672 |
@@ -3020,6 +3020,29 @@ do_idl_partial_update_map_column(struct ovs_cmdl_context *ctx)
|
|
Open vSwitch CI |
940672 |
printf("%03d: After trying to delete a deleted element\n", step++);
|
|
Open vSwitch CI |
940672 |
dump_simple2(idl, myRow, step++);
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
+ myTxn = ovsdb_idl_txn_create(idl);
|
|
Open vSwitch CI |
940672 |
+ myRow = idltest_simple2_insert(myTxn);
|
|
Open vSwitch CI |
940672 |
+ idltest_simple2_update_smap_setkey(myRow, "key3", "myList3");
|
|
Open vSwitch CI |
940672 |
+ idltest_simple2_set_name(myRow, "String2");
|
|
Open vSwitch CI |
940672 |
+ idltest_simple2_delete(myRow);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_txn_commit_block(myTxn);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_txn_destroy(myTxn);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_get_initial_snapshot(idl);
|
|
Open vSwitch CI |
940672 |
+ printf("%03d: After Create element, update smap and Delete element\n",
|
|
Open vSwitch CI |
940672 |
+ step++);
|
|
Open vSwitch CI |
940672 |
+ dump_simple2(idl, myRow, step++);
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+ myTxn = ovsdb_idl_txn_create(idl);
|
|
Open vSwitch CI |
940672 |
+ myRow = idltest_simple2_first(idl);
|
|
Open vSwitch CI |
940672 |
+ idltest_simple2_update_smap_setkey(myRow, "key4", "myList4");
|
|
Open vSwitch CI |
940672 |
+ idltest_simple2_set_name(myRow, "String3");
|
|
Open vSwitch CI |
940672 |
+ idltest_simple2_delete(myRow);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_txn_commit_block(myTxn);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_txn_destroy(myTxn);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_get_initial_snapshot(idl);
|
|
Open vSwitch CI |
940672 |
+ printf("%03d: After update smap and Delete element\n", step++);
|
|
Open vSwitch CI |
940672 |
+ dump_simple2(idl, myRow, step++);
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
ovsdb_idl_destroy(idl);
|
|
Open vSwitch CI |
940672 |
printf("%03d: End test\n", step);
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
@@ -3118,6 +3141,21 @@ do_idl_partial_update_set_column(struct ovs_cmdl_context *ctx)
|
|
Open vSwitch CI |
940672 |
ovsdb_idl_get_initial_snapshot(idl);
|
|
Open vSwitch CI |
940672 |
printf("%03d: After add to other table + set of strong ref\n", step++);
|
|
Open vSwitch CI |
940672 |
dump_simple3(idl, myRow, step++);
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
+ /* create row, insert key, delete row */
|
|
Open vSwitch CI |
940672 |
+ myTxn = ovsdb_idl_txn_create(idl);
|
|
Open vSwitch CI |
940672 |
+ myRow = idltest_simple3_insert(myTxn);
|
|
Open vSwitch CI |
940672 |
+ uuid_from_string(&uuid_to_add, "12345678-dd3f-4616-ab6a-83a490bb0991");
|
|
Open vSwitch CI |
940672 |
+ idltest_simple3_update_uset_addvalue(myRow, uuid_to_add);
|
|
Open vSwitch CI |
940672 |
+ idltest_simple3_set_name(myRow, "String2");
|
|
Open vSwitch CI |
940672 |
+ idltest_simple3_delete(myRow);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_txn_commit_block(myTxn);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_txn_destroy(myTxn);
|
|
Open vSwitch CI |
940672 |
+ ovsdb_idl_get_initial_snapshot(idl);
|
|
Open vSwitch CI |
940672 |
+ printf("%03d: After Create element, update set and Delete element\n",
|
|
Open vSwitch CI |
940672 |
+ step++);
|
|
Open vSwitch CI |
940672 |
+ dump_simple3(idl, myRow, step++);
|
|
Open vSwitch CI |
940672 |
+
|
|
Open vSwitch CI |
940672 |
ovsdb_idl_destroy(idl);
|
|
Open vSwitch CI |
940672 |
printf("%03d: End test\n", step);
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
diff --git a/utilities/usdt-scripts/flow_reval_monitor.py b/utilities/usdt-scripts/flow_reval_monitor.py
|
|
Open vSwitch CI |
940672 |
index 28479a5650..80c9c98bdb 100755
|
|
Open vSwitch CI |
940672 |
--- a/utilities/usdt-scripts/flow_reval_monitor.py
|
|
Open vSwitch CI |
940672 |
+++ b/utilities/usdt-scripts/flow_reval_monitor.py
|
|
Open vSwitch CI |
940672 |
@@ -255,6 +255,7 @@ FdrReasons = IntEnum(
|
|
Open vSwitch CI |
940672 |
"FDR_TOO_EXPENSIVE",
|
|
Open vSwitch CI |
940672 |
"FDR_UPDATE_FAIL",
|
|
Open vSwitch CI |
940672 |
"FDR_XLATION_ERROR",
|
|
Open vSwitch CI |
940672 |
+ "FDR_FLOW_MISSING_DP"
|
|
Open vSwitch CI |
940672 |
],
|
|
Open vSwitch CI |
940672 |
start=0,
|
|
Open vSwitch CI |
940672 |
)
|
|
Open vSwitch CI |
940672 |
@@ -270,7 +271,8 @@ FdrReasonStrings = {
|
|
Open vSwitch CI |
940672 |
FdrReasons.FDR_PURGE: "User requested flow deletion",
|
|
Open vSwitch CI |
940672 |
FdrReasons.FDR_TOO_EXPENSIVE: "Too expensive to revalidate",
|
|
Open vSwitch CI |
940672 |
FdrReasons.FDR_UPDATE_FAIL: "Datapath update failed",
|
|
Open vSwitch CI |
940672 |
- FdrReasons.FDR_XLATION_ERROR: "Flow translation error"
|
|
Open vSwitch CI |
940672 |
+ FdrReasons.FDR_XLATION_ERROR: "Flow translation error",
|
|
Open vSwitch CI |
940672 |
+ FdrReasons.FDR_FLOW_MISSING_DP: "Flow is missing from the datapath"
|
|
Open vSwitch CI |
940672 |
}
|
|
Open vSwitch CI |
940672 |
|
|
Open vSwitch CI |
940672 |
|