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의 두 가지 분기가 있습니다.
https://github.com/hbagdi/ksocket
https://github.com/hbagdi/ksocket/tree/linux-5.4.0
추가 도움이 필요하면 [email protected]으로 이메일을 보내세요.