gpt4 book ai didi

linux - 获取第4层桥下真实的net_device

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:45 27 4
gpt4 key购买 nike

我们的场景如下:当TCP连接建立后(我们可以在tcp_set_state()函数中检查这一点),我们可以通过sk->sk_dst_cache->dev找到该连接的导出net_device。通过这个 net_device,我们可以将我们的 net_device 与系统上的其他 net_device 区分开来。

当导出设备是网桥的子接口(interface)时,此方法会失败,因为 sk->sk_dst_cache->dev 始终指向网桥。如果我们当前位于第 4 层,是否可以在桥下获取真实的 net_device (struct net_bridge_port)。

如有任何建议,我们将不胜感激。谢谢并致以最诚挚的问候。

最佳答案

struct net_bridge有成员端口列表,port_list 。该列表包含struct net_bridge_port元素,依次包含 struct net_dev .

您可以获得struct net_bridge来自struct net_device桥的简单介绍:

struct net_bridge *br = netdev_priv(dev);

当然,这仍然无法告诉您数据包来自哪个成员接口(interface),但不知道您为什么要这样做,我不能说这是否有问题。

关于linux - 获取第4层桥下真实的net_device,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10074718/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com