On Wed, Oct 04, 2017 at 08:07:15PM +0200, Jiri Pirko wrote: > Wed, Oct 04, 2017 at 05:52:54PM CEST, t...@herbertland.com wrote: > >On Wed, Oct 4, 2017 at 1:15 AM, Jiri Pirko <j...@resnulli.us> wrote: > >> Wed, Oct 04, 2017 at 10:08:57AM CEST, simon.hor...@netronome.com wrote: > >>>On Tue, Oct 03, 2017 at 11:17:46AM -0700, Tom Herbert wrote: > >>>> On Tue, Oct 3, 2017 at 2:40 AM, Simon Horman > >>>> <simon.hor...@netronome.com> wrote: > >>>> > On Mon, Oct 02, 2017 at 01:37:55PM -0700, Tom Herbert wrote: > >>>> >> On Mon, Oct 2, 2017 at 1:41 AM, Simon Horman > >>>> >> <simon.hor...@netronome.com> wrote: > >>>> >> > Move dissection of tunnel info from the flower classifier to the > >>>> >> > flow > >>>> >> > dissector where all other dissection occurs. This should not have > >>>> >> > any > >>>> >> > behavioural affect on other users of the flow dissector. > >>>> > > >>>> > ... > >>>> > >>>> > I feel that we are circling back the perennial issue of flower using > >>>> > the > >>>> > flow dissector in a somewhat broader/different way than many/all other > >>>> > users of the flow dissector. > >>>> > > >>>> Simon, > >>>> > >>>> It's more like __skb_flow_dissect is already an incredibly complex > >>>> function and because of that it's difficult to maintain. We need to > >>>> measure changes against that fact. For this patch, there is precisely > >>>> one user (cls_flower.c) and it's not at all clear to me if there will > >>>> be ever any more (e.g. for hashing we don't need tunnel info). IMO, it > >>>> should be just as easy and less convolution for everyone to have > >>>> flower call __skb_flow_dissect_tunnel_info directly and not call if > >>>> from __skb_flow_dissect. > >>> > >>>Hi Tom, > >>> > >>>my original suggestion was just that, but Jiri indicated a strong > >>>preference > >>>for the approach taken by this patch. I think we need to widen the > >>>participants in this discussion. > >> > >> I like the __skb_flow_dissect to be the function to call and it will do > >> the job according to the configuration. I don't like to split in > >> multiple calls. > > > >Those are not technical arguments. As I already mentioned, I don't > >like it when we add stuff for the benefit of a 1% use case that > >negatively impacts the rest of the 99% cases which is what I believe > >is happening here. > > Yeah. I just wanted the flow dissector to stay compact. But if needed, > could be split. I just fear that it will become a mess that's all. > > > > > >> Does not make sense in the most of the cases as the > >> dissection state would have to be carried in between calls. > > > >Please elaborate. This code is being moved into __skb_flow_dissect, so > >the functionality was already there. I don't see any description in > >this discussion that things were broken and that this patch is a > >necessary fix. > > Yeah, you are right.
Hi Tom, Hi Jiri, I'm happy to make a patch to move the call to __skb_flow_dissect_tunnel_info() from __skb_flow_dissect() to fl_classify(). It seems that approach has been agreed on above.