lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Mon, 09 Apr 2007 21:17:30 -0700
From:	Roland Dreier <>
Subject: RFC: "mlx4" drivers for Mellanox ConnectX HCAs

I'd like to announce preliminary versions of a set of "mlx4" drivers
for Mellanox's new ConnectX InfiniBand/10 gigabit ethernet adapters.
(These are Mellanox's 4th generation of adapters, hence the mlx4 name)
Because these adapters can operate as both an ethernet NIC and an
InfiniBand HCA (at the same time!), the driver is split up into three

    mlx4_core: Basic support for hardware, managing resources, sending
      commands to firmware, etc.  Lives in drivers/net/mlx4 (so that
      it gets built in a natural way for ethernet support, even if
      CONFIG_INFINIBAND=n) and exports its API in include/linux/mlx4.

    mlx4_ib: InfiniBand HCA driver, sits between the IB midlayer and
      mlx4_core.  Lives in drivers/infiniband/hw/mlx4.

    mlx4_eth: Ethernet NIC driver, sits between networking stack and
      mlx4_core.  Also lives in drivers/net/mlx4.  This is just a stub
      right now, because firmware support for ethernet mode is still
      too immature.

In fact, the ConnectX hardware has support for fibre channel stuff
too, so in the future there may also be an FC HBA driver layered on
top of mlx4_core as well.

I will post a full set of patches for review via email once I've had a
chance to clean things up and split things into reasonable sized
chunks (the full patch is > 300 KB right now), but for those who are
interested, you can grab the connectx branch of my infiniband.git tree:

    git:// connectx

I've also put this code in my for-mm branch, so it should appear in
the next -mm kernel whenever Andrew has time to get one out.

Any and all comments are appreciated; my current plan is to merge the
mlx4_core and mlx4_ib drivers for 2.6.22, and I hope that mlx4_eth
will be ready for 2.6.23.

I've tried to flag areas that are not fully implemented or still need
work, and there are quite a few places that need cleanup, but the
driver is at least able to run IP-over-InfiniBand and some basic
userspace direct access tests.

Speaking of direct access, a preliminary version of a userspace driver
that works with libibverbs is available from:


Thanks to the crew at Mellanox for lots of help with sample code and
debugging, as well as early access to the hardware!
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to
More majordomo info at

Powered by blists - more mailing lists