1. 18 8月, 2016 2 次提交
  2. 17 8月, 2016 1 次提交
  3. 14 8月, 2016 1 次提交
  4. 26 7月, 2016 1 次提交
  5. 14 7月, 2016 2 次提交
  6. 03 7月, 2016 6 次提交
    • H
      net/mlx5e: Introduce SRIOV VF representors · cb67b832
      Hadar Hen Zion 提交于
      Implement the relevant profile functions to create mlx5e driver instance
      serving as VF representor. When SRIOV offloads mode is enabled, each VF
      will have a representor netdevice instance on the host.
      
      To do that, we also export set of shared service functions from en_main.c,
      such that they can be used by both NIC and repsresentors netdevs.
      
      The newly created representor netdevice has a basic set of net_device_ops
      which are the same ndo functions as the NIC netdevice and an ndo of it's
      own for phys port name.
      
      The profiling infrastructure allow sharing code between the NIC and the
      vport representor even though the representor has only a subset of the
      NIC functionality.
      
      The VF reps and the PF which is used in that mode to represent the uplink,
      expose switchdev ops. Currently the only op supposed is attr get for the
      port parent ID which here serves to identify net-devices belonging to the
      same HW E-Switch. Other than that, no offloading is implemented and hence
      switching functionality is achieved if one sets SW switching rules, e.g
      using tc, bridge or ovs.
      
      Port phys name (ndo_get_phys_port_name) is implemented to allow exporting
      to user-space the VF vport number and along with the switchdev port parent
      id (phys_switch_id) enable a udev base consistent naming scheme:
      
      SUBSYSTEM=="net", ACTION=="add", ATTR{phys_switch_id}=="<phys_switch_id>", \
              ATTR{phys_port_name}!="", NAME="$PF_NIC$attr{phys_port_name}"
      
      where phys_switch_id is exposed by the PF (and VF reps) and $PF_NIC is
      the name of the PF netdevice.
      Signed-off-by: NHadar Hen Zion <hadarh@mellanox.com>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cb67b832
    • H
      net/mlx5: Add Representors registration API · 127ea380
      Hadar Hen Zion 提交于
      Introduce E-Switch registration/unregister representors functions.
      
      Those functions are called by the mlx5e driver when the PF NIC is
      created upon pci probe action regardless of the E-Switch mode (NONE,
      LEGACY or OFFLOADS).
      
      Adding basic E-Switch database that will hold the vport represntors
      upon creation.
      
      This patch doesn't add any new functionality.
      Signed-off-by: NHadar Hen Zion <hadarh@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      127ea380
    • H
      net/mlx5e: Add support for multiple profiles · 6bfd390b
      Hadar Hen Zion 提交于
      To allow support in representor netdevices where we create more than one
      netdevice per NIC, add profiles to the mlx5e driver. The profiling
      allows for creation of mlx5e instances with different characteristics.
      
      Each profile implements its own behavior using set of function pointers
      defined in struct mlx5e_profile. This is done to allow for avoiding complex
      per profix branching in the code.
      
      Currently only the profile for the conventional NIC is implemented,
      which is of use when a netdev is created upon pci probe.
      
      This patch doesn't add any new functionality.
      Signed-off-by: NHadar Hen Zion <hadarh@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6bfd390b
    • H
      net/mlx5e: Mark enabled RQTs instances explicitly · 398f3351
      Hadar Hen Zion 提交于
      In the current driver implementation two types of receive queue
      tables (RQTs) are in use - direct and indirect.
      
      Change the driver to mark each new created RQT (direct or indirect)
      as "enabled". This behaviour is needed for introducing new mlx5e
      instances which serve to represent SRIOV VFs.
      
      The VF representors will have only one type of RQTs (direct).
      
      An "enabled" flag is added to each RQT to allow better handling
      and code sharing between the representors and the nic netdevices.
      
      This patch doesn't add any new functionality.
      Signed-off-by: NHadar Hen Zion <hadarh@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      398f3351
    • H
      net/mlx5e: TIRs management refactoring · 724b2aa1
      Hadar Hen Zion 提交于
      The current refresh tirs self loopback mechanism, refreshes all the tirs
      belonging to the same mlx5e instance to prevent self loopback by packets
      sent over any ring of that instance. This mechanism relies on all the
      tirs/tises of an instance to be created with the same transport domain
      number (tdn).
      
      Change the driver to refresh all the tirs created under the same tdn
      regardless of which mlx5e netdev instance they belong to.
      
      This behaviour is needed for introducing new mlx5e instances which serve
      to represent SRIOV VFs. The representors and the PF share vport used for
      E-Switch management, and we want to avoid NIC level HW loopback between
      them, e.g when sending broadcast packets. To achieve that, both the
      representors and the PF NIC will share the tdn.
      
      This patch doesn't add any new functionality.
      Signed-off-by: NHadar Hen Zion <hadarh@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      724b2aa1
    • H
      net/mlx5e: Create NIC global resources only once · b50d292b
      Hadar Hen Zion 提交于
      To allow creating more than one netdev over the same PCI function, we
      change the driver such that global NIC resources are created once and
      later be shared amongst all the mlx5e netdevs running over that port.
      
      Move the CQ UAR, PD (pdn), Transport Domain (tdn), MKey resources from
      being kept in the mlx5e priv part to a new resources structure
      (mlx5e_resources) placed under the mlx5_core device.
      
      This patch doesn't add any new functionality.
      Signed-off-by: NHadar Hen Zion <hadarh@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b50d292b
  7. 01 7月, 2016 5 次提交
  8. 29 6月, 2016 3 次提交
  9. 27 6月, 2016 4 次提交
  10. 18 6月, 2016 1 次提交
  11. 10 6月, 2016 1 次提交
  12. 17 5月, 2016 1 次提交
  13. 12 5月, 2016 3 次提交
  14. 10 5月, 2016 1 次提交
  15. 09 5月, 2016 1 次提交
  16. 05 5月, 2016 4 次提交
  17. 04 5月, 2016 2 次提交
  18. 30 4月, 2016 1 次提交