From: Ido Schimmel <[email protected]> Date: Thu, 30 Apr 2020 20:01:07 +0300
> Switched port analyzer (SPAN) is used for packet mirroring. Over mlxsw > this is achieved by attaching tc-mirred action to either matchall or > flower classifier. > > The current API used to configure SPAN consists of two functions: > mlxsw_sp_span_mirror_add() and mlxsw_sp_span_mirror_del(). > > These two functions pack a lot of different operations: > > * SPAN agent configuration: Determining the egress port and optional > headers that need to encapsulate the mirrored packet (when mirroring > to a gretap, for example) > > * Egress mirror buffer configuration: Allocating / freeing a buffer when > port is analyzed (inspected) at egress > > * SPAN agent binding: Binding the SPAN agent to a trigger, if any. The > current triggers are incoming / outgoing packet and they are only used > for matchall-based mirroring > > This non-modular design makes it difficult to extend the API for future > changes, such as new mirror targets (CPU) and new global triggers (early > dropped packets, for example). > > Therefore, this patch set gradually adds APIs for above mentioned > operations and then converts the two existing users to use it instead of > the old API. No functional changes intended. Tested with existing > mirroring selftests. > > Patch set overview: > > Patches #1-#5 gradually add the new API > Patches #6-#8 convert existing users to use the new API > Patch #9 removes the old API Looks good, series applied, thanks!
