diff options
author | Iwan R Timmer <irtimmer@gmail.com> | 2019-11-07 22:11:14 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-11 12:51:03 -0800 |
commit | f0942e00a1abb6404ca4302c66497fc623676c11 (patch) | |
tree | 2da4d3d9234e528b053c147d41d8f4ff5c8c86e2 /drivers/net/dsa/mv88e6xxx/port.h | |
parent | net: dsa: mv88e6xxx: Split monitor port configuration (diff) | |
download | linux-dev-f0942e00a1abb6404ca4302c66497fc623676c11.tar.xz linux-dev-f0942e00a1abb6404ca4302c66497fc623676c11.zip |
net: dsa: mv88e6xxx: Add support for port mirroring
Add support for configuring port mirroring through the cls_matchall
classifier. We do a full ingress and/or egress capture towards a
capture port. It allows setting a different capture port for ingress
and egress traffic.
It keeps track of the mirrored ports and the destination ports to
prevent changes to the capture port while other ports are being
mirrored.
Signed-off-by: Iwan R Timmer <irtimmer@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/port.h')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx/port.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/port.h b/drivers/net/dsa/mv88e6xxx/port.h index 03a480cd71b9..0ec4327c2b42 100644 --- a/drivers/net/dsa/mv88e6xxx/port.h +++ b/drivers/net/dsa/mv88e6xxx/port.h @@ -368,6 +368,9 @@ int mv88e6352_port_link_state(struct mv88e6xxx_chip *chip, int port, int mv88e6xxx_port_set_map_da(struct mv88e6xxx_chip *chip, int port); int mv88e6095_port_set_upstream_port(struct mv88e6xxx_chip *chip, int port, int upstream_port); +int mv88e6xxx_port_set_mirror(struct mv88e6xxx_chip *chip, int port, + enum mv88e6xxx_egress_direction direction, + bool mirror); int mv88e6xxx_port_disable_learn_limit(struct mv88e6xxx_chip *chip, int port); int mv88e6xxx_port_disable_pri_override(struct mv88e6xxx_chip *chip, int port); |