From 6f9939b84e6ce5079a56867cdeb1c0c3af4e0b0a Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Jun 27 2022 18:20:26 +0000 Subject: Import openvswitch2.16-2.16.0-83 from Fast DataPath --- diff --git a/SOURCES/openvswitch-2.16.0.patch b/SOURCES/openvswitch-2.16.0.patch index 448a215..478a369 100644 --- a/SOURCES/openvswitch-2.16.0.patch +++ b/SOURCES/openvswitch-2.16.0.patch @@ -1658,6 +1658,19 @@ index c502d23112..72e2ec5f71 100644 #define CMAP_CURSOR_FOR_EACH(NODE, MEMBER, CURSOR, CMAP) \ for (*(CURSOR) = cmap_cursor_start(CMAP); \ +diff --git a/lib/conntrack.c b/lib/conntrack.c +index 551c2061a7..b8183faa2d 100644 +--- a/lib/conntrack.c ++++ b/lib/conntrack.c +@@ -2238,7 +2238,7 @@ nat_range_hash(const struct conn *conn, uint32_t basis) + hash = ct_addr_hash_add(hash, &conn->nat_info->min_addr); + hash = ct_addr_hash_add(hash, &conn->nat_info->max_addr); + hash = hash_add(hash, +- (conn->nat_info->max_port << 16) ++ ((uint32_t) conn->nat_info->max_port << 16) + | conn->nat_info->min_port); + hash = ct_endpoint_hash_add(hash, &conn->key.src); + hash = ct_endpoint_hash_add(hash, &conn->key.dst); diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c index 77cc76a9f6..7074561588 100644 --- a/lib/db-ctl-base.c @@ -3076,7 +3089,7 @@ index 9845e8d3fe..e1568e38a0 100644 } diff --git a/lib/odp-util.c b/lib/odp-util.c -index 7729a90608..36e7161714 100644 +index 7729a90608..dba830a0b6 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -2941,7 +2941,7 @@ odp_nsh_key_from_attr__(const struct nlattr *attr, bool is_mask, @@ -3097,6 +3110,28 @@ index 7729a90608..36e7161714 100644 &opts, sizeof(opts)); } nl_msg_end_nested(a, tun_key_ofs); +@@ -3400,16 +3400,16 @@ format_eth(struct ds *ds, const char *name, const struct eth_addr key, + + static void + format_be64(struct ds *ds, const char *name, ovs_be64 key, +- const ovs_be64 *mask, bool verbose) ++ const ovs_32aligned_be64 *mask_, bool verbose) + { +- bool mask_empty = mask && !*mask; ++ ovs_be64 mask = mask_ ? get_32aligned_be64(mask_) : htonll(0); + +- if (verbose || !mask_empty) { +- bool mask_full = !mask || *mask == OVS_BE64_MAX; ++ if (verbose || mask) { ++ bool mask_full = !mask_ || mask == OVS_BE64_MAX; + + ds_put_format(ds, "%s=0x%"PRIx64, name, ntohll(key)); + if (!mask_full) { /* Partially masked. */ +- ds_put_format(ds, "/%#"PRIx64, ntohll(*mask)); ++ ds_put_format(ds, "/%#"PRIx64, ntohll(mask)); + } + ds_put_char(ds, ','); + } @@ -4601,6 +4601,11 @@ odp_flow_format(const struct nlattr *key, size_t key_len, ds_put_char(ds, ','); } @@ -3204,6 +3239,21 @@ index 4579548ee1..9485ddfc93 100644 break; } +diff --git a/lib/ofpbuf.c b/lib/ofpbuf.c +index 4edb3c114a..05c0b5711d 100644 +--- a/lib/ofpbuf.c ++++ b/lib/ofpbuf.c +@@ -422,6 +422,10 @@ void + ofpbuf_reserve(struct ofpbuf *b, size_t size) + { + ovs_assert(!b->size); ++ ++ if (!size) { ++ return; ++ } + ofpbuf_prealloc_tailroom(b, size); + b->data = (char*)b->data + size; + } diff --git a/lib/ovs-numa.h b/lib/ovs-numa.h index ecc251a7ff..83bd10cca5 100644 --- a/lib/ovs-numa.h diff --git a/SPECS/openvswitch2.16.spec b/SPECS/openvswitch2.16.spec index d4ba82c..8112f4f 100644 --- a/SPECS/openvswitch2.16.spec +++ b/SPECS/openvswitch2.16.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.16.0 -Release: 82%{?dist} +Release: 83%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -699,6 +699,14 @@ exit 0 %endif %changelog +* Mon Jun 27 2022 Open vSwitch CI - 2.16.0-83 +- Merging upstream branch-2.16 [RH git: 3a0b236aca] + Commit list: + 2266e91acd conntrack: Fix incorrect bit shift while hashing nat range. + 7cfbd3921c odp-util: Fix unaligned access to tunnel id. + b46d9ba9f9 ofpbuf: Fix offsetting a NULL pointer in ofpbuf_reserve. + + * Fri Jun 24 2022 Open vSwitch CI - 2.16.0-82 - Merging upstream branch-2.16 [RH git: c4dc313aae] Commit list: