mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
net: mvpp2: cls: Use the correct number of rules in various places
As of today, the classification offload implementation only supports 4 different rules to be offloaded. This number has been hardcoded in the rule insertion function, and the wrong define is being used elsewhere. Use the correct #define everywhere to make sure we always check for the correct number of rules. Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6dca9360a9
commit
ae8e1d5e56
3 changed files with 4 additions and 4 deletions
|
@ -923,7 +923,7 @@ struct mvpp2_port {
|
||||||
u32 indir[MVPP22_RSS_TABLE_ENTRIES];
|
u32 indir[MVPP22_RSS_TABLE_ENTRIES];
|
||||||
|
|
||||||
/* List of steering rules active on that port */
|
/* List of steering rules active on that port */
|
||||||
struct mvpp2_ethtool_fs *rfs_rules[MVPP2_N_RFS_RULES];
|
struct mvpp2_ethtool_fs *rfs_rules[MVPP2_N_RFS_ENTRIES_PER_FLOW];
|
||||||
int n_rfs_rules;
|
int n_rfs_rules;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1212,7 +1212,7 @@ int mvpp2_ethtool_cls_rule_get(struct mvpp2_port *port,
|
||||||
{
|
{
|
||||||
struct mvpp2_ethtool_fs *efs;
|
struct mvpp2_ethtool_fs *efs;
|
||||||
|
|
||||||
if (rxnfc->fs.location >= MVPP2_N_RFS_RULES)
|
if (rxnfc->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
efs = port->rfs_rules[rxnfc->fs.location];
|
efs = port->rfs_rules[rxnfc->fs.location];
|
||||||
|
@ -1232,7 +1232,7 @@ int mvpp2_ethtool_cls_rule_ins(struct mvpp2_port *port,
|
||||||
struct mvpp2_ethtool_fs *efs, *old_efs;
|
struct mvpp2_ethtool_fs *efs, *old_efs;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (info->fs.location >= 4 ||
|
if (info->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW ||
|
||||||
info->fs.location < 0)
|
info->fs.location < 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
|
|
@ -3956,7 +3956,7 @@ static int mvpp2_ethtool_get_rxnfc(struct net_device *dev,
|
||||||
ret = mvpp2_ethtool_cls_rule_get(port, info);
|
ret = mvpp2_ethtool_cls_rule_get(port, info);
|
||||||
break;
|
break;
|
||||||
case ETHTOOL_GRXCLSRLALL:
|
case ETHTOOL_GRXCLSRLALL:
|
||||||
for (i = 0; i < MVPP2_N_RFS_RULES; i++) {
|
for (i = 0; i < MVPP2_N_RFS_ENTRIES_PER_FLOW; i++) {
|
||||||
if (port->rfs_rules[i])
|
if (port->rfs_rules[i])
|
||||||
rules[loc++] = i;
|
rules[loc++] = i;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue