Linux Network Device Drivers

Linux network device drivers
  • Soujanya
  • 8 (Registered)
  • (3 Reviews)


This training is targeted primarily at software professionals – tech leads, system programmers / developers, maintainers and testers – who would like to delve much deeper into the internal functioning of the Linux Network device driver. It ten looks at the Linux Network Stack followed by a flow of network packet. Overall an hands on demonstration and a code walk though of the driver.
Throughout, professional / industry best practices are taught and encouraged.

 Duration :
1 Day or 8 hours


It is very important that the prerequisite(s) marked as Mandatory below be met by all participants intending to attend this training, either by having successfully attended a training program (mentioned below), or having the equivalent knowledge / skill sets.


  • Good working knowledge of and experience programming using the ‘C’
  • Participants should have knowledge of Linux library and system calls usage, basic Linux kernel internals and preferably, essential Linux device drivers programming.

 Optional / Advantageous:

  • Extensive user-space development experience on a POSIX

Course Details:

  •  Linux Network Stack – Essential Details
  • Network Encapsulation
  • Quick Note on TCP/IP Protocols
  • Socket Buffers (SKBs)
  • Motivation
  • Data Structure
  • Usage
  • Linux Network Stack – The Flow of a Network Packet
  • Transmit Path Processing
  • Background Information – TCP Transmit Engine
  • L5 Session layer – Sockets
  • L4 Transport layer – TCP
  • L3 Network layer – IPv4
  • L2 Link layer – Ethernet
  • Receive Path Processing
  • Background Information – NIC Driver & Queues
  • L2 Link layer – Ethernet
  • L3 Network layer – ARP, IPv4
  • L4 Transport layer – TCP
  • L5 Session layer – Sockets.
  • Network (NIC) Device Drivers
  • Background Information
  • Network Encapsulation
  • Network Interface
  • Network device drivers
  • An interface between Linux kernel and device driver
  • Operation scenario
  • Linux Network Subsystem
  •  Socket Buffers (SKBs)
  • SIDEBAR :: Socket Buffer (De)Allocation
  • Driver Data Structures
  • Socket Buffers
  • The Net Device Interface
  • Probing
  • MII Interface
  • USB Interface
  • Data Transfer
  • Misc: Watchdog / Statistics / Configuration / Bus Specific
  • Talking with Protocol Layers
  • Receive Path
  • Transmit Path
  • Flow Control
  • Buffer Management and Concurrency Control
  • DMA
  • Mapping Types
  • Consistent DMA
  • Streaming DMA
  • Using Consistent DMA Mappings
  • Using Streaming DMA Mappings
  • Example Code.
  • Device Example: Ethernet NIC
  • An Ethernet NIC Driver
  • A simple “virtual ethernet” Network Device Driver
  • Code walk-through and demo
  • A look at why Time matters
  • Network ‘numbers’
  • Overview: Debugging tools, debugfs.

Enroll Now

Course Content

Time: 3 days

Curriculum is empty



3 rating

5 stars
4 stars
3 stars
2 stars
1 star
  • Akshaya Patil

    Very engaging presentation with lots of opportunity to learn.

    I feel very good about my skills in Linux system programming. The lab exercises are well developed and in increasing difficulty order, so that the student can build confidence with moderate exercises before going to more challenging ones. I strongly recommend this course to anyone interested in this programming.
  • Safaraz A

    The whole topics were just great! I found it all to be just right.

    My technical skills improved after completion of Linux Network Device Driver course with the great assistance of eAge Technologies. I got a clear cut understanding. The course was very helpful and useful.
  • Ramchandran M

    It is great place to learn

    The best training company to learn and develop your technical skills. The trainer is much experienced and will make everything very easier for you to learn. Assignments and tests for each module have helped me a lot to understand and clear the concepts.

Customized, Immersive, Hands-On Driven


  • Real time virtual classes
  • Pre course reading material
  • Suppliment resources
  • Language: English
  • Certificate of completion

Enroll Now

Your Dream Course Is Only A Step Away

Your Dream Course Is Only A Step Away

Your Dream Course Is Only A Step Away