On Thu, 4 Feb 2021, Ilya Maximets wrote:

> On 2/4/21 3:42 PM, Marcelo Ricardo Leitner wrote:
> > On Thu, Feb 04, 2021 at 03:34:41PM +0100, Ilya Maximets wrote:
> >> On 2/4/21 3:50 AM, [email protected] wrote:
> >>> From: wenxu <[email protected]>
> >>>
> >>> TC flower doesn't support some ct state flags such as
> >>> INVALID/SNAT/DNAT/REPLY. So it is better to reject this rule.
> >>>
> >>
> >> Fixes: 576126a931cd ("netdev-offload-tc: Add conntrack support")
> >>
> >>> Signed-off-by: wenxu <[email protected]>
> >>> ---
> >>>  lib/netdev-offload-tc.c | 5 +++--
> >>>  1 file changed, 3 insertions(+), 2 deletions(-)
> >>
> >> This version loogs good to me.
> >> Marcelo, Paul, what do you think?
> > 
> > +1
> > Reviewed-by: Marcelo Ricardo Leitner <[email protected]>
> 
> Thanks.
> Applied to master and backported down to 2.13.

Sorry for late reply, Looks good (although you already merged :))


> 
> > 
> > ...
> >>> @@ -1660,14 +1662,13 @@ netdev_tc_flow_put(struct netdev *netdev, struct 
> >>> match *match,
> >>>                  flower.key.ct_state |= TCA_FLOWER_KEY_CT_FLAGS_TRACKED;
> >>>              }
> >>>              flower.mask.ct_state |= TCA_FLOWER_KEY_CT_FLAGS_TRACKED;
> >>> +            mask->ct_state &= ~OVS_CS_F_TRACKED;
> >>>          }
> >>>  
> >>>          if (flower.key.ct_state & TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED) {
> >>>              flower.key.ct_state &= ~(TCA_FLOWER_KEY_CT_FLAGS_NEW);
> >>>              flower.mask.ct_state &= ~(TCA_FLOWER_KEY_CT_FLAGS_NEW);
> >>>          }
> > 
> > Btw, this check is probably useless as validate_ct_state() already does:
> > 
> >       if (state & CS_NEW && state & CS_ESTABLISHED) {
> >           ds_put_format(ds, "%s: invalid connection state: "
> >                         "\"new\" and \"est\" are mutually exclusive\n",
> > 
> > And it would be wrong if it was effective. The translation shouldn't
> > be saying which flag has preference.
> > 
> 
> IIUC, this part of the code is from validate_ct_state() function, but
> it only used during ofproto/trace.  But I agree that we should not
> silently clear one of the flags.  Some part of the code should fail
> instead.
> 
> >>> -
> >>> -        mask->ct_state = 0;
> >>>      }
> >>>  
> >>>      if (mask->ct_zone) {
> >>>
> >>
> > 
> 
> 
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to