On Fri, Dec 10, 2021 at 8:52 PM Jakub Kicinski <[email protected]> wrote:
>
> On Thu, 9 Dec 2021 09:57:33 +0200 Paul Blakey wrote:
> > @@ -238,10 +239,12 @@ void
> >  skb_flow_dissect_ct(const struct sk_buff *skb,
> >                   struct flow_dissector *flow_dissector,
> >                   void *target_container, u16 *ctinfo_map,
> > -                 size_t mapsize, bool post_ct)
> > +                 size_t mapsize)
> >  {
> >  #if IS_ENABLED(CONFIG_NF_CONNTRACK)
> > +     bool post_ct = tc_skb_cb(skb)->post_ct;
> >       struct flow_dissector_key_ct *key;
> > +     u16 zone = tc_skb_cb(skb)->zone;
> >       enum ip_conntrack_info ctinfo;
> >       struct nf_conn_labels *cl;
> >       struct nf_conn *ct;
> > @@ -260,6 +263,7 @@ skb_flow_dissect_ct(const struct sk_buff *skb,
> >       if (!ct) {
> >               key->ct_state = TCA_FLOWER_KEY_CT_FLAGS_TRACKED |
> >                               TCA_FLOWER_KEY_CT_FLAGS_INVALID;
> > +             key->ct_zone = zone;
> >               return;
> >       }
> >
>
> Why is flow dissector expecting skb cb to be TC now?
> Please keep the appropriate abstractions intact.

Probably because only fl_classify() calls it, but I agree with you
on this point, this function is supposed to be TC independent.

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

Reply via email to