Disclosure: when you buy through links on our site, we may earn an affiliate commission.

Linux Kernel Programming – IPC b/w Userspace and KernelSpace

System Programming - Learn Netlink Sockets, Operating Systems, Loadable Kernel Modules, C programming From Scratch
(122 reviews)
1,222 students
Created by


CourseMarks Score®







Platform: Udemy
Video: 2h 48m
Language: English
Next start: On Demand

Table of contents


Welcome to the Linux Kernel Programming world! This is the course on Netlink Sockets in which I have covered Netlink Sockets in Detail which is a kernel facility provided to userspace applications to carry out bidirectional IPC with kernel space. In this course, We shall learn how Netlink Sockets can be used to exchange Netlink Messages between Kernel and Userspace.

This Course could also be your first step towards entering the kernel programming world !! This is a good starting point for those who will be writing kernel code for the first time. We shall be writing lots of lots of kernel and userspace code to understand Netlink Based communication. Need-less to say you should be good with C programming.

Table Of Contents :

•Section 1: Setting Up Development Environment

•Agenda, Pre-requiste, Assumption
•How to do Kernel Programming based Courses ?
•Setting up Development Environment
•Installing Linux Kernel Headers

•Section 2: Writing Linux Kernel Modules

•What are LKMs ?
•Hellow-World LKM

•Section 3: Understanding Netlink Sockets

•Communication Mediums in the System
•Sockets – As a unified interface
•Netlink Communication Use-Cases
•The Netlink Project for the Course

•Section 4: Netlink Communication – Theory before Coding

•Netlink Msg formats
•Netlink Msg types
•Netlink Msg flags                                              
•Netlink Communication Model
•Netlink Sequence Number
•Netlink Port ID                                           

•Section 5 & 6: Writing a First Netlink Program

•Greet Kernel from Userspace                                         
•Receive Reply from Kernel to Userspace                   

•Section 7: The Netlink Attributes – The Concept of TLVs

•The Concept of TLVs
•Parsing of TLV Buffer

•Section 6: Getting Started with Netlink Project

•Problem Statement
•Sending CREATE Netlink Msg to Kernel
•Getting Feedback/Reply from Kernel to Userspace
•Sending UPDATE Netlink Msg to Kernel
•Netlink DELETE Netlink Msg to Kernel
•Netlink READ operation Reading Data from Kernel Space into USer space

•Section 7: Netlink Group Subscription

•Sending Kernel Data to Multiple Userspace processes
•Multicast Group Subscription
•Multicast Group unsubscription

•Section 8: Selective Event-based Notification

•(Un)Subscribing for the event in Kernel Space
•Where to go from here?

You will learn

✓ Linux Kernel Modules (LKM)
✓ Netlink Sockets
✓ Concept of TLVs (Type Length Value)
✓ User-space and Kernel Space Communication
✓ Linux Kernel Programming
✓ Multicast from Kernel Space to User Space
✓ Event based notification from Kernel Space to User-space


• C programming is essential and must
• At-least High level Operating system Knowledge shall be good
• Linux Operating System running as VM

This course is for

• Computer Science Students
• Working Professional
• Freelancers
• Kernel Programming and System Programming Enthusiast
I build Networks !
I have been engaged with coding and software for a decade now. I am a Networking developer at MNC. My rich working experience is backed by graduation from IIT Bombay as an MTech specialist. I am restless for more in-depth knowledge, and always working out the ways to integrate what I know in practical ways. I am always happy to train and encourage people on Udemy – the next-gen education platform.

I will help you to strengthen the networking concepts and fundamentals in a very practical way. I also hones in System Software Development, Linux System Programming and Network Software Development. I love to create courses on unique non-standard topics, and projects. Check my catalogue, you will find couple of project based courses which you can add to your resume.

You’ll complete assignments and work on a project where you’ll use all the theory. I make sure you build a proper understanding and that you’ll get all the questions and doubts answered. Let me take the privilege to guide you and bring useful additions to your resume !
Browse all courses by on Coursemarks.
Platform: Udemy
Video: 2h 48m
Language: English
Next start: On Demand

Students are also interested in