0

シナリオは次のとおりです。TCP 接続が確立されると (関数でこれを確認できます)、 を介してこの接続tcp_set_state()の出口を確認できます。これにより、システム上の他のものと区別できます。net_devicesk->sk_dst_cache->devnet_devicenet_devicenet_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_bridgeから得ることができます:struct net_device

struct net_bridge *br = netdev_priv(dev);

もちろん、それでもパケットが入ったメンバーインターフェイスはわかりませんが、なぜこれを行おうとしているのかはわかりません。それが問題かどうかはわかりません。

于 2012-04-09T15:09:49.497 に答える