Font Size: a A A

A Design And Implementation Of User Space Network Driver For Router Based On DPDK

Posted on:2019-05-21Degree:MasterType:Thesis
Country:ChinaCandidate:Y ZhangFull Text:PDF
GTID:2428330542496918Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Traditional router operating systems are mostly based on Linux depth customization.The operating environment of Linux operating system is divided into kernel space and user space.Programs running in kernel space have the highest right,which can do everything.Because of its importance and the 10 instruction for accessing hardware is a privileged instruction,traditional device drivers usually run in kernel space.While device drivers run in kernel space,which means device drivers have the same right as the operating system.Once a bug occurs in drivers,it may probably destroy the data structure of the kernel,and even the entire Linux system.Programs running in user space have the lowest right,the processor controls the directly accessing to the hardware and unauthorized memory accessing.Developing device drivers in user space can decrease the amount of code and enhance the stability of operating system.Moreover,the error of programs which run in user space generally do not crash the entire system,all we need to do is killing the bad process,and the entire system will be guaranteed to be safe.At the same time,user mode drivers are less dependent on the kernel and easy to update,and also easy to integrate third-party applications.DPDK(Data Plane Development Kit),introduced by Intel,and designed for general multi-core processor.DPDK implements many drivers of different kinds of network interface cards(NIC)mostly in user space.And DPDK got a large better performance than traditional device drivers.BCM5719(Broadcom 5719)is a NIC which has high quality and is cost-effective.And it is widely used in server and communication equipment.DPDK does not support this card yet.In this thesis,the framework that DPDK used to develop user space driver is analyzed,combining the performance optimization methods of NIC used in data plane processing,then the router user mode network driver is developed,specifically to BCM5719 Ethernet chip as an example.My driver has better performance than the driver which totally works in kernel space.The driver is composed of two parts,one is run in kernel space and the other is run in user space.The driver run in kernel space implements the responding and processing of interrupts.The driver runs in user mode implements NIC initialization,NIC configuration and creating forward tasks.The main work of this thesis is divided into three parts:1.Familiar with the current researches that are done by domestic and foreign researchers.In-depth analysis of the design and implementation of user space network card driver based on UIO(Userspace I/O)framework in DPDK.2.Take the traditional router network system BCM5719 Ethernet chip as an example.The initialization process,multi-queue data receive-transition process and interrupt process of BCM5719 is analyzed.The design and implementation of BCM5719 NIC driver that running in user space is done.3.The main means of NIC performance optimization,which include thread binding,non-locking data structure,polling and interrupt combination,are analyzed deeply.These means are used in NIC driver,which is implemented in this thesis.At last,we compared the performance,such as throughput is done between BCM5719 driver which is run totally in kernel mode and the driver implemented in this thesis.
Keywords/Search Tags:Router, DPDK, UIO, User Space Driver, NIC performance optimization
PDF Full Text Request
Related items