]> git.proxmox.com Git - mirror_ovs.git/commitdiff
odp-util: Fix generating various ct fields in odp_key_to_dp_packet()
authorYi-Hung Wei <yihung.wei@gmail.com>
Mon, 31 Jul 2017 20:35:36 +0000 (13:35 -0700)
committerJoe Stringer <joe@ovn.org>
Mon, 31 Jul 2017 23:50:37 +0000 (16:50 -0700)
Previously, odp_key_to_dp_packet() may fail to get ct_state, ct_zone,
ct_mark, and ct_labels from ODP flow key. This patch fixes the issue.

VMWare-BZ: #1920903
Fixes: 07659514c3c1 ("Add support for connection tracking.")
Fixes: 8e53fe8cf7a1 ("Add connection tracking mark support.")
Fixes: 9daf23484fb1 ("Add connection tracking label support.")
Suggested-by: Joe Stringer <joe@ovn.org>
Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: Joe Stringer <joe@ovn.org>
lib/odp-util.c

index 9052f690195a91667865733136031043e8812458..b1ccbe149908d9baf0c245cdc9570968414b200d 100644 (file)
@@ -4852,7 +4852,9 @@ odp_key_to_dp_packet(const struct nlattr *key, size_t key_len,
     uint32_t wanted_attrs = 1u << OVS_KEY_ATTR_PRIORITY |
         1u << OVS_KEY_ATTR_SKB_MARK | 1u << OVS_KEY_ATTR_TUNNEL |
         1u << OVS_KEY_ATTR_IN_PORT | 1u << OVS_KEY_ATTR_ETHERTYPE |
-        1u << OVS_KEY_ATTR_ETHERNET;
+        1u << OVS_KEY_ATTR_ETHERNET | 1u << OVS_KEY_ATTR_CT_STATE |
+        1u << OVS_KEY_ATTR_CT_ZONE | 1u << OVS_KEY_ATTR_CT_MARK |
+        1u << OVS_KEY_ATTR_CT_LABELS;
 
     pkt_metadata_init(md, ODPP_NONE);