1. 24 3月, 2011 3 次提交
  2. 13 1月, 2011 1 次提交
    • A
      IB/mlx4: Handle protocol field in multicast table · da995a8a
      Aleksey Senin 提交于
      The newest device firmware stores IB vs. Ethernet protocol in two bits
      in members_count field of multicast group table (0: Infiniband, 1:
      Ethernet).  When changing the QP members count for a multicast group,
      it important not to reset this information.  When calling multicast
      attach first time, the protocol type should be specified.  In this
      patch we always set it IB, but in the future we will handle Ethernet
      too.  When looking for a QP, the protocol type shoud be checked too.
      Signed-off-by: NAleksey Senin <alekseys@voltaire.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      da995a8a
  3. 26 10月, 2010 3 次提交
    • E
      IB/mlx4: Add VLAN support for IBoE · 4c3eb3ca
      Eli Cohen 提交于
      This patch allows IBoE traffic to be encapsulated in 802.1Q tagged
      VLAN frames.  The VLAN tag is encoded in the GID and derived from it
      by a simple computation.
      
      The netdev notifier callback is modified to catch VLAN device
      addition/removal and the port's GID table is updated to reflect the
      change, so that for each netdevice there is an entry in the GID table.
      When the port's GID table is exhausted, GID entries will not be added.
      Only children of the main interfaces can add to the GID table; if a
      VLAN interface is added on another VLAN interface (e.g. "vconfig add
      eth2.6 8"), then that interfaces will not add an entry to the GID
      table.
      Signed-off-by: NEli Cohen <eli@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      4c3eb3ca
    • E
      IB/mlx4: Add support for IBoE · fa417f7b
      Eli Cohen 提交于
      Add support for IBoE to mlx4_ib.  The bulk of the code is handling the
      new address vector fields; mlx4 needs the MAC address of a remote node
      to include it in a WQE (for datagrams) or in the QP context (for
      connected QPs).  Address resolution is done by assuming all unicast
      GIDs are either link-local IPv6 addresses.
      
      Multicast group attach/detach needs to update the NIC's multicast
      filters; but since attaching a QP to a multicast group can be done
      before the QP is bound to a port, for IBoE we need to keep track of
      all multicast groups that a QP is attached too before it transitions
      from INIT to RTR (since it does not have a port in the INIT state).
      Signed-off-by: NEli Cohen <eli@mellanox.co.il>
      
      [ Many things cleaned up and otherwise monkeyed with; hope I didn't
        introduce too many bugs.  - Roland ]
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      fa417f7b
    • E
      mlx4_core: Update data structures and constants for IBoE · 96dfa684
      Eli Cohen 提交于
      Add fields to hardware data structures and add new constants required for IBoE
      support.
      Signed-off-by: NEli Cohen <eli@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      96dfa684
  4. 12 10月, 2010 1 次提交
  5. 25 8月, 2010 3 次提交
  6. 22 4月, 2010 1 次提交
  7. 13 11月, 2009 1 次提交
    • E
      IB/mlx4: Remove limitation on LSO header size · 417608c2
      Eli Cohen 提交于
      Current code has a limitation: an LSO header is not allowed to cross a
      64 byte boundary.  This patch removes this limitation by setting the
      WQE RR for large headers thus allowing LSO headers of any size.  The
      extra buffer reserved for MLX4_IB_QP_LSO QPs has been doubled, from 64
      to 128 bytes, assuming this is reasonable upper limit for header
      length.  Also, this patch will cause IB_DEVICE_UD_TSO to be set only
      for HCA FW versions that set MLX4_DEV_CAP_FLAG_BLH; e.g. FW version
      2.6.000 and higher.
      Signed-off-by: NEli Cohen <eli@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      417608c2
  8. 28 5月, 2009 1 次提交
  9. 19 3月, 2009 1 次提交
  10. 22 12月, 2008 1 次提交
  11. 29 11月, 2008 1 次提交
  12. 23 10月, 2008 4 次提交
  13. 11 10月, 2008 1 次提交
  14. 16 9月, 2008 1 次提交
  15. 23 7月, 2008 1 次提交
  16. 15 7月, 2008 1 次提交
  17. 30 4月, 2008 1 次提交
  18. 26 4月, 2008 1 次提交
  19. 24 4月, 2008 1 次提交
  20. 17 4月, 2008 1 次提交
  21. 09 2月, 2008 1 次提交
    • J
      IB/mlx4: Use multiple WQ blocks to post smaller send WQEs · ea54b10c
      Jack Morgenstein 提交于
      ConnectX HCA supports shrinking WQEs, so that a single work request
      can be made of multiple units of wqe_shift.  This way, WRs can differ
      in size, and do not have to be a power of 2 in size, saving memory and
      speeding up send WR posting.  Unfortunately, if we do this then the
      wqe_index field in CQEs can't be used to look up the WR ID anymore, so
      our implementation does this only if selective signaling is off.
      
      Further, on 32-bit platforms, we can't use vmap() to make the QP
      buffer virtually contigious. Thus we have to use constant-sized WRs to
      make sure a WR is always fully within a single page-sized chunk.
      
      Finally, we use WRs with the NOP opcode to avoid wrapping around the
      queue buffer in the middle of posting a WR, and we set the
      NoErrorCompletion bit to avoid getting completions with error for NOP
      WRs.  However, NEC is only supported starting with firmware 2.2.232,
      so we use constant-sized WRs for older firmware.  And, since MLX QPs
      only support SEND, we use constant-sized WRs in this case.
      
      When stamping during NOP posting, do stamping following setting of the
      NOP WQE valid bit.
      Signed-off-by: NMichael S. Tsirkin <mst@dev.mellanox.co.il>
      Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      ea54b10c
  22. 07 2月, 2008 3 次提交
  23. 10 10月, 2007 2 次提交
  24. 13 7月, 2007 1 次提交
  25. 10 7月, 2007 1 次提交
  26. 18 6月, 2007 1 次提交
    • R
      IB/mlx4: Handle FW command interface rev 3 · 5ae2a7a8
      Roland Dreier 提交于
      Upcoming firmware introduces command interface revision 3, which
      changes the way port capabilities are queried and set.  Update the
      driver to handle both the new and old command interfaces by adding a
      new MLX4_FLAG_OLD_PORT_CMDS that it is set after querying the firmware
      interface revision and then using the correct interface based on the
      setting of the flag.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      5ae2a7a8
  27. 09 5月, 2007 1 次提交
    • R
      IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters · 225c7b1f
      Roland Dreier 提交于
      Add an InfiniBand driver for Mellanox ConnectX adapters.  Because
      these adapters can also be used as ethernet NICs and Fibre Channel 
      HBAs, the driver is split into two modules: 
       
        mlx4_core: Handles low-level things like device initialization and 
          processing firmware commands.  Also controls resource allocation 
          so that the InfiniBand, ethernet and FC functions can share a 
          device without stepping on each other. 
       
        mlx4_ib: Handles InfiniBand-specific things; plugs into the 
          InfiniBand midlayer. 
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      225c7b1f