out_port = ofp_port_to_odp_port(ctx->xbridge, vlandev_port);
flow->vlan_tci = htons(0);
}
- flow->pkt_mark &= ~IPSEC_MARK;
}
if (out_port != ODPP_NONE) {
VLOG_DEFINE_THIS_MODULE(tunnel);
+/* skb mark used for IPsec tunnel packets */
+#define IPSEC_MARK 1
+
struct tnl_match {
ovs_be64 in_key;
ovs_be32 ip_src;
if (!tnl_ecn_ok(base_flow, flow)) {
return false;
}
+
+ flow->pkt_mark &= ~IPSEC_MARK;
}
return true;
#include <stdint.h>
#include "flow.h"
-/* skb mark used for IPsec tunnel packets */
-#define IPSEC_MARK 1
-
/* Tunnel port emulation layer.
*
* These functions emulate tunnel virtual ports based on the outer
AT_CHECK([ovs-appctl ofproto/trace br0 \
"in_port=2,skb_priority=2,pkt_mark=1" "$pkt2to1"], [0], [stdout],[stderr])
AT_CHECK([tail -1 stdout], [0], [dnl
-Datapath actions: set(skb_mark(0)),1
+Datapath actions: 1
])
AT_CHECK([head -n 2 stdout], [0], [dnl
Packet: arp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:02,dl_dst=50:54:00:00:00:01,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00