API de socket de style BSD dans l'espace du noyau pour la mise en réseau TCP/IP. Le ksocket original pour la v2.6 a été publié sur http://ksocket.sourceforge.net/. Ce référentiel contient des modifications pour le rendre compatible avec les nouvelles versions du noyau. L'API ksocket a été mise à jour pour intégrer les modifications liées à l'interface iov_iter introduites dans le noyau v3.19+.
$ git clone https://github.com/hbagdi/ksocket.git
$ cd ksocket/src
$ make # make sure you have the kernel headers/tree installed
$ sudo insmod ksocket.ko
#now you can use the exported symbols from this kernel module
Regardez sample
sous-répertoire pour les exemples de code.
$ cd ksocket/sample/tcp/
$ make
# two kernel modules are ksocket_tcp_cli_demo.ko(TCP client) and ksocket_tcp_srv_demo.ko(TCP server)
$ sudo ksocket_tcp_srv_demo.ko
$ sudo ksocket_tcp_cli_demo.ko
$ dmesg
Le travail original de ksocket était de prendre en charge Linux 2.6, mais la prise en charge de la version 5.4.0 a été incluse.
La prise en charge de la v5.4.0 fonctionne sous Linux Ubuntu 5.4.0-66 x86-64, il n'y a donc aucune garantie qu'elle fonctionne bien sur les versions > 2.6 && < 5.3.x
Afin de maintenir la version 2.6 stable, elle a été laissée sans le travail de la 5.4.0, à la place nous avons maintenant deux branches : v2.6 (maître) et v5.4.0.
https://github.com/hbagdi/ksocket
https://github.com/hbagdi/ksocket/tree/linux-5.4.0
Envoyez un e-mail à [email protected] pour toute aide supplémentaire.