Real Time Linux Workshops
1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015
14th Real Time Linux Workshop, October 18 to 20, 2012 at the Department of Computer Science, University of North Carolina at Chapel Hill
Announcement - Call for papers (ASCII) - Hotels - Directions - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Sponsors - Gallery
Design and Implementation of a Userspace Net Card Driver
Honggang Yang, Distributed and Embedded System Lab School of Information Science and Engineering Lanzhou University, China
Nicholas McGuire, Distributed and Embedded System Lab School of Information Science and Engineering Lanzhou University, China
In safety-critical area, if a application relies on the Linux kernel network stack, the entire Linux kernel network stack has to be verified, because it is a safety-related part. Since the network subsystem is one of the largest kernel components, its complexity makes the verification work very difficult. However, in practice, we often only need simple receive and transmit operations. So we can implement a userspace network driver based on the UIO framework of the Linux kernel which can bypass the Linux kernel network stack, but also meet our requirements. This will greatly simplify our safety certification work. Meanwhile, there are other advantages. The userspace driver error will never crash the kernel, and the maintenance of the userspace driver is easier than the in-kernel one, for example. This article introduces the design and implementation of a userspace RTL8139 network card driver.