Skip to content
  • Parav Pandit's avatar
    net/mlx5: E-switch, Tide up eswitch config sequence · 5896b972
    Parav Pandit authored
    
    
    Currently for PF and ECPF vports, representors are created before
    their eswitch hardware ports are initialized in below flow.
    
    mlx5_eswitch_enable()
      esw_offloads_init()
        esw_offloads_load_all_reps()
    [..]
    esw_enable_vport()
    
    However for VFs, vports are initialized before creating their
    respective netdev represnetors in event handling context.
    
    Similarly while disabling eswitch, first hardware vports are disabled,
    followed by destroying their representors.
    Here while underlying vports gets destroyed but its respective user
    facing netdevice can still exist on which user can continue to perform
    more offload operations.
    
    Instead, its more accurate to do
    enable_eswitch switchdev mode:
    1. perform FDB tables initialization
    2. initialize hw vport
    3. create and publish representor for this vport
    
    disable_eswitch switchdev mode:
    1. destroy user facing representor for the vport
    2. disable hw vport
    3. perform FDB tables cleanup
    
    Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    5896b972