0

我们的场景如下:当 TCP 连接建立后(我们可以在tcp_set_state()函数中查看),我们可以net_device通过sk->sk_dst_cache->dev. 有了这个net_device,我们可以在系统上区分我们net_device与其他net_device

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

任何建议表示赞赏。谢谢和最好的问候。

4

1 回答 1

0

struct net_bridge一个成员端口列表,port_list. 该列表包含struct net_bridge_port元素,而元素又包含struct net_dev.

您可以轻松地struct net_bridgestruct net_device桥上获取:

struct net_bridge *br = netdev_priv(dev);

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

于 2012-04-09T15:09:49.497 回答