Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 用户空间虚拟网络设备_Linux_Sockets_Networking_Kernel Module - Fatal编程技术网

Linux 用户空间虚拟网络设备

Linux 用户空间虚拟网络设备,linux,sockets,networking,kernel-module,Linux,Sockets,Networking,Kernel Module,我刚刚完成了一个用户空间守护进程的构建,用于通过一些无线硬件发送/接收(非IP)数据报(这个守护进程称为“交换”)。此外,为了帮助开发过程,我实现了一个类似于POSIX套接字的API,它允许服务器或客户端软件创建绑定到exchange守护进程的虚拟套接字。尽管需要客户端/服务器直接链接到exchange软件库,但这一切都可以正常工作 我最终想做的是挂接到,这样任何程序都可以通过exchange守护进程轻松通信,只需传递正确的域、类型和协议参数,同时仍然允许exchange拥有套接字的生命周期。我

我刚刚完成了一个用户空间守护进程的构建,用于通过一些无线硬件发送/接收(非IP)数据报(这个守护进程称为“交换”)。此外,为了帮助开发过程,我实现了一个类似于POSIX套接字的API,它允许服务器或客户端软件创建绑定到exchange守护进程的虚拟套接字。尽管需要客户端/服务器直接链接到exchange软件库,但这一切都可以正常工作

我最终想做的是挂接到,这样任何程序都可以通过exchange守护进程轻松通信,只需传递正确的域、类型和协议参数,同时仍然允许exchange拥有套接字的生命周期。我想实现的一个例子是BlueZ库(例如)

根据我对
socket
调用如何工作的(有限的)了解,我的第一个倾向是将的某些方面与
SOCK_DGRAM
结合使用,并可能允许将调用传递到内核模块接口

此外,我还研究了使用TUN/TAP和IPTABLES来连接此功能,但这两种功能似乎都是专门针对基于IP的网络流量的,并且交换数据报不是基于IP的


有没有人有这样一个实现的例子,或者有没有人可以分享更多关于在哪里实现这种互操作性的线索?

另请参见:(尽管现在有点过时…)感谢@ynimous的链接。这对我来说绝对是个不错的选择。我想知道你能否提供一个包含此参考的答案?具体来说,该链接中似乎缺少的是关于如何/哪些参数从用户空间程序提供给
socket
调用的信息。另请参见:(尽管最近有点过时…)感谢@ynimous提供的链接。这对我来说绝对是个不错的选择。我想知道你能否提供一个包含此参考的答案?具体来说,该链接中似乎缺少的是关于如何/哪些参数从用户空间程序提供给
socket
调用的信息。