<story><title>Corundum: Open-source, high performance, FPGA-based NIC</title><url>https://github.com/ucsdsysnet/corundum</url></story><parent_chain></parent_chain><comment><author>sebastianconcpt</author><text>&lt;i&gt;Corundum is an open-source, high-performance FPGA-based NIC. Features include a high performance datapath, 10G&amp;#x2F;25G&amp;#x2F;100G Ethernet, PCI express gen 3, a custom, high performance, tightly-integrated PCIe DMA engine, many (1000+) transmit, receive, completion, and event queues, MSI interrupts, multiple interfaces, multiple ports per interface, per-port transmit scheduling including high precision TDMA, flow hashing, RSS, checksum offloading, and native IEEE 1588 PTP timestamping. A Linux driver is included that integrates with the Linux networking stack. Development and debugging is facilitated by an extensive simulation framework that covers the entire system from a simulation model of the driver and PCI express interface on one side to the Ethernet interfaces on the other side.&lt;p&gt;Corundum has several unique architectural features. First, transmit, receive, completion, and event queue states are stored efficiently in block RAM or ultra RAM, enabling support for thousands of individually-controllable queues. These queues are associated with interfaces, and each interface can have multiple ports, each with its own independent scheduler. This enables extremely fine-grained control over packet transmission. Coupled with PTP time synchronization, this enables high precision TDMA.&lt;/i&gt;</text></comment>
<story><title>Corundum: Open-source, high performance, FPGA-based NIC</title><url>https://github.com/ucsdsysnet/corundum</url></story><parent_chain></parent_chain><comment><author>jdsnape</author><text>I&amp;#x27;ve used NetFPGA (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;netfpga.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;netfpga.org&amp;#x2F;&lt;/a&gt; ) before which seems a little more complete, will be interesting to see how this compares.</text></comment>