P4 workshop が開催され、
ebiken 氏が SRv6 データプレーン実装の話をするということが巷を賑わしている(どの巷だw)が、個人的には
こちらが気になる。
Packet Processing における各段において起こる様々な事象は、通常、カウンタにより記録されている。例えばパケット棄却があればカウンタが上がることで異常を認知する。ポイントは「カウンタが上がったときに」「どのパケットでそれが起こったか」を調べることが困難だということだ。
Mellanox What-Just-Happened、通称 "WJH" は、Mellanox Onyx ですでに使用可能になっている機能(しかもdefault enable)であるが、まさに Event-Driven Packet Processing(というかその anomaly ログ機能)だ。
これがあれば「通信できないぞ」という話に対して何がおこっているのか即時に答えることができる。
実際のログはこんな感じ。
CLIだけじゃなくて、落ちるパケットにWJHメタ情報を入れて pcap を生成することもできる。WHJプラグインが wireshark にあるので、そちらから何が起こっているのか見ることも可能だ。
今はPhase1なので packet drop イベントがわかるが、追ってその他イベントのログも出力できるようになる予定。
# なお、Cumulus での実装も近く予定されているらしいですよ(Ask Cumulus !)