net: dsa: felix: add port mirroring support
Gain support for port mirroring using tc-matchall by forwarding the calls to the ocelot switch library. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
0148bb50b8
commit
5e49749768
@ -1650,6 +1650,24 @@ static void felix_port_policer_del(struct dsa_switch *ds, int port)
|
||||
ocelot_port_policer_del(ocelot, port);
|
||||
}
|
||||
|
||||
static int felix_port_mirror_add(struct dsa_switch *ds, int port,
|
||||
struct dsa_mall_mirror_tc_entry *mirror,
|
||||
bool ingress, struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ocelot *ocelot = ds->priv;
|
||||
|
||||
return ocelot_port_mirror_add(ocelot, port, mirror->to_local_port,
|
||||
ingress, extack);
|
||||
}
|
||||
|
||||
static void felix_port_mirror_del(struct dsa_switch *ds, int port,
|
||||
struct dsa_mall_mirror_tc_entry *mirror)
|
||||
{
|
||||
struct ocelot *ocelot = ds->priv;
|
||||
|
||||
ocelot_port_mirror_del(ocelot, port, mirror->ingress);
|
||||
}
|
||||
|
||||
static int felix_port_setup_tc(struct dsa_switch *ds, int port,
|
||||
enum tc_setup_type type,
|
||||
void *type_data)
|
||||
@ -1880,6 +1898,8 @@ const struct dsa_switch_ops felix_switch_ops = {
|
||||
.port_max_mtu = felix_get_max_mtu,
|
||||
.port_policer_add = felix_port_policer_add,
|
||||
.port_policer_del = felix_port_policer_del,
|
||||
.port_mirror_add = felix_port_mirror_add,
|
||||
.port_mirror_del = felix_port_mirror_del,
|
||||
.cls_flower_add = felix_cls_flower_add,
|
||||
.cls_flower_del = felix_cls_flower_del,
|
||||
.cls_flower_stats = felix_cls_flower_stats,
|
||||
|
Loading…
x
Reference in New Issue
Block a user