Skip to content
  • Bodong Wang's avatar
    net/mlx5: E-Switch, Load/unload VF reps according to event from host PF · a3888f33
    Bodong Wang authored
    
    
    When host PF changes the number of VFs, the ECPF esw driver will get
    a FW event. It should query the number of VFs enabled by host PF and
    update the VF reps accordingly. Note that host PF can't change the
    number of VFs dynamically, it has to reset the number of VFs to 0
    before changing to a new positive number.
    
    The host event is registered when driver is moving to switchdev mode,
    and it's the last step to do in esw_offloads_init. It's unregistered
    and the work queue is flushed when driver quits from switchdev mode.
    In this way, the host event and devlink command are serialized.
    
    When driver is enabling switchdev mode, pay attention to the following
    two facts:
    1. Host PF must not have VF initialized as the flow table in ECPF has
       ENCAP enabled as default. Such flow table can't be created with
       existing initialized VFs.
    2. ECPF doesn't know how many VFs the host PF will enable, ECPF
       offloads flow steering shall create the flow table/groups based on
       the max number of VFs possibly supported by host PF.
    
    Signed-off-by: default avatarBodong Wang <bodong@mellanox.com>
    Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    a3888f33