This patch addresses the issue that the conntrack fields associated
with a packet are missing after a packet is resumed by NXT_RESUME.
For example, the last rule in the following OpenFlow pipeline is not
working without this patch.

table=0, arp,in_port=1 action=2
table=0, arp,in_port=2 action=1
table=0, in_port=2 icmp action=output:1
table=0, in_port=1 icmp action=ct(table=1)
table=1, icmp action=controller(pause) resubmit(,2)
table=2, in_port=1 icmp ct_state=+trk+new action=output:2

Fixes: 77ab5fd2a95b ("Implement serializing the state of packet traversal in 
"continuations".")
VMware-BZ: #2202764
Sgned-off-by: Yi-Hung Wei <[email protected]>
---
 ofproto/ofproto-dpif-xlate.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index d0e7c6b9f55d..f85be6604348 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -7472,6 +7472,7 @@ xlate_resume(struct ofproto_dpif *ofproto,
     dp_packet_use_const(&packet, pin->base.packet,
                         pin->base.packet_len);
 
+    pkt_metadata_from_flow(&packet.md, &pin->base.flow_metadata.flow);
     flow_extract(&packet, flow);
 
     struct xlate_in xin;
-- 
2.7.4

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to