ksocket
1.0.0
TCP/IP ネットワーク用のカーネル空間の BSD スタイルのソケット API。 v2.6 のオリジナルの ksocket は http://ksocket.sourceforge.net/ で公開されました。このリポジトリには、新しいカーネル バージョンとの互換性を持たせるための変更が含まれています。 ksocket API が更新され、カーネル v3.19 以降で導入された iov_iter インターフェースに関連する変更が組み込まれました。
$ 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
コードサンプルについては、 sample
サブディレクトリを参照してください。
$ 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
ksocket の当初の作業は Linux 2.6 をサポートすることでしたが、v5.4.0 のサポートが含まれています。
v5.4.0 のサポートは Linux ubuntu 5.4.0-66 x86-64 での機能であるため、バージョン 2.6 以降および 5.3.x 未満で適切に動作するという保証はありません。
2.6 バージョンを安定に保つために、5.4.0 の作業は行わずに残しましたが、代わりに v2.6 (マスター) と v5.4.0 の 2 つのブランチができました。
https://github.com/hbagdi/ksocket
https://github.com/hbagdi/ksocket/tree/linux-5.4.0
さらにサポートが必要な場合は、[email protected] まで電子メールを送信してください。