要約

  • FRRoutingは2026年8月25日公開の10.7.1、10.6.2、10.5.5に、BGPのリンク帯域拡張コミュニティで大きな数値を扱うための修正#22681を含めた。
  • 修正後も従来の生の整数形式には上限が残る。IEEE形式との期待値の違いに加え、送信側の表示、受信側の経路情報、実際の転送という確認範囲の違いが重要になる。

30 Gbpsと100 Gbpsを足した通告を確認する。IEEE形式なら約130 Gbpsに相当する値を期待するが、従来の整数形式では約34.36 Gbpsの上限が正しい。FRRoutingの今回の修正は、同じ入力ならどの隣接機器でも同じ数字が出るはずだ、という受入基準が通用しない例だ。

公式の10.7.1、10.6.2、10.5.5の公開日は、いずれも8月25日。各説明には約34 Gbpsを超えるリンク帯域値の処理を直す#22681が記載されている。これはBGP属性の数値表現に関する話であり、100 Gbpsポートが物理的に34 Gbpsまでしか転送できなかったという測定結果ではない。

32ビットという幅だけでは範囲は決まらない

7月28日に取り込まれた変更提案#22681は、内部の値と補助処理の幅が一致していなかったことを説明する。BGP内部では符号なし64ビット整数を使っていた一方、符号化、復号、表示に関わる一部の関数が32ビットに狭めていた。また、累積帯域を置き換える処理は符号化方式に関係なく32ビット整数の最大値を上限にしていた。

値の単位はバイト毎秒だ。符号なし32ビット整数の最大値4,294,967,295をビット毎秒に換算すると、約34.36 Gbpsになる。ところが、IEEE形式も32ビットであるものの、こちらは浮動小数点数なので表現範囲が異なる。RFC 10005は、この4オクテットの形式と単位を定めている。

修正は内部処理の不適切な幅の縮小を取り除き、累積値の上限を従来の生の整数形式に限って適用する。通信上の形式を64ビットに変えたわけではない。浮動小数点であらゆる整数を正確に送れるようになったわけでもない。

テストの数字を読む

更新された回帰テストは、二つの内部BGPピアから30,000 Mbpsと100,000 Mbpsを与える。バイト毎秒での厳密な合計は16,250,000,000。入力値と合計を単精度浮動小数点に変換する計算では、16,249,999,360となる。この小さな差は丸めによるもので、以前の整数への縮小と混同してはならない。

一方、従来の整数形式の期待値は4,294,967,295バイト毎秒である。修正されたテストは、以前のより小さい切り詰め結果ではなく、この上限に達することを求める。更新後に約34.36 Gbpsが表示されたというだけで、修正が入っていないとは判断できない。どの形式で、どの処理点の値を見たかが必要だ。

本稿では数値計算を独立に確認したが、FRRoutingのテスト構成は実行していない。コードに書かれた検証内容を読むことと、実機や顧客ネットワークで再現することは異なる。

検証範囲にも差がある。IEEE形式のテストは、入力を受けたルーターの経路情報ベース、外部BGPピアへの通告、さらにそのピアの経路情報ベースを確認する。従来形式の該当テストが見るのは、送信側の通告済み経路の表現だけだ。その分岐では下流での復号を実証していない。どちらもハードウェア転送表の重みや、実際の通信量の配分を保証するテストではない。

合計値の出口を確認する

FRRoutingの重み付きマルチパスの説明によると、リンク帯域は既にマルチパスの条件を満たす経路間の重みに使われる。最良経路の選択を変える属性ではなく、不適格な経路を自動的に追加するものでもない。転送系が重みを利用できるか、実際のフローがどう分散するかは別に確かめる必要がある。

各入力が上限未満でも、合計すれば超える場合がある。下流の帯域を集計して再通告する機器で入力だけを調べると、修正の効く累積値の出口を見落とす。保守更新によって意味を持つのは、個々のポートの速さより、こうした数値処理の接点だ。

FRRoutingには従来形式との互換性を維持するピアごとの設定が残る。IEEEの範囲が広いからといって、全ピアで互換設定を外すべきだとはいえない。相手が受け取ったバイト列を正しく解釈できることが先決だ。現在の文書には、この固定されたテストの入力値より狭いコマンド範囲の説明もある。テスト値を全保守ブランチ共通の設定手順に読み替えず、対象ビルドの仕様を確認したい。

9月8日12:40 UTCまでに確認した資料からは、影響を受けた顧客数、本番障害、測定された速度向上、全バージョンの影響一覧は分からない。三つの公開説明が示すのは、それぞれへの修正の取り込みであり、他のすべての版の状態ではない。

本稿の姿勢は、Lu Hengが現実と主張を区別する論考で示す編集上の原則に沿う。これは筆者による原則の適用であり、Lu HengがFRRoutingを評価したという意味ではない。結論は限定的だが実務的だ。更新の受入記録には版番号だけでなく、符号化方式、期待値、観測点を残す必要がある。