Skip to content

Два userspace приложения (клиент, сервер) которые общаются по протоколу generic-netlink

Notifications You must be signed in to change notification settings

khromenokroman/netlink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Netlink

Задача

Нужно написать два userspace приложения (клиент, сервер) которые общаются по протоколу generic-netlink
Сервер ожидает от клиента запрос вида json:
{ "action": "add", "arg1": 4, "arg2": 5}
И возвращает результат вида:
{ "result": 9 }
Возможные действия (action): add, sub, mul

Зависимости

apt install nlohmann-json3-dev libgtest-dev libnl-3-dev libnl-genl-3-dev

Сборка

Модуль ядра

cd kernel_module
make

Клиент, сервер

cd ..
mkdir -p build && cd build
cmake ..
cmake --build . --target all -j 18

Тесты

./tests

Запуск

cd ../kernel_module/
insmod calc_module.ko
cd ../build
./server
./client

Как это работает work

В хорошем качестве video/work_app.mp4

чтобы сделать gif

apt install ffmpeg
ffmpeg -i video/work_app.mp4 -vf "fps=15,scale=2048:-1:flags=lanczos" -c:v gif video/work_app.gif

About

Два userspace приложения (клиент, сервер) которые общаются по протоколу generic-netlink

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published