So guys, now let us see the final demo of our user space and Linux kernel module put together, which
as of now implements a very basic communication between the user space and kernel space.
So on the right hand side is the same kernel log file into which all the print will go.
And on the left hand side I will compile my user space program and run.
So remember, while compiling your user space program, you have to link it with the thread library,
right?
Because it's a multithreaded program now.
So what I will do, like before I will run the userspace program.
Our Linux kernel module is already inserted and running.
So you can see it again.
Asks me two options create kernel and exit.
And now I will enter the userspace message.
And as soon as I press enter, I expect that not only this message goes to the kernel space, but also
kernel replies me something, right?
So if I press enter you can see that my message has gone to the kernel space.
And not only that, I am receiving something from the kernel space as a reply.
So in the user space program we have printed a message that we have received a message from the kernel
whose size is 272 bytes and the message that is received from the kernel is the following string.
That is kernel replies back with the process ID of a user space program.
Right.
So it simply means that bi directional communication between user space and kernel space is now fully
set up over netlink socket.
So guys, in the remaining section of this course, we will cover three more topics.
We will cover the Netlink attributes, which is the concept of Tlvs.
Then we will kick start our Netlink project.
And finally the last topic will be multicast with netlink sockets.
So we still need to cover these three more sections in order to completely cover up all the aspects
of Netlink communication.
So I hope you are liking the course and please do leave a review or a feedback and please let me know
what you think about the course.