Skip to content
hwanju edited this page Oct 13, 2014 · 4 revisions

The OSNT driver, located in OSNT/code/osnt_sw/driver, is a Linux driver for the new DMA engine (DMA v2.00). This driver is originally for kernel networking interface (i.e., skb), but also provides simple kernel-bypassing interfaces, by which a user application can directly receive incoming packets from DMA buffer. Currently, all user-kernel interfaces have been implemented as ioctl system calls. One thing to note is that a user-level application that wants to receive directly from DMA takes responsibility for interpreting the packets packed in a DMA buffer. The available APIs are all defined in nf10_lbuf_api.h, so that any application can include it to parse incoming packets. For more understandings, you can refer to OSNT user-level software (e.g., monitor) written using the APIs. This driver implementation is on an early stage under active development and this version is capable of high-throughput packet reception (transmission is not 100% implemented nor optimized in the current version of DMA/driver). The DMA/driver is being developed for the Network as a Service (NaaS) research project. If you are interested, please refer to https://github.com/NetFPGA-NewNIC.