i40e: Report cmd->data in ETHTOOL_GRXCLSRLCNT instead of ETHTOOL_GRXCLSRULE
Based on review feedback from upstream cmd->data is not defined in ETHTOOL_GRXCLSRULE but needs to be reported in ETHTOOL_GRXCLSRLCNT. Also use a helper function to calculate the total filter count. Change-ID: Iaacbf729527b73290c4fdad837b379b44fd7dd20 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Jim Young <jamesx.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
b2d36c03ef
commit
082def103d
2 changed files with 12 additions and 6 deletions
|
@ -534,6 +534,15 @@ static inline bool i40e_rx_is_programming_status(u64 qw)
|
|||
(qw >> I40E_RX_PROG_STATUS_DESC_LENGTH_SHIFT);
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_get_fd_cnt_all - get the total FD filter space available
|
||||
* @pf: pointer to the pf struct
|
||||
**/
|
||||
static inline int i40e_get_fd_cnt_all(struct i40e_pf *pf)
|
||||
{
|
||||
return pf->hw.fdir_shared_filter_count + pf->fdir_pf_filter_count;
|
||||
}
|
||||
|
||||
/* needed by i40e_ethtool.c */
|
||||
int i40e_up(struct i40e_vsi *vsi);
|
||||
void i40e_down(struct i40e_vsi *vsi);
|
||||
|
|
|
@ -1131,8 +1131,7 @@ static int i40e_get_ethtool_fdir_all(struct i40e_pf *pf,
|
|||
int cnt = 0;
|
||||
|
||||
/* report total rule count */
|
||||
cmd->data = pf->hw.fdir_shared_filter_count +
|
||||
pf->fdir_pf_filter_count;
|
||||
cmd->data = i40e_get_fd_cnt_all(pf);
|
||||
|
||||
hlist_for_each_entry_safe(rule, node2,
|
||||
&pf->fdir_filter_list, fdir_node) {
|
||||
|
@ -1166,10 +1165,6 @@ static int i40e_get_ethtool_fdir_entry(struct i40e_pf *pf,
|
|||
struct i40e_fdir_filter *rule = NULL;
|
||||
struct hlist_node *node2;
|
||||
|
||||
/* report total rule count */
|
||||
cmd->data = pf->hw.fdir_shared_filter_count +
|
||||
pf->fdir_pf_filter_count;
|
||||
|
||||
hlist_for_each_entry_safe(rule, node2,
|
||||
&pf->fdir_filter_list, fdir_node) {
|
||||
if (fsp->location <= rule->fd_id)
|
||||
|
@ -1220,6 +1215,8 @@ static int i40e_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd,
|
|||
break;
|
||||
case ETHTOOL_GRXCLSRLCNT:
|
||||
cmd->rule_cnt = pf->fdir_pf_active_filters;
|
||||
/* report total rule count */
|
||||
cmd->data = i40e_get_fd_cnt_all(pf);
|
||||
ret = 0;
|
||||
break;
|
||||
case ETHTOOL_GRXCLSRULE:
|
||||
|
|
Loading…
Reference in a new issue