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
