在Linux上,使用C,如何找到我的以太网接口所连接的桥接设备的名称?是否有一系列ioctl()调用我需要进行查找主桥设备?
我的C程序从配置文件中知道我的TAP适配器的设备名称(在这种情况下,点击0).最终,我需要我的TAP适配器响应的IP地址.因为它是桥接的,所以TAP适配器没有IP地址;它是具有IP地址的桥接设备.
我有一个TAP设备和VETH设备连接在一起. ip a显示以下内容:
1: lo:
注意tap0和veth0条目:它们的每个桥接主机都是br0(即它们具有桥接主机br0).
当ifr_name为tap0时,当我调用ioctl(SIocgIFFLAGS),然后调用ioctl(SIocgIFPFLAGS)时,唯一设置的标志是IFF_UP和IFF_broADCAST.我不知道从哪里开始.
最佳答案iputils和朋友在内核和用户空间之间使用rtnetlink API(POSIX套接字API太窄而无法执行所有需要的任务,也没有添加通知的简洁方法).如果您的项目很小,则解析ip实用程序的输出可能更容易,更快捷.这来自为嵌入式linux项目编写网络配置守护进程的经验. rtnetlink API最初使用起来有点棘手,但是如果你真的想要(许多指针和大小引用需要更正),请对它进行一些研究并使用iputils source作为起点. 总结以上是内存溢出为你收集整理的如何在C中找到我的分接头适配器的桥接设备名称?全部内容,希望文章能够帮你解决如何在C中找到我的分接头适配器的桥接设备名称?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)