From 7240a5460581db3a1fc7e6ec7725101dc6209e13 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Dec 12 2024 03:45:15 +0000 Subject: Import openvswitch3.1-3.1.0-152 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch index e6fa7a0..6c2ad1a 100644 --- a/SOURCES/openvswitch-3.1.0.patch +++ b/SOURCES/openvswitch-3.1.0.patch @@ -201,7 +201,7 @@ index 09df61826f..b81744ec9b 100755 if [ "$CC" = "clang" ]; then make CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument" diff --git a/.cirrus.yml b/.cirrus.yml -index 952d964315..d73154a971 100644 +index 952d964315..fa3cc86b4e 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -2,8 +2,8 @@ freebsd_build_task: @@ -210,8 +210,8 @@ index 952d964315..d73154a971 100644 matrix: - image_family: freebsd-12-4-snap - image_family: freebsd-13-1-snap -+ 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 @@ -20036,7 +20036,7 @@ index 2f5ac1a262..2bb37b5ddf 100644 c = getopt_long(argc, argv, short_options, options, &idx); diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c -index bfb2adef1d..087869ff8b 100644 +index bfb2adef1d..3b50aeca4d 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -832,6 +832,9 @@ bridge_reconfigure(const struct ovsrec_open_vswitch *ovs_cfg) @@ -20059,6 +20059,86 @@ index bfb2adef1d..087869ff8b 100644 } } +@@ -3973,6 +3977,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; + +@@ -4034,18 +4040,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; +@@ -4057,8 +4066,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, ','); +@@ -4068,8 +4079,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); + } + +@@ -4077,6 +4096,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/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c index 407bfc60eb..2b2afb44ca 100644 --- a/vswitchd/ovs-vswitchd.c diff --git a/SPECS/openvswitch3.1.spec b/SPECS/openvswitch3.1.spec index 3681f18..a04013e 100644 --- a/SPECS/openvswitch3.1.spec +++ b/SPECS/openvswitch3.1.spec @@ -63,7 +63,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.1.0 -Release: 151%{?dist} +Release: 152%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -759,6 +759,13 @@ exit 0 %endif %changelog +* Wed Dec 11 2024 Open vSwitch CI - 3.1.0-152 +- Merging upstream branch-3.1 [RH git: 7d93dcae7b] + Commit list: + 8e7c08f0d7 cirrus: Update to FreeBSD 14.2 and 13.4. + 8f0edc02f9 bridge: Fix log spam about prefixes. + + * Fri Nov 29 2024 Open vSwitch CI - 3.1.0-151 - Merging upstream branch-3.1 [RH git: f94bfbed6b] Commit list: