From 19ac4bf6315e66d4860efb848121955547c93040 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Dec 12 2024 04:44:47 +0000 Subject: Import openvswitch3.4-3.4.0-24 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.4.0.patch b/SOURCES/openvswitch-3.4.0.patch index f4c0d24..6335cfc 100644 --- a/SOURCES/openvswitch-3.4.0.patch +++ b/SOURCES/openvswitch-3.4.0.patch @@ -25,10 +25,18 @@ index 2a191b57fb..5f8a1db6af 100755 # Install python test dependencies pip3 install -r python/test_requirements.txt diff --git a/.cirrus.yml b/.cirrus.yml -index d73154a971..8835501d4d 100644 +index d73154a971..9f0fbfe40d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml -@@ -8,7 +8,7 @@ freebsd_build_task: +@@ -2,13 +2,13 @@ freebsd_build_task: + + freebsd_instance: + matrix: +- image_family: freebsd-13-3-snap +- image_family: freebsd-14-1-snap ++ image_family: freebsd-13-4-snap ++ image_family: freebsd-14-2-snap + cpu: 4 memory: 4G env: @@ -3904,6 +3912,90 @@ index 28479a5650..80c9c98bdb 100755 } +diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c +index 6bb687f4b1..12c5fb5132 100644 +--- a/vswitchd/bridge.c ++++ b/vswitchd/bridge.c +@@ -4122,6 +4122,8 @@ static void + bridge_configure_tables(struct bridge *br) + { + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); ++ char *prev_prefixes = NULL; ++ int prev_start = 0; + int n_tables; + int i, j; + +@@ -4183,18 +4185,21 @@ bridge_configure_tables(struct bridge *br) + } + mf = mf_from_name(name); + if (!mf) { +- VLOG_WARN("bridge %s: 'prefixes' with unknown field: %s", +- br->name, name); ++ VLOG_WARN_RL(&rl, "bridge %s: " ++ "'prefixes' with unknown field: %s", ++ br->name, name); + continue; + } + if (mf->flow_be32ofs < 0 || mf->n_bits % 32) { +- VLOG_WARN("bridge %s: 'prefixes' with incompatible field: " +- "%s", br->name, name); ++ VLOG_WARN_RL(&rl, "bridge %s: " ++ "'prefixes' with incompatible field: %s", ++ br->name, name); + continue; + } + if (s.n_prefix_fields >= ARRAY_SIZE(s.prefix_fields)) { +- VLOG_WARN("bridge %s: 'prefixes' with too many fields, " +- "field not used: %s", br->name, name); ++ VLOG_WARN_RL(&rl, "bridge %s: " ++ "'prefixes' with too many fields, " ++ "field not used: %s", br->name, name); + continue; + } + use_default_prefixes = false; +@@ -4206,8 +4211,10 @@ bridge_configure_tables(struct bridge *br) + s.n_prefix_fields = ARRAY_SIZE(default_prefix_fields); + memcpy(s.prefix_fields, default_prefix_fields, + sizeof default_prefix_fields); +- } else { ++ } ++ if (VLOG_IS_DBG_ENABLED()) { + struct ds ds = DS_EMPTY_INITIALIZER; ++ + for (int k = 0; k < s.n_prefix_fields; k++) { + if (k) { + ds_put_char(&ds, ','); +@@ -4217,8 +4224,16 @@ bridge_configure_tables(struct bridge *br) + if (s.n_prefix_fields == 0) { + ds_put_cstr(&ds, "none"); + } +- VLOG_INFO("bridge %s table %d: Prefix lookup with: %s.", +- br->name, i, ds_cstr(&ds)); ++ if (!prev_prefixes) { ++ prev_prefixes = ds_steal_cstr(&ds); ++ prev_start = i; ++ } else if (prev_prefixes && strcmp(prev_prefixes, ds_cstr(&ds))) { ++ VLOG_DBG("bridge %s tables %d-%d: Prefix lookup with: %s.", ++ br->name, prev_start, i - 1, prev_prefixes); ++ free(prev_prefixes); ++ prev_prefixes = ds_steal_cstr(&ds); ++ prev_start = i; ++ } + ds_destroy(&ds); + } + +@@ -4226,6 +4241,11 @@ bridge_configure_tables(struct bridge *br) + + free(s.groups); + } ++ if (prev_prefixes) { ++ VLOG_DBG("bridge %s tables %d-%d: Prefix lookup with: %s.", ++ br->name, prev_start, n_tables - 1, prev_prefixes); ++ free(prev_prefixes); ++ } + for (; j < br->cfg->n_flow_tables; j++) { + VLOG_WARN_RL(&rl, "bridge %s: ignoring configuration for flow table " + "%"PRId64" not supported by this datapath", br->name, diff --git a/vswitchd/vswitch.ovsschema b/vswitchd/vswitch.ovsschema index 68689fe2a3..c658291c75 100644 --- a/vswitchd/vswitch.ovsschema diff --git a/SPECS/openvswitch3.4.spec b/SPECS/openvswitch3.4.spec index 8712162..ce69365 100644 --- a/SPECS/openvswitch3.4.spec +++ b/SPECS/openvswitch3.4.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.4.0 -Release: 23%{?dist} +Release: 24%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -770,6 +770,13 @@ exit 0 %endif %changelog +* Wed Dec 11 2024 Open vSwitch CI - 3.4.0-24 +- Merging upstream branch-3.4 [RH git: 99590fdaef] + Commit list: + acee757306 cirrus: Update to FreeBSD 14.2 and 13.4. + eb98e20da3 bridge: Fix log spam about prefixes. + + * Mon Dec 02 2024 Open vSwitch CI - 3.4.0-23 - Merging upstream branch-3.4 [RH git: 222ad449f6] Commit list: