From e92bdee576a738aebdc291525dfc7789cf4a0597 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Apr 06 2022 17:27:43 +0000 Subject: Import openvswitch2.15-2.15.0-91 from Fast DataPath --- diff --git a/SOURCES/openvswitch-2.15.0.patch b/SOURCES/openvswitch-2.15.0.patch index 085bdce..4b85d67 100644 --- a/SOURCES/openvswitch-2.15.0.patch +++ b/SOURCES/openvswitch-2.15.0.patch @@ -21573,7 +21573,7 @@ index f2413f5be6..0e4119c0a6 100644 } ds_put_cstr(s, "/ "); diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c -index 72b7915052..50e13dc1da 100644 +index 72b7915052..b304ad0f9d 100644 --- a/lib/netdev-offload-tc.c +++ b/lib/netdev-offload-tc.c @@ -48,6 +48,7 @@ static struct hmap ufid_to_tc = HMAP_INITIALIZER(&ufid_to_tc); @@ -21693,7 +21693,7 @@ index 72b7915052..50e13dc1da 100644 return 0; } -@@ -1406,6 +1423,90 @@ flower_match_to_tun_opt(struct tc_flower *flower, const struct flow_tnl *tnl, +@@ -1406,6 +1423,96 @@ flower_match_to_tun_opt(struct tc_flower *flower, const struct flow_tnl *tnl, flower->mask.tunnel.metadata.present.len = tnl->metadata.present.len; } @@ -21760,6 +21760,12 @@ index 72b7915052..50e13dc1da 100644 + flower->key.ct_state &= ~(TCA_FLOWER_KEY_CT_FLAGS_NEW); + flower->mask.ct_state &= ~(TCA_FLOWER_KEY_CT_FLAGS_NEW); + } ++ ++ if (flower->key.ct_state && ++ !(flower->key.ct_state & TCA_FLOWER_KEY_CT_FLAGS_TRACKED)) { ++ flower->key.ct_state |= TCA_FLOWER_KEY_CT_FLAGS_TRACKED; ++ flower->mask.ct_state |= TCA_FLOWER_KEY_CT_FLAGS_TRACKED; ++ } + } + + if (mask->ct_zone) { @@ -21784,7 +21790,7 @@ index 72b7915052..50e13dc1da 100644 static int netdev_tc_flow_put(struct netdev *netdev, struct match *match, struct nlattr *actions, size_t actions_len, -@@ -1650,54 +1751,7 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match, +@@ -1650,54 +1757,7 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match, } } @@ -21840,7 +21846,7 @@ index 72b7915052..50e13dc1da 100644 /* ignore exact match on skb_mark of 0. */ if (mask->pkt_mark == UINT32_MAX && !key->pkt_mark) { -@@ -1724,7 +1778,25 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match, +@@ -1724,7 +1784,25 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match, VLOG_DBG_RL(&rl, "Can't find netdev for output port %d", port); return ENODEV; } @@ -21866,7 +21872,7 @@ index 72b7915052..50e13dc1da 100644 action->out.ingress = is_internal_port(netdev_get_type(outdev)); action->type = TC_ACT_OUTPUT; flower.action_count++; -@@ -1779,6 +1851,10 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match, +@@ -1779,6 +1857,10 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match, const struct nlattr *ct = nl_attr_get(nla); const size_t ct_len = nl_attr_get_size(nla); @@ -21877,7 +21883,7 @@ index 72b7915052..50e13dc1da 100644 err = parse_put_flow_ct_action(&flower, action, ct, ct_len); if (err) { return err; -@@ -1894,9 +1970,7 @@ netdev_tc_flow_del(struct netdev *netdev OVS_UNUSED, +@@ -1894,9 +1976,7 @@ netdev_tc_flow_del(struct netdev *netdev OVS_UNUSED, if (stats) { memset(stats, 0, sizeof *stats); if (!tc_get_flower(&id, &flower)) { @@ -21888,7 +21894,7 @@ index 72b7915052..50e13dc1da 100644 } } -@@ -1971,6 +2045,96 @@ out: +@@ -1971,6 +2051,96 @@ out: tc_add_del_qdisc(ifindex, false, block_id, TC_INGRESS); } @@ -21985,7 +21991,7 @@ index 72b7915052..50e13dc1da 100644 static void probe_tc_block_support(int ifindex) { -@@ -2038,6 +2202,7 @@ netdev_tc_init_flow_api(struct netdev *netdev) +@@ -2038,6 +2208,7 @@ netdev_tc_init_flow_api(struct netdev *netdev) block_id = get_block_id_from_netdev(netdev); probe_multi_mask_per_prio(ifindex); diff --git a/SPECS/openvswitch2.15.spec b/SPECS/openvswitch2.15.spec index d980151..8e67037 100644 --- a/SPECS/openvswitch2.15.spec +++ b/SPECS/openvswitch2.15.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.15.0 -Release: 90%{?dist} +Release: 91%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -702,6 +702,12 @@ exit 0 %endif %changelog +* Wed Apr 06 2022 Open vSwitch CI - 2.15.0-91 +- Merging upstream branch-2.15 [RH git: 09b0ffda32] + Commit list: + 3719bdafc4 netdev-offload-tc: Check for ct_state flag combinations that are not offloadable. + + * Tue Apr 05 2022 Open vSwitch CI - 2.15.0-90 - Merging upstream branch-2.15 [RH git: 9e3e8cde3c] Commit list: