0

SDN と ODL の初心者で、mininet で OpenFlow フローを OVS スイッチに追加しようとしていますが、Wireshark でパケットを確認するとフローが反映されません。これが私のシナリオです。

  • 線形トポロジーの 3 つのスイッチと 3 つのホストが接続されている: sudo mn --topo linear --controller remote --switch ovsk,protocols=OpenFlow13
  • mininet と同じ VM で実行されている ODL コントローラー

私がやりたいことは、MPLS を手動で構成することです。たとえば、開始点として、Host1 から Host3 に向かうパケットに MPLS ラベルを追加しようとしています。RESTCONF API を使用してこれを達成しようとしていますが、送信した要求に対してステータス コード 200 (OK) が返されます。以下は、RESTCONF 要求の XML 本文です。

スイッチ 1 のポート 1 に着信する IP パケットの場合、値 12 の MPLS ラベルをプッシュしてポート 2 から転送するには: 0 0 0x8847 1 12 2 2 0 100 0x800 1 0 10 true 0 flow-action-push-mpls 220

URL = " http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table0/flow/100 "

ヘッダー = {'content-type': 'application/xml','accept': 'application/json'}

リクエスト タイプ = PUT

認証 = 基本認証

次に、スイッチ 1 のポート 2 で Wireshark を使用してパケットを検査すると、MPLS ヘッダーが表示されません。

OpenFlow および RestConf プラグインは ODL にインストールされます。追加されたフローがパケットに作用しない理由は何ですか?

PS。ビルド済みの VM を使用せずに、パッケージ マネージャーを使用して mininet をインストールしました。

4

1 に答える 1