Version in base suite: 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u2 Base version: openvswitch_2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u2 Target version: openvswitch_2.10.7+ds1-0+deb10u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/o/openvswitch/openvswitch_2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u2.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/o/openvswitch/openvswitch_2.10.7+ds1-0+deb10u1.dsc .ci/linux-build.sh | 125 ++ .ci/linux-prepare.sh | 18 .ci/osx-build.sh | 28 .ci/osx-prepare.sh | 7 .github/workflows/build-and-test.yml | 145 ++ .travis.yml | 56 - .travis/linux-build.sh | 125 -- .travis/linux-prepare.sh | 14 .travis/osx-build.sh | 28 .travis/osx-prepare.sh | 7 AUTHORS.rst | 2 Documentation/faq/releases.rst | 12 Documentation/faq/vlan.rst | 4 Documentation/howto/dpdk.rst | 2 Documentation/internals/contributing/submitting-patches.rst | 8 Documentation/internals/mailing-lists.rst | 2 Documentation/intro/install/dpdk.rst | 9 Documentation/intro/what-is-ovs.rst | 8 Documentation/ref/ovsdb-server.7.rst | 7 Documentation/topics/dpdk/vhost-user.rst | 12 Documentation/topics/testing.rst | 44 Documentation/topics/tracing.rst | 2 Documentation/tutorials/ovs-conntrack.rst | 12 Makefile.am | 10 NEWS | 34 README.rst | 9 Vagrantfile | 9 Vagrantfile-FreeBSD | 2 acinclude.m4 | 46 build-aux/dist-docs | 2 build-aux/generate-dhparams-c | 1 configure.ac | 5 datapath-windows/include/OvsDpInterfaceExt.h | 1 datapath-windows/ovsext/Actions.c | 31 datapath-windows/ovsext/Actions.h | 3 datapath-windows/ovsext/BufferMgmt.c | 6 datapath-windows/ovsext/Conntrack.c | 168 +++ datapath-windows/ovsext/Conntrack.h | 15 datapath-windows/ovsext/Datapath.c | 34 datapath-windows/ovsext/IpFragment.c | 4 datapath-windows/ovsext/IpFragment.h | 2 datapath-windows/ovsext/IpHelper.c | 68 - datapath-windows/ovsext/IpHelper.h | 45 datapath-windows/ovsext/Vport.c | 2 datapath/compat.h | 7 datapath/conntrack.c | 23 datapath/datapath.c | 4 datapath/flow.c | 190 +-- datapath/flow.h | 1 datapath/flow_netlink.c | 10 datapath/linux/Modules.mk | 6 datapath/linux/compat/include/linux/mm.h | 44 datapath/linux/compat/include/linux/netfilter.h | 19 datapath/linux/compat/include/linux/overflow.h | 313 +++++ datapath/linux/compat/include/linux/percpu.h | 6 datapath/linux/compat/include/linux/rculist.h | 23 datapath/linux/compat/include/linux/skbuff.h | 2 datapath/linux/compat/include/linux/static_key.h | 21 datapath/linux/compat/include/net/ipv6_frag.h | 8 datapath/linux/compat/include/net/netfilter/nf_conntrack_core.h | 30 datapath/linux/compat/include/net/nsh.h | 4 datapath/linux/compat/ip6_gre.c | 14 datapath/linux/compat/ip6_tunnel.c | 6 datapath/linux/compat/ip_gre.c | 8 datapath/linux/compat/ip_tunnel.c | 5 datapath/linux/compat/lisp.c | 1 datapath/linux/compat/nf_conntrack_proto.c | 10 datapath/linux/compat/nf_conntrack_reasm.c | 59 + datapath/linux/compat/stt.c | 2 datapath/meter.c | 5 debian/changelog | 25 debian/patches/Fix_vswitchd_abort_when_a_port_is_added_and_the_controller_is_down.patch | 24 debian/patches/blacklist-ofproto-async-msg-ctrl-of1.3-because-of-mips.patch | 8 debian/patches/disable-even-more-tests.patch | 14 debian/patches/disable-failed-tests.patch | 3 debian/patches/ovs-dev-ovs-macros-Make-tests-log-how-long-they-waited-when-they-succeed..diff | 2 debian/patches/py3-compat.patch | 102 + debian/patches/remove-tests-broken-in-mips64el-and-mipsel.patch | 10 debian/patches/remove-yet-another-mips-failing-test.patch | 8 debian/patches/removed-tests-which-are-failing-in-mips-and-armel.patch | 14 include/linux/pkt_cls.h | 2 include/openvswitch/compiler.h | 12 include/openvswitch/meta-flow.h | 2 include/openvswitch/nsh.h | 4 include/openvswitch/ofp-actions.h | 399 ++++--- include/openvswitch/ofp-group.h | 4 include/openvswitch/ofp-monitor.h | 15 include/sparse/bits/floatn.h | 3 lib/bfd.c | 21 lib/classifier.c | 46 lib/classifier.h | 6 lib/cmap.c | 2 lib/conntrack.c | 522 +++++---- lib/daemon-unix.c | 2 lib/daemon-windows.c | 10 lib/daemon.h | 3 lib/dp-packet.h | 25 lib/dpctl.c | 4 lib/dpctl.man | 2 lib/dpdk.c | 22 lib/dpif-netdev-perf.c | 15 lib/dpif-netdev-perf.h | 2 lib/dpif-netdev-unixctl.man | 3 lib/dpif-netdev.c | 103 + lib/dpif-netlink.c | 379 ++---- lib/dpif-provider.h | 14 lib/dpif.c | 24 lib/dpif.h | 15 lib/flow.c | 33 lib/flow.h | 23 lib/lldp/lldp.c | 66 + lib/lldp/lldpd.c | 2 lib/meta-flow.c | 30 lib/meta-flow.xml | 8 lib/netdev-bsd.c | 123 -- lib/netdev-dpdk.c | 545 +++++----- lib/netdev-dummy.c | 128 -- lib/netdev-linux.c | 360 ++---- lib/netdev-linux.h | 18 lib/netdev-provider.h | 2 lib/netdev-tc-offloads.c | 77 + lib/netdev-vport.c | 223 +--- lib/netdev.c | 3 lib/netdev.h | 3 lib/netlink-socket.c | 5 lib/netlink.c | 1 lib/nx-match.c | 5 lib/odp-util.c | 217 ++- lib/odp-util.h | 11 lib/ofp-actions.c | 7 lib/ofp-bundle.c | 2 lib/ofp-ed-props.c | 3 lib/ofp-group.c | 183 ++- lib/ofp-monitor.c | 7 lib/ofp-packet.c | 2 lib/ofp-port.c | 2 lib/ofpbuf.c | 4 lib/ovs-rcu.c | 17 lib/ovs-router.c | 2 lib/ovsdb-data.c | 13 lib/ovsdb-idl.c | 13 lib/ovsdb-types.h | 46 lib/packets.c | 4 lib/packets.h | 8 lib/pvector.c | 18 lib/pvector.h | 13 lib/rconn.c | 4 lib/reconnect.c | 2 lib/sha1.c | 4 lib/sha1.h | 4 lib/socket-util.c | 9 lib/socket-util.h | 2 lib/stopwatch.c | 1 lib/stream-ssl.c | 15 lib/stream.c | 2 lib/table.c | 23 lib/table.h | 1 lib/tc.c | 12 lib/tc.h | 4 lib/wmi.c | 2 ofproto/bond.c | 25 ofproto/connmgr.c | 6 ofproto/fail-open.c | 2 ofproto/ofproto-dpif-sflow.c | 9 ofproto/ofproto-dpif-trace.c | 2 ofproto/ofproto-dpif-upcall.c | 12 ofproto/ofproto-dpif-xlate.c | 250 ++-- ofproto/ofproto-dpif-xlate.h | 4 ofproto/ofproto-dpif.c | 75 - ofproto/ofproto-provider.h | 12 ofproto/ofproto.c | 34 ovn/controller/ofctrl.c | 31 ovn/controller/ofctrl.h | 5 ovn/controller/ovn-controller.c | 2 ovn/controller/physical.c | 65 + ovn/controller/pinctrl.c | 36 ovn/lib/actions.c | 29 ovn/lib/expr.c | 16 ovn/lib/extend-table.c | 29 ovn/lib/lex.c | 14 ovn/lib/logical-fields.h | 4 ovn/lib/ovn-l7.h | 6 ovn/northd/ovn-northd.8.xml | 24 ovn/northd/ovn-northd.c | 61 - ovn/ovn-nb.xml | 15 ovn/utilities/ovn-ctl | 51 ovn/utilities/ovn-ctl.8.xml | 14 ovn/utilities/ovn-nbctl.c | 23 ovn/utilities/ovndb-servers.ocf | 72 + ovsdb/condition.c | 34 ovsdb/execution.c | 4 ovsdb/file.c | 4 ovsdb/monitor.c | 82 - ovsdb/mutation.c | 2 ovsdb/ovsdb-client.c | 6 ovsdb/ovsdb-idlc.in | 2 ovsdb/ovsdb-server.c | 5 ovsdb/ovsdb-tool.c | 1 ovsdb/raft-private.c | 2 ovsdb/raft-rpc.c | 5 ovsdb/raft-rpc.h | 7 ovsdb/raft.c | 125 +- ovsdb/replication.c | 25 python/ovs/_json.c | 1 python/ovs/db/idl.py | 2 python/ovs/json.py | 10 python/ovs/jsonrpc.py | 9 python/ovs/socket_util.py | 2 python/ovs/stream.py | 21 python/ovs/vlog.py | 27 python/setup.py | 2 rhel/etc_init.d_openvswitch | 1 rhel/openvswitch-fedora.spec.in | 28 rhel/openvswitch-kmod-fedora.spec.in | 9 rhel/usr_lib_systemd_system_ovn-controller.service | 1 rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 1 rhel/usr_lib_systemd_system_ovsdb-server.service | 1 selinux/openvswitch-custom.te.in | 7 tests/.gitignore | 1 tests/atlocal.in | 3 tests/automake.mk | 7 tests/bridge.at | 24 tests/classifier.at | 36 tests/dpif-netdev.at | 12 tests/library.at | 3 tests/nsh.at | 14 tests/odp.at | 37 tests/ofp-actions.at | 11 tests/ofproto-dpif.at | 136 ++ tests/ofproto.at | 30 tests/ovn-nbctl.at | 22 tests/ovn.at | 197 +++ tests/ovs-ofctl.at | 3 tests/ovsdb-cluster.at | 2 tests/ovsdb-condition.at | 280 +++++ tests/ovsdb-idl.at | 17 tests/ovsdb-monitor.at | 68 + tests/packet-type-aware.at | 8 tests/system-kmod-macros.at | 7 tests/system-route.at | 28 tests/system-traffic.at | 338 +++++- tests/system-userspace-macros.at | 9 tests/system-userspace-packet-type-aware.at | 67 - tests/system-userspace-testsuite.at | 1 tests/test-classifier.c | 5 tests/test-ovn.c | 1 tests/test-sha1.c | 37 tests/test-stream.c | 46 tests/tunnel.at | 91 + utilities/ovs-ctl.in | 16 utilities/ovs-dpctl-top.in | 2 utilities/ovs-lib.in | 14 utilities/ovs-ofctl.c | 6 utilities/ovs-save | 29 vswitchd/bridge.c | 3 255 files changed, 6160 insertions(+), 2983 deletions(-) diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/linux-build.sh openvswitch-2.10.7+ds1/.ci/linux-build.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/linux-build.sh 1970-01-01 00:00:00.000000000 +0000 +++ openvswitch-2.10.7+ds1/.ci/linux-build.sh 2021-02-12 14:48:11.000000000 +0000 @@ -0,0 +1,125 @@ +#!/bin/bash + +set -o errexit + +KERNELSRC="" +CFLAGS="-Werror" +SPARSE_FLAGS="" +EXTRA_OPTS="" + +function install_kernel() +{ + if [[ "$1" =~ ^4.* ]]; then + PREFIX="v4.x" + elif [[ "$1" =~ ^3.* ]]; then + PREFIX="v3.x" + else + PREFIX="v2.6/longterm/v2.6.32" + fi + + wget https://www.kernel.org/pub/linux/kernel/${PREFIX}/linux-${1}.tar.gz + tar xzvf linux-${1}.tar.gz > /dev/null + cd linux-${1} + make allmodconfig + + # Cannot use CONFIG_KCOV: -fsanitize-coverage=trace-pc is not supported by compiler + sed -i 's/CONFIG_KCOV=y/CONFIG_KCOV=n/' .config + + # stack validation depends on tools/objtool, but objtool does not compile on travis. + # It is giving following error. + # >>> GEN arch/x86/insn/inat-tables.c + # >>> Semantic error at 40: Unknown imm opnd: AL + # So for now disable stack-validation for the build. + + sed -i 's/CONFIG_STACK_VALIDATION=y/CONFIG_STACK_VALIDATION=n/' .config + make oldconfig + + # Older kernels do not include openvswitch + if [ -d "net/openvswitch" ]; then + make net/openvswitch/ + else + make net/bridge/ + fi + + KERNELSRC=$(pwd) + if [ ! "$DPDK" ]; then + EXTRA_OPTS="--with-linux=$(pwd)" + fi + echo "Installed kernel source in $(pwd)" + cd .. +} + +function install_dpdk() +{ + if [ -n "$DPDK_GIT" ]; then + git clone $DPDK_GIT dpdk-$1 + cd dpdk-$1 + git checkout tags/v$1 + else + wget http://fast.dpdk.org/rel/dpdk-$1.tar.gz + tar xzvf dpdk-$1.tar.gz > /dev/null + DIR_NAME=$(tar -tf dpdk-$1.tar.gz | head -1 | cut -f1 -d"/") + if [ $DIR_NAME != "dpdk-$1" ]; then mv $DIR_NAME dpdk-$1; fi + cd dpdk-$1 + fi + find ./ -type f | xargs sed -i 's/max-inline-insns-single=100/max-inline-insns-single=400/' + find ./ -type f | xargs sed -i 's/-Werror/-Werror -Wno-error=inline/' + echo 'CONFIG_RTE_BUILD_FPIC=y' >>config/common_linuxapp + sed -ri '/EXECENV_CFLAGS = -pthread -fPIC/{s/$/\nelse ifeq ($(CONFIG_RTE_BUILD_FPIC),y)/;s/$/\nEXECENV_CFLAGS = -pthread -fPIC/}' mk/exec-env/linuxapp/rte.vars.mk + make config CC=gcc T=x86_64-native-linuxapp-gcc + make CC=gcc RTE_KERNELDIR=$KERNELSRC + echo "Installed DPDK source in $(pwd)" + cd .. +} + +function configure_ovs() +{ + ./boot.sh && ./configure $* +} + +if [ "$KERNEL" ] || [ "$DPDK" ]; then + install_kernel $KERNEL +fi + +if [ "$DPDK" ]; then + if [ -z "$DPDK_VER" ]; then + DPDK_VER="17.11.10" + fi + install_dpdk $DPDK_VER + if [ "$CC" = "clang" ]; then + # Disregard cast alignment errors until DPDK is fixed + CFLAGS="$CFLAGS -Wno-cast-align" + fi + EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=./dpdk-$DPDK_VER/build" +elif [ "$CC" != "clang" ]; then + # DPDK headers currently trigger sparse errors + SPARSE_FLAGS="$SPARSE_FLAGS -Wsparse-error" +fi + +configure_ovs $EXTRA_OPTS $* + +make selinux-policy + +# Only build datapath if we are testing kernel w/o running testsuite +if [ "$KERNEL" ] && [ ! "$TESTSUITE" ] && [ ! "$DPDK" ]; then + cd datapath +fi + +if [ "$CC" = "clang" ]; then + make -j2 CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument" +elif [[ $BUILD_ENV =~ "-m32" ]]; then + # Disable sparse for 32bit builds on 64bit machine + make -j2 CFLAGS="$CFLAGS $BUILD_ENV" +else + make -j2 CFLAGS="$CFLAGS $BUILD_ENV $SPARSE_FLAGS" C=1 +fi + +if [ "$TESTSUITE" ] && [ "$CC" != "clang" ]; then + if ! make distcheck TESTSUITEFLAGS=-j4 RECHECK=yes; then + # testsuite.log is necessary for debugging. + cat */_build/tests/testsuite.log + exit 1 + fi +fi + +exit 0 diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/linux-prepare.sh openvswitch-2.10.7+ds1/.ci/linux-prepare.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/linux-prepare.sh 1970-01-01 00:00:00.000000000 +0000 +++ openvswitch-2.10.7+ds1/.ci/linux-prepare.sh 2021-02-12 14:48:11.000000000 +0000 @@ -0,0 +1,18 @@ +#!/bin/bash + +set -ev + +# Logging to syslog could be way too slow on Travis. +# Stopping the rsyslog daemon to allow tests to fit the time limit. +sudo service rsyslog stop + +# Build and install sparse. +# +# Explicitly disable sparse support for llvm because some travis +# environments claim to have LLVM (llvm-config exists and works) but +# linking against it fails. +git clone git://git.kernel.org/pub/scm/devel/sparse/chrisl/sparse.git +cd sparse && make HAVE_LLVM= install && cd .. + +pip install --disable-pip-version-check --user six flake8 hacking +pip install --user --upgrade docutils diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/osx-build.sh openvswitch-2.10.7+ds1/.ci/osx-build.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/osx-build.sh 1970-01-01 00:00:00.000000000 +0000 +++ openvswitch-2.10.7+ds1/.ci/osx-build.sh 2021-02-12 14:48:11.000000000 +0000 @@ -0,0 +1,28 @@ +#!/bin/bash + +set -o errexit + +CFLAGS="-Werror $CFLAGS" +EXTRA_OPTS="" + +function configure_ovs() +{ + ./boot.sh && ./configure $* +} + +configure_ovs $EXTRA_OPTS $* + +if [ "$CC" = "clang" ]; then + make CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument" +else + make CFLAGS="$CFLAGS $BUILD_ENV" +fi +if [ "$TESTSUITE" ] && [ "$CC" != "clang" ]; then + if ! make distcheck RECHECK=yes; then + # testsuite.log is necessary for debugging. + cat */_build/tests/testsuite.log + exit 1 + fi +fi + +exit 0 diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/osx-prepare.sh openvswitch-2.10.7+ds1/.ci/osx-prepare.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.ci/osx-prepare.sh 1970-01-01 00:00:00.000000000 +0000 +++ openvswitch-2.10.7+ds1/.ci/osx-prepare.sh 2021-02-12 14:48:11.000000000 +0000 @@ -0,0 +1,7 @@ +#!/bin/bash +set -ev +pip2 install --user six +pip2 install --user --upgrade docutils + +brew update || true +brew uninstall libtool && brew install libtool || true diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.github/workflows/build-and-test.yml openvswitch-2.10.7+ds1/.github/workflows/build-and-test.yml --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.github/workflows/build-and-test.yml 1970-01-01 00:00:00.000000000 +0000 +++ openvswitch-2.10.7+ds1/.github/workflows/build-and-test.yml 2021-02-12 14:48:11.000000000 +0000 @@ -0,0 +1,145 @@ +name: Build and Test + +on: [push, pull_request] + +jobs: + build-linux: + env: + dependencies: | + automake libtool gcc bc libjemalloc1 libjemalloc-dev \ + libssl-dev llvm-dev libelf-dev libnuma-dev \ + python-sphinx selinux-policy-dev gcc-multilib + CC: ${{ matrix.compiler }} + DPDK: ${{ matrix.dpdk }} + DPDK_SHARED: ${{ matrix.dpdk_shared }} + KERNEL: ${{ matrix.kernel }} + LIBS: ${{ matrix.libs }} + BUILD_ENV: ${{ matrix.build_env }} + OPTS: ${{ matrix.opts }} + TESTSUITE: ${{ matrix.testsuite }} + + name: linux ${{ join(matrix.*, ' ') }} + runs-on: ubuntu-16.04 + timeout-minutes: 30 + + strategy: + fail-fast: false + matrix: + compiler: [gcc, clang] + kernel: ['4.15.18', '4.14.111', '4.9.149', '4.4.148', '3.16.57'] + opts: [''] + testsuite: [''] + dpdk: [''] + dpdk_shared: [''] + build_env: [''] + include: + - compiler: gcc + opts: --disable-ssl + - compiler: clang + opts: --disable-ssl + + - compiler: gcc + testsuite: test + kernel: 3.16.54 + - compiler: clang + testsuite: test + kernel: 3.16.54 + + - compiler: gcc + testsuite: test + opts: --enable-shared + - compiler: clang + testsuite: test + opts: --enable-shared + + - compiler: gcc + testsuite: test + libs: -ljemalloc + - compiler: clang + testsuite: test + libs: -ljemalloc + + - compiler: gcc + dpdk: dpdk + kernel: 3.16.54 + - compiler: clang + dpdk: dpdk + kernel: 3.16.54 + + - compiler: gcc + dpdk: dpdk + kernel: 3.16.54 + opts: --enable-shared + - compiler: clang + dpdk: dpdk + kernel: 3.16.54 + opts: --enable-shared + + - compiler: gcc + build_env: -m32 + opts: --disable-ssl + + steps: + - name: checkout + uses: actions/checkout@v2 + + - name: update APT cache + run: sudo apt update || true + - name: install common dependencies + run: sudo apt install -y ${{ env.dependencies }} + - name: install libunbound + if: matrix.build_env == '' + run: sudo apt install -y libunbound-dev + + - name: prepare + run: ./.ci/linux-prepare.sh + + - name: build + run: PATH="$PATH:$HOME/bin" ./.ci/linux-build.sh ${{ env.OPTS }} + + - name: copy logs on failure + if: failure() || cancelled() + run: | + # upload-artifact@v2 throws exceptions if it tries to upload socket + # files and we could have some socket files in testsuite.dir. + # Also, upload-artifact@v2 doesn't work well enough with wildcards. + # So, we're just archiving everything here to avoid any issues. + mkdir logs + cp config.log ./logs/ + cp -r ./*/_build/sub/tests/testsuite.* ./logs/ || true + tar -czvf logs.tgz logs/ + + - name: upload logs on failure + if: failure() || cancelled() + uses: actions/upload-artifact@v2 + with: + name: logs-linux-${{ join(matrix.*, '-') }} + path: logs.tgz + + build-osx: + env: + CC: clang + OPTS: --disable-ssl + + name: osx clang --disable-ssl + runs-on: macos-latest + timeout-minutes: 30 + + strategy: + fail-fast: false + + steps: + - name: checkout + uses: actions/checkout@v2 + - name: install dependencies + run: brew install automake libtool + - name: prepare + run: ./.ci/osx-prepare.sh + - name: build + run: PATH="$PATH:$HOME/bin" ./.ci/osx-build.sh + - name: upload logs on failure + if: failure() + uses: actions/upload-artifact@v2 + with: + name: logs-osx-clang---disable-ssl + path: config.log diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/linux-build.sh openvswitch-2.10.7+ds1/.travis/linux-build.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/linux-build.sh 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/.travis/linux-build.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,125 +0,0 @@ -#!/bin/bash - -set -o errexit - -KERNELSRC="" -CFLAGS="-Werror" -SPARSE_FLAGS="" -EXTRA_OPTS="" - -function install_kernel() -{ - if [[ "$1" =~ ^4.* ]]; then - PREFIX="v4.x" - elif [[ "$1" =~ ^3.* ]]; then - PREFIX="v3.x" - else - PREFIX="v2.6/longterm/v2.6.32" - fi - - wget https://www.kernel.org/pub/linux/kernel/${PREFIX}/linux-${1}.tar.gz - tar xzvf linux-${1}.tar.gz > /dev/null - cd linux-${1} - make allmodconfig - - # Cannot use CONFIG_KCOV: -fsanitize-coverage=trace-pc is not supported by compiler - sed -i 's/CONFIG_KCOV=y/CONFIG_KCOV=n/' .config - - # stack validation depends on tools/objtool, but objtool does not compile on travis. - # It is giving following error. - # >>> GEN arch/x86/insn/inat-tables.c - # >>> Semantic error at 40: Unknown imm opnd: AL - # So for now disable stack-validation for the build. - - sed -i 's/CONFIG_STACK_VALIDATION=y/CONFIG_STACK_VALIDATION=n/' .config - make oldconfig - - # Older kernels do not include openvswitch - if [ -d "net/openvswitch" ]; then - make net/openvswitch/ - else - make net/bridge/ - fi - - KERNELSRC=$(pwd) - if [ ! "$DPDK" ]; then - EXTRA_OPTS="--with-linux=$(pwd)" - fi - echo "Installed kernel source in $(pwd)" - cd .. -} - -function install_dpdk() -{ - if [ -n "$DPDK_GIT" ]; then - git clone $DPDK_GIT dpdk-$1 - cd dpdk-$1 - git checkout tags/v$1 - else - wget http://fast.dpdk.org/rel/dpdk-$1.tar.gz - tar xzvf dpdk-$1.tar.gz > /dev/null - DIR_NAME=$(tar -tf dpdk-$1.tar.gz | head -1 | cut -f1 -d"/") - if [ $DIR_NAME != "dpdk-$1" ]; then mv $DIR_NAME dpdk-$1; fi - cd dpdk-$1 - fi - find ./ -type f | xargs sed -i 's/max-inline-insns-single=100/max-inline-insns-single=400/' - find ./ -type f | xargs sed -i 's/-Werror/-Werror -Wno-error=inline/' - echo 'CONFIG_RTE_BUILD_FPIC=y' >>config/common_linuxapp - sed -ri '/EXECENV_CFLAGS = -pthread -fPIC/{s/$/\nelse ifeq ($(CONFIG_RTE_BUILD_FPIC),y)/;s/$/\nEXECENV_CFLAGS = -pthread -fPIC/}' mk/exec-env/linuxapp/rte.vars.mk - make config CC=gcc T=x86_64-native-linuxapp-gcc - make CC=gcc RTE_KERNELDIR=$KERNELSRC - echo "Installed DPDK source in $(pwd)" - cd .. -} - -function configure_ovs() -{ - ./boot.sh && ./configure $* -} - -if [ "$KERNEL" ] || [ "$DPDK" ]; then - install_kernel $KERNEL -fi - -if [ "$DPDK" ]; then - if [ -z "$DPDK_VER" ]; then - DPDK_VER="17.11.3" - fi - install_dpdk $DPDK_VER - if [ "$CC" = "clang" ]; then - # Disregard cast alignment errors until DPDK is fixed - CFLAGS="$CFLAGS -Wno-cast-align" - fi - EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=./dpdk-$DPDK_VER/build" -elif [ "$CC" != "clang" ]; then - # DPDK headers currently trigger sparse errors - SPARSE_FLAGS="$SPARSE_FLAGS -Wsparse-error" -fi - -configure_ovs $EXTRA_OPTS $* - -make selinux-policy - -# Only build datapath if we are testing kernel w/o running testsuite -if [ "$KERNEL" ] && [ ! "$TESTSUITE" ] && [ ! "$DPDK" ]; then - cd datapath -fi - -if [ "$CC" = "clang" ]; then - make -j2 CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument" -elif [[ $BUILD_ENV =~ "-m32" ]]; then - # Disable sparse for 32bit builds on 64bit machine - make -j2 CFLAGS="$CFLAGS $BUILD_ENV" -else - make -j2 CFLAGS="$CFLAGS $BUILD_ENV $SPARSE_FLAGS" C=1 -fi - -if [ "$TESTSUITE" ] && [ "$CC" != "clang" ]; then - if ! make distcheck TESTSUITEFLAGS=-j4 RECHECK=yes; then - # testsuite.log is necessary for debugging. - cat */_build/tests/testsuite.log - exit 1 - fi -fi - -exit 0 diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/linux-prepare.sh openvswitch-2.10.7+ds1/.travis/linux-prepare.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/linux-prepare.sh 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/.travis/linux-prepare.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -#!/bin/bash - -set -ev - -# Build and install sparse. -# -# Explicitly disable sparse support for llvm because some travis -# environments claim to have LLVM (llvm-config exists and works) but -# linking against it fails. -git clone git://git.kernel.org/pub/scm/devel/sparse/chrisl/sparse.git -cd sparse && make HAVE_LLVM= install && cd .. - -pip install --disable-pip-version-check --user six flake8 hacking -pip install --user --upgrade docutils diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/osx-build.sh openvswitch-2.10.7+ds1/.travis/osx-build.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/osx-build.sh 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/.travis/osx-build.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -#!/bin/bash - -set -o errexit - -CFLAGS="-Werror $CFLAGS" -EXTRA_OPTS="" - -function configure_ovs() -{ - ./boot.sh && ./configure $* -} - -configure_ovs $EXTRA_OPTS $* - -if [ "$CC" = "clang" ]; then - make CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument" -else - make CFLAGS="$CFLAGS $BUILD_ENV" -fi -if [ "$TESTSUITE" ] && [ "$CC" != "clang" ]; then - if ! make distcheck RECHECK=yes; then - # testsuite.log is necessary for debugging. - cat */_build/tests/testsuite.log - exit 1 - fi -fi - -exit 0 diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/osx-prepare.sh openvswitch-2.10.7+ds1/.travis/osx-prepare.sh --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis/osx-prepare.sh 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/.travis/osx-prepare.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/bin/bash -set -ev -pip2 install --user six -pip2 install --user --upgrade docutils - -brew update || true -brew uninstall libtool && brew install libtool || true diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis.yml openvswitch-2.10.7+ds1/.travis.yml --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/.travis.yml 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/.travis.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ -language: c -compiler: - - gcc - - clang - -os: - - linux - -addons: - apt: - packages: - - bc - - gcc-multilib - - libssl-dev - - llvm-dev - - libjemalloc1 - - libjemalloc-dev - - libnuma-dev - - python-sphinx - - libelf-dev - - selinux-policy-dev - - libunbound-dev - - libunbound-dev:i386 - -before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh - -before_script: export PATH=$PATH:$HOME/bin - -sudo: false - -env: - - OPTS="--disable-ssl" - - TESTSUITE=1 KERNEL=3.16.54 - - TESTSUITE=1 OPTS="--enable-shared" - - BUILD_ENV="-m32" OPTS="--disable-ssl" - - KERNEL=3.16.54 DPDK=1 - - KERNEL=3.16.54 DPDK=1 OPTS="--enable-shared" - - KERNEL=4.15.18 - - KERNEL=4.14.63 - - KERNEL=4.9.120 - - KERNEL=4.4.148 - - KERNEL=3.16.57 - - TESTSUITE=1 LIBS=-ljemalloc - -matrix: - include: - - os: osx - compiler: clang - env: OPTS="--disable-ssl" - -script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS - -notifications: - email: - recipients: - - ovs-build@openvswitch.org diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/AUTHORS.rst openvswitch-2.10.7+ds1/AUTHORS.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/AUTHORS.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/AUTHORS.rst 2021-02-12 14:48:11.000000000 +0000 @@ -509,6 +509,7 @@ Krishna Mohan Elluru elluru.kri.mohan@hpe.com László Sürü laszlo.suru@ericsson.com Len Gao leng@vmware.com +Linhaifeng haifeng.lin@huawei.com Logan Rosen logatronico@gmail.com Luca Falavigna dktrkranz@debian.org Luiz Henrique Ozaki luiz.ozaki@gmail.com @@ -604,6 +605,7 @@ Yongqiang Liu liuyq7809@gmail.com ZHANG Zhiming zhangzhiming@yunshan.net.cn Zhangguanghui zhang.guanghui@h3c.com +Zheng Jingzhou glovejmm@163.com Ziyou Wang ziyouw@vmware.com ankur dwivedi ankurengg2003@gmail.com chen zhang 3zhangchen9211@gmail.com diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/faq/releases.rst openvswitch-2.10.7+ds1/Documentation/faq/releases.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/faq/releases.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/faq/releases.rst 2021-02-12 14:48:11.000000000 +0000 @@ -157,19 +157,19 @@ A: The following table lists the DPDK version against which the given versions of Open vSwitch will successfully build. - ============ ======= + ============ ======== Open vSwitch DPDK - ============ ======= + ============ ======== 2.2.x 1.6 2.3.x 1.6 2.4.x 2.0 2.5.x 2.2 2.6.x 16.07.2 - 2.7.x 16.11.7 + 2.7.x 16.11.8 2.8.x 17.05.2 - 2.9.x 17.11.3 - 2.10.x 17.11.3 - ============ ======= + 2.9.x 17.11.10 + 2.10.x 17.11.10 + ============ ======== Q: Are all the DPDK releases that OVS versions work with maintained? diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/faq/vlan.rst openvswitch-2.10.7+ds1/Documentation/faq/vlan.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/faq/vlan.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/faq/vlan.rst 2021-02-12 14:48:11.000000000 +0000 @@ -191,7 +191,7 @@ $ ovs-vsctl add-port br0 vlan9 tag=9 \ -- set interface vlan9 type=internal $ ip addr add 192.168.0.7/24 dev vlan9 - $ ip link set vlan0 up + $ ip link set vlan9 up See also the following question. @@ -203,7 +203,7 @@ $ ip link set br0 up $ ovs-vsctl add-port br0 vlan9 tag=9 -- set interface vlan9 type=internal $ ip addr add 192.168.0.9/24 dev vlan9 - $ ip link set vlan0 up + $ ip link set vlan9 up but other hosts that are only on VLAN 0 can reach the IP address configured on VLAN 9. What's going on? diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/howto/dpdk.rst openvswitch-2.10.7+ds1/Documentation/howto/dpdk.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/howto/dpdk.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/howto/dpdk.rst 2021-02-12 14:48:11.000000000 +0000 @@ -284,7 +284,7 @@ We must configure with appropriate software versions to ensure this feature is supported. - .. list-table:: Recommended BIOS Settings + .. list-table:: VM Configuration :header-rows: 1 * - Setting diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/internals/contributing/submitting-patches.rst openvswitch-2.10.7+ds1/Documentation/internals/contributing/submitting-patches.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/internals/contributing/submitting-patches.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/internals/contributing/submitting-patches.rst 2021-02-12 14:48:11.000000000 +0000 @@ -68,11 +68,9 @@ feature. A bug fix patch should preferably add a test that would fail if the bug recurs. -If you are using GitHub, then you may utilize the travis-ci.org CI build system -by linking your GitHub repository to it. This will run some of the above tests -automatically when you push changes to your repository. See the "Continuous -Integration with Travis-CI" in :doc:`/topics/testing` for details on how to set -it up. +If you are using GitHub, then you may utilize the GitHub Actions CI build +system. It will run some of the above tests automatically when you push +changes to your repository. Email Subject ------------- diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/internals/mailing-lists.rst openvswitch-2.10.7+ds1/Documentation/internals/mailing-lists.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/internals/mailing-lists.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/internals/mailing-lists.rst 2021-02-12 14:48:11.000000000 +0000 @@ -93,4 +93,4 @@ The `security`__ mailing list is for submitting security vulnerabilities to the security team. -__ security@ovs.org +__ security@openvswitch.org diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/intro/install/dpdk.rst openvswitch-2.10.7+ds1/Documentation/intro/install/dpdk.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/intro/install/dpdk.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/intro/install/dpdk.rst 2021-02-12 14:48:11.000000000 +0000 @@ -42,7 +42,7 @@ In addition to the requirements described in :doc:`general`, building Open vSwitch with DPDK will require the following: -- DPDK 17.11.3 +- DPDK 17.11.10 - A `DPDK supported NIC`_ @@ -71,9 +71,9 @@ #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``:: $ cd /usr/src/ - $ wget http://fast.dpdk.org/rel/dpdk-17.11.3.tar.xz - $ tar xf dpdk-17.11.3.tar.xz - $ export DPDK_DIR=/usr/src/dpdk-stable-17.11.3 + $ wget http://fast.dpdk.org/rel/dpdk-17.11.10.tar.xz + $ tar xf dpdk-17.11.10.tar.xz + $ export DPDK_DIR=/usr/src/dpdk-stable-17.11.10 $ cd $DPDK_DIR #. (Optional) Configure DPDK as a shared library @@ -661,7 +661,6 @@ Limitations ------------ -- Currently DPDK ports does not use HW offload functionality. - Network Interface Firmware requirements: Each release of DPDK is validated against a specific firmware version for a supported Network Interface. New firmware versions introduce bug fixes, performance diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/intro/what-is-ovs.rst openvswitch-2.10.7+ds1/Documentation/intro/what-is-ovs.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/intro/what-is-ovs.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/intro/what-is-ovs.rst 2021-02-12 14:48:11.000000000 +0000 @@ -33,9 +33,9 @@ Overview -------- -.. NOTE(stephenfin): The below line numbers may need to be updated if the - README is modified +.. NOTE(stephenfin): The below start-after/end-before may need to be updated + if the README is modified. .. include:: ../../README.rst - :start-line: 13 - :end-line: 71 + :start-after: What is Open vSwitch? + :end-before: What other documentation is available? diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/ref/ovsdb-server.7.rst openvswitch-2.10.7+ds1/Documentation/ref/ovsdb-server.7.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/ref/ovsdb-server.7.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/ref/ovsdb-server.7.rst 2021-02-12 14:48:11.000000000 +0000 @@ -455,9 +455,10 @@ For , RFC 7047 only allows the use of ``!=``, ``==``, ``includes``, and ``excludes`` operators with set types. Open vSwitch 2.4 and later extend to allow the use of ``<``, ``<=``, ``>=``, and ``>`` operators with -columns with type "set of 0 or 1 integer" and "set of 0 or 1 real". These -conditions evaluate to false when the column is empty, and otherwise as -described in RFC 7047 for integer and real types. +a column with type "set of 0 or 1 integer" and an integer argument, and with +"set of 0 or 1 real" and a real argument. These conditions evaluate to false +when the column is empty, and otherwise as described in RFC 7047 for integer +and real types. is specified in Section 5.1 in the RFC with the following change: A condition can be either a 3-element JSON array as described in the RFC or a diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/topics/dpdk/vhost-user.rst openvswitch-2.10.7+ds1/Documentation/topics/dpdk/vhost-user.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/topics/dpdk/vhost-user.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/topics/dpdk/vhost-user.rst 2021-02-12 14:48:11.000000000 +0000 @@ -320,9 +320,9 @@ DPDK sources to VM and build DPDK:: $ cd /root/dpdk/ - $ wget http://fast.dpdk.org/rel/dpdk-17.11.3.tar.xz - $ tar xf dpdk-17.11.3.tar.xz - $ export DPDK_DIR=/root/dpdk/dpdk-stable-17.11.3 + $ wget http://fast.dpdk.org/rel/dpdk-17.11.10.tar.xz + $ tar xf dpdk-17.11.10.tar.xz + $ export DPDK_DIR=/root/dpdk/dpdk-stable-17.11.10 $ export DPDK_TARGET=x86_64-native-linuxapp-gcc $ export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET $ cd $DPDK_DIR @@ -500,12 +500,6 @@ Because of this limitation, this feature is considered 'experimental'. -The feature currently does not fully work with QEMU >= v2.7 due to a bug in -DPDK which will be addressed in an upcoming release. The patch to fix this -issue can be found on -`Patchwork -`__ - Further information can be found in the `DPDK documentation `__ diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/topics/testing.rst openvswitch-2.10.7+ds1/Documentation/topics/testing.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/topics/testing.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/topics/testing.rst 2021-02-12 14:48:11.000000000 +0000 @@ -364,45 +364,17 @@ from ``clang-analyze`` will list the command (containing results directory) that you should invoke to view the results on a browser. -Continuous Integration with Travis CI -------------------------------------- +Continuous Integration with GitHub Actions +------------------------------------------ -A .travis.yml file is provided to automatically build Open vSwitch with various -build configurations and run the testsuite using Travis CI. Builds will be -performed with gcc, sparse and clang with the -Werror compiler flag included, -therefore the build will fail if a new warning has been introduced. +A ``.github/workflows/*.yml`` files provided to automatically build +Open vSwitch with various build configurations and run the testsuite using +GitHub Actions. Builds will be performed with gcc, sparse and clang with the +-Werror compiler flag included, therefore the build will fail if a new warning +has been introduced. The CI build is triggered via git push (regardless of the specific branch) or -pull request against any Open vSwitch GitHub repository that is linked to -travis-ci. - -Instructions to setup travis-ci for your GitHub repository: - -1. Go to https://travis-ci.org/ and sign in using your GitHub ID. -2. Go to the "Repositories" tab and enable the ovs repository. You may disable - builds for pushes or pull requests. -3. In order to avoid forks sending build failures to the upstream mailing list, - the notification email recipient is encrypted. If you want to receive email - notification for build failures, replace the the encrypted string: - - 1. Install the travis-ci CLI (Requires ruby >=2.0): gem install travis - 2. In your Open vSwitch repository: travis encrypt mylist@mydomain.org - 3. Add/replace the notifications section in .travis.yml and fill in the - secure string as returned by travis encrypt:: - - notifications: - email: - recipients: - - secure: "....." - - .. note:: - You may remove/omit the notifications section to fall back to default - notification behaviour which is to send an email directly to the author and - committer of the failing commit. Note that the email is only sent if the - author/committer have commit rights for the particular GitHub repository. - -4. Pushing a commit to the repository which breaks the build or the - testsuite will now trigger a email sent to mylist@mydomain.org +pull request against any Open vSwitch GitHub repository. vsperf ------ diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/topics/tracing.rst openvswitch-2.10.7+ds1/Documentation/topics/tracing.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/topics/tracing.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/topics/tracing.rst 2021-02-12 14:48:11.000000000 +0000 @@ -39,7 +39,7 @@ -------------- In order to understand the tool, let's use the following flows as an -example: +example:: table=3,ip,tcp,tcp_dst=80,action=output:2 table=2,ip,tcp,tcp_dst=22,action=output:1 diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/tutorials/ovs-conntrack.rst openvswitch-2.10.7+ds1/Documentation/tutorials/ovs-conntrack.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Documentation/tutorials/ovs-conntrack.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Documentation/tutorials/ovs-conntrack.rst 2021-02-12 14:48:11.000000000 +0000 @@ -325,7 +325,7 @@ (flow #2) $ ovs-ofctl add-flow br0 \ - "table=0, priority=50, ct_state=+trk,+new, tcp, in_port=veth_l0, actions=ct(commit),veth_r0" + "table=0, priority=50, ct_state=+trk+new, tcp, in_port=veth_l0, actions=ct(commit),veth_r0" Now that the packet is coming back from conntrack, the ct_state would have the "trk" set. @@ -364,7 +364,7 @@ "table=0, priority=50, ct_state=-trk, tcp, in_port=veth_r0, actions=ct(table=0)" (flow #4) $ ovs-ofctl add-flow br0 \ - "table=0, priority=50, ct_state=+trk,+est, tcp, in_port=veth_r0, actions=veth_l0" + "table=0, priority=50, ct_state=+trk+est, tcp, in_port=veth_r0, actions=veth_l0" flow #3 matches untracked packets coming back from server (10.0.0.2) and sends @@ -400,7 +400,7 @@ (flow #5) $ ovs-ofctl add-flow br0 \ - "table=0, priority=50, ct_state=+trk,+est, tcp, in_port=veth_l0, actions=veth_r0" + "table=0, priority=50, ct_state=+trk+est, tcp, in_port=veth_l0, actions=veth_r0" Send the third TCP ack segment using scapy (at the "left" scapy session) (flags=0x10 is ack):: @@ -557,7 +557,7 @@ (flow #2) $ ovs-ofctl add-flow br0 \ - "table=0, priority=50, ct_state=+trk,+new, tcp, in_port=veth_l0, actions=ct(commit),veth_r0" + "table=0, priority=50, ct_state=+trk+new, tcp, in_port=veth_l0, actions=ct(commit),veth_r0" (flow #3) $ ovs-ofctl add-flow br0 \ @@ -565,8 +565,8 @@ (flow #4) $ ovs-ofctl add-flow br0 \ - "table=0, priority=50, ct_state=+trk,+est, tcp, in_port=veth_r0, actions=veth_l0" + "table=0, priority=50, ct_state=+trk+est, tcp, in_port=veth_r0, actions=veth_l0" (flow #5) $ ovs-ofctl add-flow br0 \ - "table=0, priority=50, ct_state=+trk,+est, tcp, in_port=veth_l0, actions=veth_r0" + "table=0, priority=50, ct_state=+trk+est, tcp, in_port=veth_l0, actions=veth_r0" diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Makefile.am openvswitch-2.10.7+ds1/Makefile.am --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Makefile.am 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Makefile.am 2021-02-12 14:48:11.000000000 +0000 @@ -76,11 +76,11 @@ MAINTAINERS.rst \ README.rst \ NOTICE \ - .travis.yml \ - .travis/linux-build.sh \ - .travis/linux-prepare.sh \ - .travis/osx-build.sh \ - .travis/osx-prepare.sh \ + .ci/linux-build.sh \ + .ci/linux-prepare.sh \ + .ci/osx-build.sh \ + .ci/osx-prepare.sh \ + .github/workflows/build-and-test.yml \ appveyor.yml \ boot.sh \ poc/builders/Vagrantfile \ diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/NEWS openvswitch-2.10.7+ds1/NEWS --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/NEWS 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/NEWS 2021-02-12 14:48:11.000000000 +0000 @@ -1,6 +1,38 @@ -v2.10.1 - xx xxx xxxx +v2.10.7 - 10 Feb 2021 --------------------- + - Bug fixes + - Security: + * Fixed packet parsing vulnerability CVE-2020-35498. +v2.10.6 - 13 Jan 2021 +--------------------- + - Bug fixes + - LLDP: + * Security fixes for CVE-2015-8011 and CVE-2020-27827. + - OVSDB: + * Fixed SHA-1 hash computation for databases larger than 512 MB. + +v2.10.5 - 30 Jul 2020 +--------------------- + - Bug fixes + - DPDK + * OVS validated with DPDK 17.11.10 which is recommended to be used. + +v2.10.4 - 06 Sep 2019 +--------------------- + - Fix compilation issue with Ubuntu kernel 4.15.60. + +v2.10.3 - 03 Sep 2019 +--------------------- + - Bug fixes + +v2.10.2 - 30 Mar 2019 +--------------------- + - Bug fixes + +v2.10.1 - 19 Oct 2018 +--------------------- + - Bug fixes v2.10.0 - 18 Aug 2018 --------------------- diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/README.rst openvswitch-2.10.7+ds1/README.rst --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/README.rst 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/README.rst 2021-02-12 14:48:11.000000000 +0000 @@ -1,12 +1,13 @@ -.. NOTE(stephenfin): If making changes to this file, ensure that the line - numbers found in 'Documentation/intro/what-is-ovs' are kept up-to-date. +.. NOTE(stephenfin): If making changes to this file, ensure that the + start-after/end-before lines found in 'Documentation/intro/what-is-ovs' + are kept up-to-date. ============ Open vSwitch ============ -.. image:: https://travis-ci.org/openvswitch/ovs.png - :target: https://travis-ci.org/openvswitch/ovs +.. image:: https://github.com/openvswitch/ovs/workflows/Build%20and%20Test/badge.svg + :target: https://github.com/openvswitch/ovs/actions .. image:: https://ci.appveyor.com/api/projects/status/github/openvswitch/ovs?branch=master&svg=true&retina=true :target: https://ci.appveyor.com/project/blp/ovs/history diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Vagrantfile openvswitch-2.10.7+ds1/Vagrantfile --- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/Vagrantfile 2018-09-01 17:30:24.000000000 +0000 +++ openvswitch-2.10.7+ds1/Vagrantfile 2021-02-12 14:48:11.000000000 +0000 @@ -12,7 +12,8 @@ python-twisted python-zope-interface \ desktop-file-utils groff graphviz rpmdevtools nc curl \ wget python-six pyftpdlib checkpolicy selinux-policy-devel \ - libcap-ng-devel kernel-devel-`uname -r` ethtool python-tftpy + libcap-ng-devel kernel-devel-`uname -r` ethtool python-tftpy \ + lftp echo "search extra update built-in" >/etc/depmod.d/search_path.conf SCRIPT @@ -28,7 +29,8 @@ wget python-six ethtool \ libcap-ng-dev libssl-dev python-dev openssl \ python-pyftpdlib python-flake8 python-tftpy \ - linux-headers-`uname -r` + linux-headers-`uname -r` \ + lftp SCRIPT $bootstrap_centos = <