Re: [ethtool PATCH 4/4] v5 Add RX packet classification interface
From: Ben Hutchings <hidden>
Date: 2011-05-04 17:24:56
On Wed, 2011-05-04 at 10:09 -0700, Dimitris Michailidis wrote:
quoted hunk ↗ jump to hunk
On 05/03/2011 04:34 PM, Ben Hutchings wrote:quoted
On Tue, 2011-05-03 at 16:23 -0700, Dimitris Michailidis wrote:quoted
I think RX_CLS_LOC_UNSPEC should be passed to the driver, where there is enough knowledge to pick an appropriate slot. So I'd remove the if (loc == RX_CLS_LOC_UNSPEC) block above, let the driver pick a slot, and then pass the selected location back for ethtool to report.But first we have to specify this in the ethtool API. So please propose a patch to ethtool.h.In the past we discussed that being able to specify the first available slot or the last available would be useful, so something like the below?diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 4194a20..909ef79 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h@@ -442,7 +442,8 @@ struct ethtool_flow_ext { * includes the %FLOW_EXT flag. * @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC * if packets should be discarded - * @location: Index of filter in hardware table + * @location: Index of filter in hardware table, or %RX_CLS_FLOW_FIRST_LOC for + * first available index, or %RX_CLS_FLOW_LAST_LOC for last available
[...] I think that's reasonable. We should also explicitly state that location determines priority, i.e. if a packet matches two filters then the one with the lower location wins. Ben. -- Ben Hutchings, Senior Software Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.