From 017598b41e59aa0bdb121020c29746cd062cdec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaroslav=20de=20la=20Pe=C3=B1a=20Smirnov?= Date: Sat, 11 Feb 2023 01:51:36 +0300 Subject: init --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..6b02651 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Generic Netlink example + +This repository contains an example of how to use the Generic Netlink +communication protocol of the Linux Kernel both in kernel space and user space. + +For more information read my introductory article +[here](https://www.yaroslavps.com/weblog/genl-intro/); or if you are the +adventurous kind just read the source, it's got plenty of comments :) + +## Build and run + +### Kernel module + +In order to build the kernel module you need to have installed the Linux kernel +headers in your system. + +Once you've got the requirements covered just switch to the `ks/` directory and +`make` it. + +If the build completed successfully, you should be able to load the +`genltest.ko` module using insmod. + +### User space program + +In order to build the program you need to have libnl installed. + +Once installed just switch to the `us/` directory and `make` it. + +If the build completed successfully, and once you have loaded the aforementioned +`genltest.ko` module, you should be able to run the program `./genltest`. -- cgit v1.2.3