mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
net: dsa: pass extack to dsa_switch_ops :: port_policer_add()
Drivers might have error messages to propagate to user space. Propagate the netlink extack so that they can inform user space in a verbal way of their limitations. Make the according transformations to the two users (sja1105 and felix). Signed-off-by: David Yang <mmyangfl@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://patch.msgid.link/20260430114529.3536911-2-mmyangfl@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
c8300af614
commit
09e4d1298b
|
|
@ -2001,7 +2001,8 @@ static int felix_cls_flower_stats(struct dsa_switch *ds, int port,
|
|||
}
|
||||
|
||||
static int felix_port_policer_add(struct dsa_switch *ds, int port,
|
||||
const struct flow_action_police *policer)
|
||||
const struct flow_action_police *policer,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ocelot *ocelot = ds->priv;
|
||||
struct ocelot_policer pol = {
|
||||
|
|
|
|||
|
|
@ -2847,7 +2847,8 @@ static void sja1105_mirror_del(struct dsa_switch *ds, int port,
|
|||
}
|
||||
|
||||
static int sja1105_port_policer_add(struct dsa_switch *ds, int port,
|
||||
const struct flow_action_police *policer)
|
||||
const struct flow_action_police *policer,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct sja1105_l2_policing_entry *policing;
|
||||
struct sja1105_private *priv = ds->priv;
|
||||
|
|
|
|||
|
|
@ -1122,7 +1122,8 @@ struct dsa_switch_ops {
|
|||
void (*port_mirror_del)(struct dsa_switch *ds, int port,
|
||||
struct dsa_mall_mirror_tc_entry *mirror);
|
||||
int (*port_policer_add)(struct dsa_switch *ds, int port,
|
||||
const struct flow_action_police *policer);
|
||||
const struct flow_action_police *policer,
|
||||
struct netlink_ext_ack *extack);
|
||||
void (*port_policer_del)(struct dsa_switch *ds, int port);
|
||||
int (*port_setup_tc)(struct dsa_switch *ds, int port,
|
||||
enum tc_setup_type type, void *type_data);
|
||||
|
|
|
|||
|
|
@ -1499,7 +1499,7 @@ dsa_user_add_cls_matchall_police(struct net_device *dev,
|
|||
policer = &mall_tc_entry->policer;
|
||||
*policer = act->police;
|
||||
|
||||
err = ds->ops->port_policer_add(ds, dp->index, policer);
|
||||
err = ds->ops->port_policer_add(ds, dp->index, policer, extack);
|
||||
if (err) {
|
||||
kfree(mall_tc_entry);
|
||||
return err;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user