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. > 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. Thanks, Tom