1. 26 Jul, 2011 1 commit
  2. 18 Jul, 2011 5 commits
  3. 23 Mar, 2011 6 commits
  4. 12 Jan, 2011 1 commit
    • Aleksey Senin's avatar
      IB/mlx4: Handle protocol field in multicast table · da995a8a
      Aleksey Senin authored
      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: default avatarAleksey Senin <alekseys@voltaire.com>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      da995a8a
  5. 25 Oct, 2010 4 commits
    • Eli Cohen's avatar
      IB/mlx4: Add VLAN support for IBoE · 4c3eb3ca
      Eli Cohen authored
      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: default avatarEli Cohen <eli@mellanox.co.il>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      4c3eb3ca
    • Eli Cohen's avatar
      IB/mlx4: Add support for IBoE · fa417f7b
      Eli Cohen authored
      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: default avatarEli 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: default avatarRoland Dreier <rolandd@cisco.com>
      fa417f7b
    • Eli Cohen's avatar
      mlx4_core: Update data structures and constants for IBoE · 96dfa684
      Eli Cohen authored
      Add fields to hardware data structures and add new constants required for IBoE
      support.
      Signed-off-by: default avatarEli Cohen <eli@mellanox.co.il>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      96dfa684
    • Eli Cohen's avatar
      mlx4_core: Allow protocol drivers to find corresponding interfaces · 33c87f0a
      Eli Cohen authored
      Add a mechanism for mlx4 protocol drivers to get a pointer to other
      drivers's device objects.  For this, an exported function,
      mlx4_get_protocol_dev() is added, which allows a driver to get some
      other driver's device based on the protocol that the driver
      implements.  Two protocols are added: MLX4_PROTOCOL_IB and
      MLX4_PROTOCOL_EN.
      
      This will be used in mlx4 IBoE support so that mlx4_ib can find the
      corresponding mlx4_en netdev.
      Signed-off-by: default avatarEli Cohen <eli@mellanox.co.il>
      
      [ Clean up and rename a few things.  - Roland ]
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      33c87f0a
  6. 23 Oct, 2010 1 commit
    • Jack Morgenstein's avatar
      IB/mlx4: Signal node desc changes to SM by using FW to generate trap 144 · d0d68b86
      Jack Morgenstein authored
      The Node Description cannot be changed via MADs (it is read-only).
      Until now, it was changed in the driver via sysfs, and the new Node
      Description was simply inserted by the driver into MAD responses
      (replacing the description returned by FW).
      
      System startup scripts use the sysfs interface to change the node
      description at driver startup to show the hostname, etc. However, this
      has a race condition: the SM could discover the original FW node
      description rather than the system-specific description if it queried the
      port before the startup scripts finish running.
      
      For mlx4, we fix this with a new FW command (SET_NODE) that allows
      passing the new node description to FW.  When this command is invoked,
      FW sends a trap 144 to the SM.  When it gets this trap, the SM can
      query the node to obtain the new node description -- thus eliminating
      the effects of the race.
      
      This patch simply calls SET_NODE command when a new node description
      is entered via sysfs (thus causing trap 144 to be issued by the FW).
      We ignore all failures of the SET_NODE command (including those caused
      by using a device FW that predates the SET_NODE command), since in
      that case things work just as before.
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      d0d68b86
  7. 11 Oct, 2010 1 commit
  8. 24 Aug, 2010 3 commits
  9. 21 Apr, 2010 1 commit
  10. 12 Nov, 2009 1 commit
    • Eli Cohen's avatar
      IB/mlx4: Remove limitation on LSO header size · 417608c2
      Eli Cohen authored
      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: default avatarEli Cohen <eli@mellanox.co.il>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      417608c2
  11. 05 Jun, 2009 1 commit
  12. 27 May, 2009 1 commit
  13. 18 Mar, 2009 1 commit
  14. 22 Dec, 2008 1 commit
  15. 28 Nov, 2008 1 commit
  16. 22 Oct, 2008 4 commits
  17. 10 Oct, 2008 1 commit
  18. 15 Sep, 2008 1 commit
  19. 06 Aug, 2008 1 commit
  20. 25 Jul, 2008 1 commit
  21. 23 Jul, 2008 1 commit
  22. 22 Jul, 2008 1 commit
  23. 15 Jul, 2008 1 commit