I directly contributed to the codebase or have been involved in the following project:

oops..it is supposed to be my photo here!!

The NetFPGA is a line-rate, flexible, and open platform for research, and classroom experimentation. More than 2,000 NetFPGA systems have been deployed at over 150 institutions in over 40 countries around the world. The new NetFPGA-SUME is an FPGA-based PCI Express board with I/O capabilities for 10 and 100 Gbps operation, an x8 gen3 PCIe adapter card incorporating Xilinx’s Virtex-7 690T FPGA.

oops..it is supposed to be my photo here!!

OSNT is an open-source hardware traffic generator and capture system built on top of NetFPGA. Originally designed for the research and teaching community, its key design goals were low cost, high-precision timestamping and packet transmission, as well as scalability. This work has been also used as the platform for testing complex OpenFlow based designs, by integrating OSNT with OFLOPS in OFLOPS-SUME.


ClassBench-ng is a tool, based on the well-known Classbench for generation of synthetic classification rule sets. ClassBench-ng can successfully generate synthetic IPv4, IPv6, and OpenFlow 1.0 rule sets exposing the same properties of real ones.


pcie-bench is a combination of micro-benchmarks that systematically measures aspects of performance for both a device's DMA engines and, more crucially, the PCIe root complex. Using pcie-bench, it is possible to characterize (i.e., latency and throughput) the PCIe subsystem in modern servers when DDIO, NUMA or IOMMU are enabled. Currently pcie-bench is supported on both Netronome and NetFPGA boards.

oops..it is supposed to be my photo here!!

NDP is a transport protocol for datacenter networks that allows to simultaneously achieve both low delay and high throughput. NDP has no connection setup handshake, and allows flows to start sending instantly at full rate. We use per-packet multipath load balancing, which avoids core networkccongestion at the expense of reordering, and in switches we use a similar approach to Cut Payload (CP), which trims the payloads of packets when a switch queue fills. This produces a network that is lossless for metadata, but not for traffic payloads.