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!

Reply via email to