ethtool: Add n-tuple string length to drvinfo and return it

The drvinfo struct should include the number of strings that
get_rx_ntuple will return.  It will be variable if an underlying
driver implements its own get_rx_ntuple routine, so userspace
needs to know how much data is coming.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Peter Waskiewicz 2010-02-26 01:54:20 +00:00 committed by David S. Miller
parent c43491d73e
commit c79c5ffdce
2 changed files with 4 additions and 0 deletions

View file

@ -63,6 +63,7 @@ struct ethtool_drvinfo {
char reserved2[12];
__u32 n_priv_flags; /* number of flags valid in ETHTOOL_GPFLAGS */
__u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */
__u32 n_ntuples; /* number of n-tuple filters from GSTRINGS */
__u32 testinfo_len;
__u32 eedump_len; /* Size of data from ETHTOOL_GEEPROM (bytes) */
__u32 regdump_len; /* Size of data from ETHTOOL_GREGS (bytes) */

View file

@ -224,6 +224,9 @@ static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *use
rc = ops->get_sset_count(dev, ETH_SS_PRIV_FLAGS);
if (rc >= 0)
info.n_priv_flags = rc;
rc = ops->get_sset_count(dev, ETH_SS_NTUPLE_FILTERS);
if (rc >= 0)
info.n_ntuples = rc;
}
if (ops->get_regs_len)
info.regdump_len = ops->get_regs_len(dev);