WEBVTT

00:05.100 --> 00:11.190
So guys, now let us see the final demo of our user space and Linux kernel module put together, which

00:11.190 --> 00:16.440
as of now implements a very basic communication between the user space and kernel space.

00:16.740 --> 00:21.600
So on the right hand side is the same kernel log file into which all the print will go.

00:21.600 --> 00:26.030
And on the left hand side I will compile my user space program and run.

00:26.040 --> 00:31.800
So remember, while compiling your user space program, you have to link it with the thread library,

00:31.830 --> 00:32.400
right?

00:32.400 --> 00:34.830
Because it's a multithreaded program now.

00:36.190 --> 00:40.240
So what I will do, like before I will run the userspace program.

00:40.750 --> 00:44.200
Our Linux kernel module is already inserted and running.

00:44.350 --> 00:46.030
So you can see it again.

00:46.030 --> 00:49.370
Asks me two options create kernel and exit.

00:49.390 --> 00:53.050
And now I will enter the userspace message.

00:55.900 --> 01:02.770
And as soon as I press enter, I expect that not only this message goes to the kernel space, but also

01:02.770 --> 01:05.140
kernel replies me something, right?

01:05.140 --> 01:10.290
So if I press enter you can see that my message has gone to the kernel space.

01:10.300 --> 01:14.710
And not only that, I am receiving something from the kernel space as a reply.

01:14.830 --> 01:19.750
So in the user space program we have printed a message that we have received a message from the kernel

01:19.780 --> 01:26.770
whose size is 272 bytes and the message that is received from the kernel is the following string.

01:26.800 --> 01:32.500
That is kernel replies back with the process ID of a user space program.

01:32.500 --> 01:33.220
Right.

01:33.670 --> 01:39.140
So it simply means that bi directional communication between user space and kernel space is now fully

01:39.140 --> 01:41.060
set up over netlink socket.

01:42.560 --> 01:47.150
So guys, in the remaining section of this course, we will cover three more topics.

01:47.150 --> 01:51.320
We will cover the Netlink attributes, which is the concept of Tlvs.

01:51.350 --> 01:54.170
Then we will kick start our Netlink project.

01:54.170 --> 01:58.460
And finally the last topic will be multicast with netlink sockets.

01:58.460 --> 02:04.400
So we still need to cover these three more sections in order to completely cover up all the aspects

02:04.400 --> 02:06.140
of Netlink communication.

02:06.350 --> 02:12.770
So I hope you are liking the course and please do leave a review or a feedback and please let me know

02:12.770 --> 02:14.570
what you think about the course.
