Linux用のオープンvSwitchのネットワーク名前空間のサポート

Linuxシステムでは、オープンvSwitchの名前空間ネットワークの基本的なサポートを持っています。名前空間は、そのステータスおよび統計情報を追跡し続けることができた後OVS-vswitchdデーモンを許可し、ポートが別のネットワークに移動しました。

どのように動作します

いわゆる父親ネットワーク名前空間で実行されているOVS-vswitchdデーモン。これは、ネットワークの名前空間識別子は、親の名前空間で必要とする、すべてのネットワークの名前空間からのイベントネットリンクメッセージ(netns)をリッスンします。各メッセージは、適切なポートにイベントを整合させるための補助データとしてネットワークネットリンク名前空間識別子(netnsid)を含みます。

OVS-仮想スイッチ拡張openvswitchカーネルAPI [1] _(netdev_linux構造に格納された)現在の指定されたポートnetnsidを取得し、統計情報を使用して。受信ポートが他のネットワークの名前空間に移動されたときにイベントを変更する前に、例えば、発生します。netnsidユーザ空間でキャッシュされて。

OVS-vswitchd別のネームスペースへと、ポートムーブ、別の拡張カーネルAPIを使用して、[2] _ポート名前空間から情報を取得するために、例えば、フラグ、MTU、MACアドレスとのifIndex。

4.15上流のカーネルと名前空間の基本的なサポートを含めるために必要な変更。あなたは、このようなAPIを提供していないカーネルを実行している場合は、その後、デーモンは会議の前に行動をロールバックします。

... [1]要求コマンド:OVS_VPORT_CMD_GETは、属性:OVS_VPORT_ATTR_NETNSID
... [2]要求コマンド:RTM_GETLINK着信IFLA_IF_NETNSID特性。

制限事項

現在、唯一のセクションの上に記載されているポートの情報を取得します。他のほとんどのように、適切なカーネルAPIが不足しているため、クエリMIIまたは設定MTU、などの操作、ので、彼らはまだサポートされていません。

他のネットワークポート名空間に移動する必要がほとんどの場合、それはクリーンで大幅なパフォーマンスの損失ソリューションなしに、より堅牢な機能を提供しているので、代わりのvethの使用すべきです。

おすすめ

転載: blog.csdn.net/sinat_20184565/article/details/94590390
おすすめ