• Ido Schimmel's avatar
    mlxsw: spectrum_span: Do not overwrite policer configuration · b6f6881a
    Ido Schimmel authored
    The purpose of the delayed work in the SPAN module is to potentially
    update the destination port and various encapsulation parameters of SPAN
    agents that point to a VLAN device or a GRE tap. The destination port
    can change following the insertion of a new route, for example.
    
    SPAN agents that point to a physical port or the CPU port are static and
    never change throughout the lifetime of the SPAN agent. Therefore, skip
    over them in the delayed work.
    
    This fixes an issue where the delayed work overwrites the policer
    that was set on a SPAN agent pointing to the CPU. Modifying the delayed
    work to inherit the original policer configuration is error-prone, as
    the same will be needed for any new parameter.
    
    Fixes: 4039504e ("mlxsw: spectrum_span: Allow setting policer on a SPAN agent")
    Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    b6f6881a
spectrum_span.c 46.3 KB