11.5. ジャンボフレームを細分化するための ML2/OVN ノースバウンドパス MTU 検出の設定
Internal ネットワーク上の仮想マシンがジャンボフレームを External ネットワークに送信する場合、Internal ネットワークの最大伝送単位 (MTU) が External ネットワークの MTU より大きいと、ノースバウンドフレームが External ネットワークの容量を容易に超過してしまいます。
ML2/OVS はこのオーバーサイズパケットの問題を自動的に処理し、ML2/OVN は TCP パケットについてこの問題を自動的に処理します。
ただし、ML2/OVN メカニズムドライバーを使用するデプロイメントで、オーバーズのノースバウンド UDP パケットを適切に処理するには、追加の設定手順を実施する必要があります。
以下の手順により、ML2/OVN ルーターが ICMP の fragmentation needed パケットを送信元の仮想マシンに返すように設定します。この場合、送信元アプリケーションはペイロードをより小さなパケットに分割することができます。
East-West トラフィックでは、RHOSP ML2/OVN デプロイメント は East-West パスの最少 MTU を超えるパケットの断片化をサポートしていません。以下に例を示します。
- VM1 は、MTU が 1300 に設定された Network1 上にある。
- VM2 は、MTU が 1200 に設定された Network2 上にある。
サイズが 1171 以下の VM1/VM2 間の ping は、どちらの方向も成功します。サイズが 1171 を超える ping は、100% パケットロスになります。
このタイプの断片化に対するお客様の要件が特定されていないため、Red Hat はサポートを追加する予定はありません。
前提条件
- RHEL 8.2.0.4 以降 (kernel-4.18.0-193.20.1.el8_2 以降)
手順
カーネルバージョンを確認します。
ovs-appctl -t ovs-vswitchd dpif/show-dp-features br-int
-
出力に
Check pkt length action: No
の文字列が含まれる場合、またはCheck pkt length action
の文字列が含まれない場合は、RHEL 8.2.0.4 またはそれ以降にアップグレードしてください。あるいは、MTU がより小さい外部ネットワークにジャンボフレームを送信しないでください。 出力に
Check pkt length action: Yes
の文字列が含まれる場合は、ml2_conf.ini の [ovn] セクションに以下の値を設定します。ovn_emit_need_to_frag = True