Hi, As I am adding support for cls_matchall in the b53/bcm_sf2 drivers, I was looking into several, yet unrelated things:
- mlxsw does not seem to specify whether the port used for capture remains usable, or blocks non-mirror traffic ingressing/egressing it, do we want a control knob for that? If not, what is a sensible default, block all non capture traffic? - do we have an updated man page for tc-matchall.8 that features how to use the statistical sampler too? b53 switches have a divider that allows us to select how many frames we want to receive (10 bit value). - b53 supports capture against a particular MAC SA or DA (or both), do we want to be able to control that somehow? What about Marvell switches, what can they do? - a fair amount of code dealing with the cls_matchall mirroring entry is not switch driver specific, in fact, the only things that are switch driver specific are: - list pointer where to store this entry (typically in the private network device context) - operation to check whether the device belongs to us (identical netdev_ops) - retrieval of the destination port number (to_port) which is also typically available in network device private context Do we want to move a fair amount of code into switchdev, treat cls_matchall entries as a specific switchdev object, and have drivers take over at the same level that mlxsw_sp_port_add_cls_matchall_mirror() currently starts? Thanks! -- Florian