Re: [ovs-dev] [PATCH net v2 2/3] net/sched: flow_dissector: Fix matching on zone id for invalid conns
On Sat, 11 Dec 2021, Jakub Kicinski 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. > Will do. Sending v3. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH net v2 2/3] net/sched: flow_dissector: Fix matching on zone id for invalid conns
On Fri, Dec 10, 2021 at 8:52 PM Jakub Kicinski 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 d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH net v2 2/3] net/sched: flow_dissector: Fix matching on zone id for invalid conns
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. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev