diff --git a/SOURCES/openvswitch-2.13.0.patch b/SOURCES/openvswitch-2.13.0.patch index 77745db..390e82a 100644 --- a/SOURCES/openvswitch-2.13.0.patch +++ b/SOURCES/openvswitch-2.13.0.patch @@ -81117,7 +81117,7 @@ index d393aab5e3..df3c2c9c3e 100644 } else { atomic_count_set(&pmd->pmd_overloaded, 0); diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c -index 5b5c96d727..54ca8d7e62 100644 +index 5b5c96d727..0b40bb083f 100644 --- a/lib/dpif-netlink.c +++ b/lib/dpif-netlink.c @@ -691,6 +691,7 @@ dpif_netlink_set_features(struct dpif *dpif_, uint32_t new_features) @@ -81149,6 +81149,65 @@ index 5b5c96d727..54ca8d7e62 100644 if (!del_err) { /* Delete from hw success, so old flow was offloaded. +@@ -2902,8 +2908,6 @@ dpif_netlink_ct_set_limits(struct dpif *dpif OVS_UNUSED, + const uint32_t *default_limits, + const struct ovs_list *zone_limits) + { +- struct ovs_zone_limit req_zone_limit; +- + if (ovs_ct_limit_family < 0) { + return EOPNOTSUPP; + } +@@ -2920,8 +2924,10 @@ dpif_netlink_ct_set_limits(struct dpif *dpif OVS_UNUSED, + size_t opt_offset; + opt_offset = nl_msg_start_nested(request, OVS_CT_LIMIT_ATTR_ZONE_LIMIT); + if (default_limits) { +- req_zone_limit.zone_id = OVS_ZONE_LIMIT_DEFAULT_ZONE; +- req_zone_limit.limit = *default_limits; ++ struct ovs_zone_limit req_zone_limit = { ++ .zone_id = OVS_ZONE_LIMIT_DEFAULT_ZONE, ++ .limit = *default_limits, ++ }; + nl_msg_put(request, &req_zone_limit, sizeof req_zone_limit); + } + +@@ -2929,8 +2935,10 @@ dpif_netlink_ct_set_limits(struct dpif *dpif OVS_UNUSED, + struct ct_dpif_zone_limit *zone_limit; + + LIST_FOR_EACH (zone_limit, node, zone_limits) { +- req_zone_limit.zone_id = zone_limit->zone; +- req_zone_limit.limit = zone_limit->limit; ++ struct ovs_zone_limit req_zone_limit = { ++ .zone_id = zone_limit->zone, ++ .limit = zone_limit->limit, ++ }; + nl_msg_put(request, &req_zone_limit, sizeof req_zone_limit); + } + } +@@ -3014,8 +3022,9 @@ dpif_netlink_ct_get_limits(struct dpif *dpif OVS_UNUSED, + size_t opt_offset = nl_msg_start_nested(request, + OVS_CT_LIMIT_ATTR_ZONE_LIMIT); + +- struct ovs_zone_limit req_zone_limit; +- req_zone_limit.zone_id = OVS_ZONE_LIMIT_DEFAULT_ZONE; ++ struct ovs_zone_limit req_zone_limit = { ++ .zone_id = OVS_ZONE_LIMIT_DEFAULT_ZONE, ++ }; + nl_msg_put(request, &req_zone_limit, sizeof req_zone_limit); + + struct ct_dpif_zone_limit *zone_limit; +@@ -3065,8 +3074,9 @@ dpif_netlink_ct_del_limits(struct dpif *dpif OVS_UNUSED, + + struct ct_dpif_zone_limit *zone_limit; + LIST_FOR_EACH (zone_limit, node, zone_limits) { +- struct ovs_zone_limit req_zone_limit; +- req_zone_limit.zone_id = zone_limit->zone; ++ struct ovs_zone_limit req_zone_limit = { ++ .zone_id = zone_limit->zone, ++ }; + nl_msg_put(request, &req_zone_limit, sizeof req_zone_limit); + } + nl_msg_end_nested(request, opt_offset); diff --git a/lib/dpif.c b/lib/dpif.c index 9d9c716c13..1847689114 100644 --- a/lib/dpif.c @@ -81836,7 +81895,7 @@ index 6187129c00..f080dec61f 100644 err = rte_vhost_driver_start(dev->vhost_id); diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c -index c6f3d27409..2d2ce1a686 100644 +index c6f3d27409..5a747f73ca 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -231,6 +231,14 @@ struct rtnl_link_stats64 { @@ -81865,7 +81924,18 @@ index c6f3d27409..2d2ce1a686 100644 if (change->slave && netdev_linux_kind_is_lag(change->slave)) { lag = shash_find_data(&lag_shash, change->ifname); -@@ -760,8 +764,11 @@ netdev_linux_run(const struct netdev_class *netdev_class OVS_UNUSED) +@@ -672,7 +676,9 @@ netdev_linux_update_lag(struct rtnetlink_change *change) + uint32_t block_id; + int error = 0; + +- if_indextoname(change->master_ifindex, master_name); ++ if (!if_indextoname(change->master_ifindex, master_name)) { ++ return; ++ } + master_netdev = netdev_from_name(master_name); + if (!master_netdev) { + return; +@@ -760,8 +766,11 @@ netdev_linux_run(const struct netdev_class *netdev_class OVS_UNUSED) netdev_linux_update(netdev, nsid, &change); ovs_mutex_unlock(&netdev->mutex); } @@ -81879,7 +81949,7 @@ index c6f3d27409..2d2ce1a686 100644 ovs_mutex_lock(&lag_mutex); netdev_linux_update_lag(&change); ovs_mutex_unlock(&lag_mutex); -@@ -923,6 +930,8 @@ netdev_linux_common_construct(struct netdev *netdev_) +@@ -923,6 +932,8 @@ netdev_linux_common_construct(struct netdev *netdev_) if (userspace_tso_enabled()) { netdev_->ol_flags |= NETDEV_TX_OFFLOAD_TCP_TSO; netdev_->ol_flags |= NETDEV_TX_OFFLOAD_TCP_CKSUM; @@ -81888,7 +81958,7 @@ index c6f3d27409..2d2ce1a686 100644 netdev_->ol_flags |= NETDEV_TX_OFFLOAD_IPV4_CKSUM; } -@@ -1233,21 +1242,21 @@ netdev_linux_batch_rxq_recv_sock(struct netdev_rxq_linux *rx, int mtu, +@@ -1233,21 +1244,21 @@ netdev_linux_batch_rxq_recv_sock(struct netdev_rxq_linux *rx, int mtu, * aux_buf is allocated so that it can be prepended to TSO buffer. */ std_len = virtio_net_hdr_size + VLAN_ETH_HEADER_LEN + mtu; for (i = 0; i < NETDEV_MAX_BURST; i++) { @@ -81924,7 +81994,7 @@ index c6f3d27409..2d2ce1a686 100644 } do { -@@ -2562,7 +2571,7 @@ exit: +@@ -2562,7 +2573,7 @@ exit: static struct tc_police tc_matchall_fill_police(uint32_t kbits_rate, uint32_t kbits_burst) { @@ -84555,6 +84625,19 @@ index 4407f9c97a..04a75e12d3 100644 flow->tunnel.metadata.tab = ofproto_get_tun_tab( &ctx.xbridge->ofproto->up); } +diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c +index d3cb392077..4d1048f70c 100644 +--- a/ofproto/ofproto-dpif.c ++++ b/ofproto/ofproto-dpif.c +@@ -5375,6 +5375,8 @@ ct_add_timeout_policy_to_dpif(struct dpif *dpif, + struct ct_dpif_timeout_policy cdtp; + struct simap_node *node; + ++ memset(&cdtp, 0, sizeof cdtp); ++ + cdtp.id = ct_tp->tp_id; + SIMAP_FOR_EACH (node, &ct_tp->tp) { + ct_dpif_set_timeout_policy_attr_by_name(&cdtp, node->name, node->data); diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 08830d8371..8594afad4a 100644 --- a/ofproto/ofproto.c diff --git a/SPECS/openvswitch2.13.spec b/SPECS/openvswitch2.13.spec index 795e84b..a9c677d 100644 --- a/SPECS/openvswitch2.13.spec +++ b/SPECS/openvswitch2.13.spec @@ -59,7 +59,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.13.0 -Release: 114%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} +Release: 115%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -710,6 +710,10 @@ exit 0 %endif %changelog +* Thu May 27 2021 Open vSwitch CI - 2.13.0-115 +- Merging upstream branch-2.13 + [190762bf5ce2ebac4f08d1505bcee11520f7be38] + * Fri May 21 2021 Open vSwitch CI - 2.13.0-114 - Merging upstream branch-2.13 [63656e47fb7ec23d8c869a3779eb412806451b6a]