From: wenxu <[email protected]> TC flower doesn't support the INVALID/SNAT/DNAT/REPLY ct state flag. So it is better to reject this rule.
Signed-off-by: wenxu <[email protected]> --- lib/netdev-offload-tc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c index 586d99d..587b020 100644 --- a/lib/netdev-offload-tc.c +++ b/lib/netdev-offload-tc.c @@ -40,6 +40,9 @@ #include "util.h" #include "dpif-provider.h" +#define TC_UNSUPP_OVS_CS_FLAGS (OVS_CS_F_REPLY_DIR | OVS_CS_F_INVALID | \ + OVS_CS_F_NAT_MASK) + VLOG_DEFINE_THIS_MODULE(netdev_offload_tc); static struct vlog_rate_limit error_rl = VLOG_RATE_LIMIT_INIT(60, 5); @@ -1641,6 +1644,10 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match, } if (mask->ct_state) { + if (mask->ct_state & TC_UNSUPP_OVS_CS_FLAGS) { + return EOPNOTSUPP; + } + if (mask->ct_state & OVS_CS_F_NEW) { if (key->ct_state & OVS_CS_F_NEW) { flower.key.ct_state |= TCA_FLOWER_KEY_CT_FLAGS_NEW; -- 1.8.3.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
