VLAN学習

A. VLANデータパケットフォーマット

・タイプ:0x8100の固定値に2バイトの長さ、フレームタイプ、フレームの802.1Qタグタイプフィールドセット、デバイスは、802.1Q 802.1Qフレームが受信されたサポートしていない場合、それは破棄されます。
・PRI:プライオリティフィールド、3ビットの長さ、イーサネットフレームの優先度を示す優先度0から7までの範囲で、値が大きいほど、より高いです。スイッチ/ルータの交通渋滞が発生した場合に優先的に高い優先度のデータフレームを送信します。
・CFI:標準フォーマットインジケータは、長さが1ビットで、MACアドレスは、古典的な形式であるかどうかを示します。CFI 0フォーマットは、非古典的CFI 1形式を示す古典的な説明しました。このフィールドは、イーサネットフレームのイーサネット・フレーム、FDDIフレーム及びトークンリングフレーム、0のCFI値を区別するために使用される
VLAN IDを、12ビットの長さ、範囲は0〜4095、前記0:・VIDを及び4095のである予約値は、ユーザに使用することができません。

二つ。VLANのカーネルのソースコード解析

VLANのネットワークインターフェイスによって送信されたネットワークパケットvlan_dev_hard_start_xmitの機能処理

 

 

1)すべてのブリッジング/ルーティング及び実施例を介して転送を介し:eth1.101のVLAN機能処理vlan_dev_hard_start_xmitによるパケット網ネットワークインターフェース
、VLAN設定eth1.101のVLANネットワークインターフェイスを取得VLANID VLANを設定するには、VLAN優先度:2)例
3)vlan_tci更新VLAN情報SKBに従って__vlan_hwaccel_put_tagによってSKBにVLANヘッダ情報に沿って、更新、ネットワークパケットは、VLANヘッダー情報を追加満たしチェック

おすすめ

転載: www.cnblogs.com/mysky007/p/11223046.html