6633 ポートを開き、OF パケットをリッスンすることで、java を使用して openflow パケットを解析しています。
一部の openflow PACKET_IN パケットでコードが壊れています。次の画像を参照してください。
mininet を使用してトポロジをシミュレートしています。
mn --mac --switch ovsk,protocols=OpenFlow13 --controller remote,ip=172.23.107.166,port=6633 --ipbase=2.2.2.0/24 --topo linear,10
ミニネットのバージョン: 2.2.1rc1
Openvswitch バージョン: 2.0.2
以下は、Wireshark キャプチャのスクリーンショットです。
全長 (342) が長さ (170) を超えていることがわかります。
このため、私の Java コードは余分なパケット バイト (不適切なデータ長: 342 のため)、つまり次のパケットからのバイトを解析しているため、解析された次のパケットが破損しています。
170 バイトを読み取った後、解析を停止する必要があります。そして、次のパケットの解析が開始されます。
なぜこれが起こっているのか説明できますか?