aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md30
1 files changed, 30 insertions, 0 deletions
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`.