在内核空间,我如何知道 eth0 属于哪个桥接口?
我在 kernel 中通过 dev_get_by_name("eth0") 就可以取出 eth0 的 struct net_device 结构信息,
那么,我如何知道它是隶属于哪个桥接口的?
谢谢!
[ 本帖最后由 flw 于 2006-10-13 17:13 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
从用户层跟踪下这个函数,看在内核里是怎们实现的,说不定可以找到你想要的API
谢谢!我是在 module_init 里面,那么是不是就只有这一种方法了?
我总觉得 dev->br_port->br->dev->name 这样很罗嗦,有没有 export 出来的 API 可以用?我找了,好像没有。
但是如果不用 API 用这种方法的话,我就得在我的模块里 #include "../linux/net/bridge/br_private.h",很讨厌。(因为 struct net_bridge_port 结构所在的头文件 br_private.h 不在 include 目录里,所以只能这样)。
如果你是在处理数据缓存skb的上下文中,还可以:
复制代码
搞定!
谢谢各位!
复制代码
那你告诉我应该怎么写。
即使是用户层的程序,如果和驱动关联,也必然和核心有联系。
我想,ioctl() 的地位,应该不用说了吧?
这是用户层的。
brctl 好像可以做到。
我是 2.6.16.1 的内核。