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 をインストールしました。