diff options
author | Anand Kumar <kumaranand@vmware.com> | 2017-08-16 11:23:02 -0700 |
---|---|---|
committer | Alin Gabriel Serdean <aserdean@ovn.org> | 2017-08-17 22:35:46 +0300 |
commit | a1930487b0c5846885f86fa29fd99f30a00bb5ae (patch) | |
tree | 5228d19d848e87e65fcf8daad25d6276f1c3b769 /datapath-windows/ovsext/Conntrack.c | |
parent | 0164f10cf7f5d5ab8820541b724a614233be0f53 (diff) | |
download | openvswitch-a1930487b0c5846885f86fa29fd99f30a00bb5ae.tar.gz |
datapath-windows: Update Orig Tuple to use ICMP Type and Code
- Also add some padding for the ct_endpoint's union, so that each member
of ct_endpoint's union are of same size.
Co-authored-by: Sairam Venugopal <vsairam@vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean@ovn.org>
Acked-by: Shashank Ram <rams@vmware.com>
Signed-off-by: Anand Kumar <kumaranand@vmware.com>
Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext/Conntrack.c')
-rw-r--r-- | datapath-windows/ovsext/Conntrack.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c index 917ebee98..ce8c1c85e 100644 --- a/datapath-windows/ovsext/Conntrack.c +++ b/datapath-windows/ovsext/Conntrack.c @@ -782,9 +782,16 @@ OvsCtExecute_(OvsForwardingContext *fwdCtx, key->ct.tuple_ipv4.ipv4_src = ctKey->src.addr.ipv4_aligned; key->ct.tuple_ipv4.ipv4_dst = ctKey->dst.addr.ipv4_aligned; - key->ct.tuple_ipv4.src_port = ctKey->src.port; - key->ct.tuple_ipv4.dst_port = ctKey->dst.port; key->ct.tuple_ipv4.ipv4_proto = ctKey->nw_proto; + + /* Orig tuple Port is overloaded to take in ICMP-Type & Code */ + /* This mimics the behavior in lib/conntrack.c*/ + key->ct.tuple_ipv4.src_port = ctKey->nw_proto != IPPROTO_ICMP ? + ctKey->src.port : + htons(ctKey->src.icmp_type); + key->ct.tuple_ipv4.dst_port = ctKey->nw_proto != IPPROTO_ICMP ? + ctKey->dst.port : + htons(ctKey->src.icmp_code); } if (entryCreated && entry) { |