Home - jonmason/ntb GitHub Wiki

OVERVIEW

The PCI-E Non-transparent bridge hardware is in general N-N PCI-E bus connecting at least 2 systems. When configured, writes to the device's PCI mapped memory will be mirrored to a memory buffer on the remote system. The maximum size of this "memory window" is configured either via BIOS (Intel/AMD) or via EEPROM firmware or via run-time register settings (IDT/Switchtec/PLX). Number of PCI-E lanes used in the bus can also be configured via BIOS for hardware like Intel/AMD. The NTB Linux driver uses this communication infrastructure as a method to transfer data from one system to the other. A number of virtual device drivers has been and will be developed to take advantage of NTB's communication and make it more usable to end users. For example, a virtual network driver has been developed to transfer Ethernet frames, and thus TCP/IP packets, to the remote system. This enables the user to run network applications, such as NFS or DRBD, and communicate with the remote system.

NTB hardware:

Intel® processors with integrated NTB:

  • Intel® Xeon® Processor C5500/C3500 Series
  • Intel® Xeon® Processor E5 Series
  • Intel® Xeon® Processor E5v2 Series
  • Intel® Xeon® Processor E5v3 Series
  • Intel® Atom™ Processor S1200 series

Intel® systems/motherboards with NTB enabled:

IDT® PCIe switches with available NTB function:

  • IDT® 89HPES8NT2, 89HPES16NT2, 89HPES16NT2, 89HPES12NT3, 89HPES24NT3 series (unsupported at the moment)
  • IDT® 89HPES24NT6, 89HPES32NT8, 89HPES12NT12, 89HPES16NT16, 89HPES24NT24, 89HPES32NT24 series (supports up to 8 NTB endpoints)

IDT® system boards with NTB enabled:

NTB Hardware documentation

How do I tell if I have one?

`lspci` should something an endpoint, similar to:

00:03.0 Bridge: Intel Corporation Sandy Bridge Non-Transparent Bridge (rev 06)
03:00.1 PCI bridge: Integrated Device Technology, Inc. [IDT] PES32NT8AG2 (rev 02)

If you don't see this and have one of the above processors/chip, then it is most likely either not enabled in the BIOS or via chip settings.

Linux NTB HOWTO build and install

Linux NTB HOWTO test

Intel NTB Linux Startup Guide