wpg (web-packet-generator) は、Web GUI で動作するネットワーク検証向けの Rust 製パケットジェネレータです。IS-IS や CLNP など OSI 系の深いプロトコルまで含め、任意のパケットを組み立てて高速に送出できます。送出バックエンドは pcap/Npcap から AF_PACKET、AF_XDP、DPDK まで選択可能です。Windows / macOS / Linux 向けの単一バイナリとして配布されます。利用は検証環境に限定してください。
インストール方法を選ぶ : 手元の OS でソースからビルドする、SSH で Linux の検証ホストにデプロイする、Docker イメージで動かす、のいずれかを選びます。
選んだ方法のインストールページに沿って進めます。wpg doctor が送信できないと報告したら 権限設定 を読みます。
初回ログイン : パスワードを設定し、画面をひととおり見ます。
チュートリアルを ARP スイープ から順に進めます。
送信以外は権限なしで試せます。テンプレートを pcapng ファイルに書き出すだけなら raw ソケットは不要です。
用語 意味
テンプレート パケットをレイヤ (ethernet2、ipv4、udp など) の積み重ねとして記述する .wpg.yaml ファイル。フィールドの値、変数、ジェネレータを含みます。保存・共有・送信の単位です。テンプレートスキーマ を参照。
ライブラリ wpg が読み込むテンプレートのディレクトリ。既定は ./templates です。同梱ライブラリには examples、protocols、scenarios、malformed、interop があります。
フィールドジェネレータ フレームごとに変わるフィールドの値。範囲、リスト、乱数、カウンタ、ファイルからの値、式があります。1 つのテンプレートから多数のフレーム (ストリーム) を生成できます。
ビルダー テンプレートをレイヤ単位で編集し、16 進ダンプとフィールドツリーをブラウザ上でプレビューする GUI 画面。
ジョブ テンプレートを、あるインタフェースから、レート (pps、bps、回線速度の %) と個数または時間を指定して送る 1 回の実行。統計がリアルタイムに表示されます。
バックエンド フレームの送り出し方。Linux では afpacket、afxdp、dpdk、全 OS で pcap (libpcap / Npcap / BPF)、送らずに pcapng に書き出す pcapfile (ドライラン)、ベンチマーク用の null があります。
wpg doctor権限、インタフェース、カーネル機能、ライブラリを確認する自己診断。失敗した項目ごとに対処方法を表示します。
同じバイナリがサーバ (wpg serve: Web UI と REST API) とコマンドラインツール (wpg send、wpg render、wpg template lint など) を兼ねます。CLI リファレンス を参照してください。
はじめに (Getting Started) : インストール、権限設定、初回ログイン。
チュートリアル : ARP スイープ、レート制御、pcap の再生、IS-IS の隣接確立などを最初から最後まで行う手順。
リファレンス : 全プロトコル、テンプレートスキーマ、API、CLI、wpg.toml の生成ページ。
運用 : デプロイ、サービス化、Docker、アップグレード、高速バックエンド、TLS、受信と検証。
開発者ガイド : crate 構成、プロトコルと翻訳の追加手順。
送信は、自分が管理しているか試験を許可されたネットワークでだけ行ってください。法的注意 を参照してください。
wpg は Web UI を組み込んだ単一の wpg 実行ファイルです。リリースバイナリはまだ公開していないため、下のどの方法でもソースからビルドします。違いは、どこでビルドし、どう動かすかです。
wpg を動かすマシン: Linux (Ubuntu 20.04 以降と同等のディストリビューション)、macOS 12 以降、Windows 10 21H2 以降。
試験したい検証ネットワークにつながったネットワークインタフェース。自分が管理していない、または試験を許可されていないネットワークへの送信はできません。
ブラウザ。同じマシン上のもの、またはパスワードを設定してローカル以外のアドレスで待ち受ければ別のマシンのもの。
やりたいこと 方法 必要なもの
Linux の検証ホスト (CML2、EVE-NG、VM) で、高レートで、サービスとして動かす scripts/deploy.sh によるデプロイ : SSH でホスト上に wpg をビルドし、systemd ユニットを入れるウィザード。Windows (scripts\deploy.bat)、Linux、macOS のどれからでも始められます。ホストへの SSH と sudo
Rust ツールチェーンを入れずに Linux ホストで動かす Docker で動かす Linux ホストの Docker
自分の PC で使う、または開発する ソースからビルド: Linux 、macOS 、Windows rustup (残りは scripts/setup.sh か setup.ps1 が入れる)。Windows では Npcap
選ぶときの注意:
レート。 Windows は Npcap だけで送信し、GUI での低〜中レートの利用を想定しています。macOS は BPF で送信します。高レート (AF_PACKET、AF_XDP、DPDK) には Linux を使ってください。
Docker Desktop (macOS / Windows) はコンテナを VM の中で動かすので、フレームは物理 NIC に届きません。Docker は Linux ホストでだけ使ってください。
まだ権限がない場合。 どの方法でも、テンプレートの pcapng への書き出しと Web UI は raw ソケットの権限なしで使えます。権限が要るのは送信だけです (権限設定 )。
どの方法でも、次の手順は同じです。
wpg doctor を実行し、送信について報告された問題を直します (権限設定 )。
wpg serve でサーバを起動し (デプロイスクリプトと Docker では起動済みです)、http://127.0.0.1:8080 を開きます。
パスワードを設定して画面を見て回ります: 初回ログイン 。
まずドライラン (pcapfile バックエンドは送信せずに pcapng ファイルへ書き出します) を試し、ARP スイープのチュートリアル で実際に送信します。
うまくいかないときは FAQ / トラブルシュート を参照してください。
対応: Ubuntu 20.04 以降 (glibc 2.31) と同等のディストリビューション。リリースバイナリはまだ公開していないため、ソースからビルドします。成果物は Web UI を組み込んだ単一の wpg 実行ファイルです。
# Rust ツールチェーンのインストーラ (rustup.rs) と、リンク用の C ツールチェーン
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt install build-essential pkg-config git
git clone https://github.com/SeiyaFunaokaJP/web-packet-generator.git
cd web-packet-generator
./scripts/setup.sh # --just を付けるとタスクランナー just も入れる
scripts/setup.sh は rust-toolchain.toml で固定した Rust ツールチェーンと Web UI 用の WASM ターゲット、scripts/versions.env で固定したバージョンのビルド済み trunk (Web UI のバンドラ) を入れ、最後に次に実行するコマンドを表示します。
Linux は AF_PACKET で送信するので、追加のライブラリは不要です。任意の libpcap バックエンド (--features pcap) を使う場合だけ sudo apt install libpcap-dev が必要です。tshark (パッケージ名 tshark) は任意です。チュートリアルで生成したキャプチャの確認に使います。
./scripts/build.sh --release # または: just release
スクリプトは trunk で Web UI を、続いて cargo で wpg バイナリをビルドして、==> done: target/release/wpg と表示します。オプションのバックエンドには --features pcap、--features afxdp、--dpdk を付けます。trunk が無い場合、バイナリはビルドされますが Web UI はスキップされます。
ファイルへの書き出しに特別な権限は不要なので、まず動作を確認できます。
./target/release/wpg doctor
./target/release/wpg template lint templates/examples/*.wpg.yaml
./target/release/wpg render templates/examples/arp-sweep.wpg.yaml -o /tmp/arp.pcapng
wpg doctor は送信に不足しているものを報告します (権限設定 )。次の手順を行うまでは caps.raw_socket が失敗して構いません。
root で実行するか、バイナリに一度だけ capability を付与します (ファイルを置き換えると失われます)。
sudo setcap cap_net_raw,cap_net_admin+ep ./target/release/wpg
./target/release/wpg doctor
./target/release/wpg serve # 開発用のホットリロードは: just run
既定では 127.0.0.1:8080 で待ち受け、./templates のテンプレートを読み込みます。ブラウザで http://127.0.0.1:8080 を開き、パスワードと最初の画面は次ページの 初回ログイン を参照してください。別のマシンからアクセスするには、パスワードを設定したうえで --bind 0.0.0.0:8080 (または wpg config init で作る wpg.toml の bind) を使います。設定リファレンス を参照してください。ラボのホストに常設するときは scripts/deploy.sh がバイナリのコピー、setcap、systemd ユニットの投入を行います。CML2 での注意点 も参照してください。
./target/release/wpg ifaces
./target/release/wpg send templates/examples/arp-sweep.wpg.yaml -i eth1 --rate 1000pps
送信してよいのは、自分が所有する、または試験を許可されたネットワークだけです。続けて ARP スイープのチュートリアル に進んでください。
対応: macOS 12 以降。リリースバイナリはまだ公開していないため、ソースからビルドします。成果物は Web UI を組み込んだ単一の wpg 実行ファイルです。macOS は libpcap を標準で持つので、追加のライブラリは不要です。macOS で送信できるのは libpcap バックエンド (pcap feature) だけなので、scripts/build.sh (と just release) は macOS では自動でこれを組み込みます (--no-pcap で外せます)。リリースアーカイブにも含まれます。
xcode-select --install # コンパイラとリンカ
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
brew install wireshark # 任意: tshark と ChmodBPF (下記)
git clone https://github.com/SeiyaFunaokaJP/web-packet-generator.git
cd web-packet-generator
./scripts/setup.sh # --just を付けるとタスクランナー just も入れる
scripts/setup.sh は rust-toolchain.toml で固定した Rust ツールチェーンと WASM ターゲット、scripts/versions.env で固定したバージョンのビルド済み trunk を入れます。
./scripts/build.sh --release # または: just release
最後に ==> done: target/release/wpg と表示されます。
./target/release/wpg doctor
./target/release/wpg template lint templates/examples/*.wpg.yaml
./target/release/wpg render templates/examples/arp-sweep.wpg.yaml -o /tmp/arp.pcapng
送信は /dev/bpf* を通ります。sudo で wpg を実行するか、デバイスをアクセス可能にします。Wireshark を ChmodBPF ヘルパー付きでインストールすると、access_bpf グループのメンバーに対してそれが行われます。お使いのマシンに合った案内は wpg doctor が表示します。権限設定 を参照してください。
./target/release/wpg serve
既定では 127.0.0.1:8080 で待ち受け、./templates のテンプレートを読み込みます。ブラウザで http://127.0.0.1:8080 を開き、初回ログイン に進んでください。
./target/release/wpg ifaces
sudo ./target/release/wpg send templates/examples/arp-sweep.wpg.yaml -i en0 --rate 1000pps
送信してよいのは、自分が所有する、または試験を許可されたネットワークだけです。続けて ARP スイープのチュートリアル に進んでください。
リリースアーカイブ (Apple シリコン用の wpg-<version>-aarch64-apple-darwin.tar.gz、Intel 用の ...-x86_64-apple-darwin.tar.gz) は署名も公証もしていません 。ブラウザでダウンロードしたファイルには com.apple.quarantine 属性が付き、Gatekeeper が実行を拒否します (「Apple は悪質なソフトウェアかどうかを確認できないため、“wpg” を開けません」や「壊れているため開けません」と表示されます)。上の手順でソースからビルドすれば、この問題は起きません。
まずダウンロードしたファイルを確認し、展開したファイルから属性を外します。
shasum -a 256 -c wpg-0.2.0-aarch64-apple-darwin.tar.gz.sha256 # または SHA256SUMS と比べる
tar -xzf wpg-0.2.0-aarch64-apple-darwin.tar.gz
xattr -dr com.apple.quarantine wpg-0.2.0-aarch64-apple-darwin
./wpg-0.2.0-aarch64-apple-darwin/wpg --version
別の方法:
ブラウザではなく curl -LO でダウンロードします。curl は quarantine 属性を付けません。
一度実行してから、システム設定 → プライバシーとセキュリティ で許可します (「このまま開く」)。次の起動時にもう一度確認され、以後は記憶されます。
Finder の近道 (Control キーを押しながらクリック → 開く) は macOS 15 で廃止され、コマンドラインツールにはもともと使えません。xattr かシステム設定を使ってください。
Gatekeeper 全体を無効にする (spctl --master-disable) ことはしないでください。新しくダウンロードしたファイルにはそのたびに属性が付くので、アップグレードのたびに外し直してください。起動時に wpg を動かす方法は サービスとして動かす を参照してください。
対応: Windows 10 21H2 以降。リリースバイナリはまだ公開していないため、ソースからビルドします。送信は Npcap のみを使い、GUI での低〜中レート利用を想定しています。高いレートが必要なときは Linux を使ってください。以下のコマンドは PowerShell 用です。
Windows から Linux の検証用ホストに wpg を入れたいだけなら 、Windows 上でビルドする必要はありません。リポジトリを手元に用意し (git clone、または GitHub の「Download ZIP」を展開)、scripts\deploy.bat をダブルクリック します。ウィザードが接続先、SSH のユーザとパスワード、sudo パスワード、Web UI の管理者パスワード、送信に使うインタフェースを日本語で聞き、ホスト上で wpg をビルドしてサービスとして入れます。必要なのは Windows 10 / 11 標準の OpenSSH クライアントだけです。デプロイ を参照してください。
rustup をインストールします (既定の MSVC ツールチェーンを選びます。Visual Studio Build Tools の「C++ によるデスクトップ開発」が無い場合は案内されます)。
Npcap をインストールします (既定のオプションのままでかまいません。WinPcap API 互換モードは不要です)。送信に必要です。
リポジトリを取得し、セットアップスクリプトを実行します。
git clone https://github.com/SeiyaFunaokaJP/web-packet-generator.git
cd web-packet-generator
.\scripts\setup.ps1 # -Just を付けるとタスクランナー just も入れる
rust-toolchain.toml で固定した Rust ツールチェーンと WASM ターゲット、scripts\versions.env で固定したバージョンのビルド済み trunk と Npcap SDK (C:\Npcap-SDK に展開) を入れ、まだ足りないもの (C++ ビルドツール、Npcap) を表示します。PowerShell がスクリプトの実行を拒否する場合は powershell -ExecutionPolicy Bypass -File .\scripts\setup.ps1 で実行してください。
SDK は Npcap バックエンド (pcap feature) のリンクに必要です。Windows で送信できるのはこのバックエンドだけです。自分で展開した SDK も、scripts\build.ps1 が C:\npcap-sdk-<バージョン> (zip の名前のまま。複数あれば新しいもの)、環境変数 NPCAP_SDK で指定したディレクトリ、SDK の Lib\x64 を指す LIBPCAP_LIBDIR から見つけます。SDK が無くてもビルドは成功しますが、できた wpg.exe は送信できず、build.ps1 が警告します。
任意: Wireshark (tshark 用)。
.\scripts\build.ps1 -Release # または: just release
SDK が見つかると ==> Npcap SDK: LIBPCAP_LIBDIR=... と表示し、最後に ==> done: target\release\wpg.exe と表示されます。主な使い方は次のとおりです。
コマンド 結果
.\scripts\build.ps1デバッグビルド (target\debug\wpg.exe)。SDK が見つかれば Npcap バックエンドを組み込む
.\scripts\build.ps1 -Release最適化ビルド (target\release\wpg.exe)。SDK の検出は同じ
.\scripts\build.ps1 -NoPcapSDK があっても Npcap バックエンドなしでビルドする (送信不可)
.\scripts\build.ps1 -Features pcapNpcap バックエンドを必須にする。SDK が見つからなければエラーで止まる
Get-Help .\scripts\build.ps1 -Detailedすべてのパラメータ
trunk が無いとフロントエンドのビルドは警告付きで省略されます (Web UI は古い、または存在しない crates\wpg-web\dist を配信します)。
.\target\release\wpg.exe doctor
.\target\release\wpg.exe render templates\examples\arp-sweep.wpg.yaml -o $env:TEMP\arp.pcapng
wpg doctor が Npcap をインストール済み (npcap)、Npcap バックエンドを組み込み済み (backend.pcap) と報告することを確認します。backend.pcap が fail なら build.ps1 が Npcap SDK を見つけられていないので、.\scripts\setup.ps1 を実行して (手順 1) ビルドし直してください。Npcap を既定のオプションで入れていれば、通常の PowerShell から送信できます (caps.raw_socket は ok)。「Restrict Npcap driver’s access to Administrators only」を選んで入れた場合は caps.raw_socket が fail になるので、送信するときは 管理者として PowerShell を開いて ください。権限設定 を参照してください。
.\scripts\run.ps1 # または: .\target\release\wpg.exe serve
既定では 127.0.0.1:8080 で待ち受け、.\templates のテンプレートを読み込みます。ブラウザで http://127.0.0.1:8080 を開き、初回ログイン に進んでください。Windows ファイアウォールが wpg.exe の許可を求めたときは、ローカル以外のアドレスに bind する場合に限り、プライベートネットワークだけを許可してください。
.\target\release\wpg.exe ifaces
.\target\release\wpg.exe send templates\examples\arp-sweep.wpg.yaml -i <インタフェース> --rate 1000pps
インタフェース名は wpg ifaces の表示 ({GUID}) を使います (tshark -D が表示する \Device\NPF_{GUID} でもかまいません)。Npcap のループバックアダプタ (\Device\NPF_Loopback) は Ethernet フレームを受け付けません (PacketSendPacket failed ... (50))。実ネットワークに出さずに送信を試すときは、Hyper-V の vEthernet (Default Switch) や VMware のホストオンリーアダプタなどの仮想アダプタを使い、wpg capture -i <インタフェース> --backend pcap --include-outgoing か tshark で確認してください。送信してよいのは、自分が所有する、または試験を許可されたネットワークだけです。続けて ARP スイープのチュートリアル に進んでください。
リリースアーカイブ (wpg-<version>-x86_64-pc-windows-msvc.zip) には、Web UI と Npcap バックエンドを組み込んだ wpg.exe、サンプルテンプレート、packaging\windows\wpg-service.ps1 が入っています。コード署名はしていません。
# 確認してから、展開前に「インターネットからダウンロードした」印を外す
(Get-FileHash .\wpg-0.2.0-x86_64-pc-windows-msvc.zip -Algorithm SHA256).Hash # SHA256SUMS と比べる
Unblock-File .\wpg-0.2.0-x86_64-pc-windows-msvc.zip
Expand-Archive .\wpg-0.2.0-x86_64-pc-windows-msvc.zip -DestinationPath "C:\Program Files\wpg"
それでも SmartScreen が「Windows によって PC が保護されました」と表示した場合は、一度だけ 詳細情報 → 実行 を選びます。
Npcap は同梱していません (無償版のライセンスでは再配布できません)。wpg.exe は wpcap.dll を /DELAYLOAD でリンクしており、pcap バックエンドを初めて使うときに読み込みます。その際 System32\Npcap を自分で DLL 検索パスに加えるので、Npcap が無くても起動でき、Npcap のどちらのインストールモードでも動きます。wpg doctor と scripts\build.ps1 の両方が確認します。
wpg doctor は、Npcap が無いと npcap のチェックを失敗にし、Npcap がインストールされているように見えるのに wpcap.dll が System32\Npcap にも System32 にも無いときは警告します。対処の行に https://npcap.com/#download へのリンクが出ます。
Npcap 無しで送信すると、クラッシュせずに Npcap is not installed; install it from https://npcap.com/#download and run wpg doctor で止まります。
wpg doctor は、wpg.exe が Npcap バックエンドなしでビルドされていると backend.pcap を失敗にし、SDK を展開して scripts\build.ps1 を再実行するよう案内します。
Npcap を管理者専用モードで入れた場合、昇格していないターミナルでは caps.raw_socket が fail になります。管理者ターミナルで実行するか、そのオプションを外して Npcap を入れ直してください。
scripts\build.ps1 もビルドの前に警告を出します。Npcap が無くてもビルドは成功しますが送信はできないため、また Npcap SDK なしでビルドするときも警告します。
起動時に wpg をバックグラウンドで動かす方法は サービスとして動かす を参照してください。
イメージはコンテナの中で wpg と Web UI をビルドするので、ホストに必要なのは Docker だけです。Rust ツールチェーンも trunk も要りません。Linux ホスト を使ってください。macOS / Windows の Docker Desktop はコンテナを VM の中で動かすため、そこから送ったフレームは物理 NIC に届きません。
このページは最短の手順です。ビルドオプション、プロキシ、全設定、制限は Docker にあります。
git clone https://github.com/SeiyaFunaokaJP/web-packet-generator.git
cd web-packet-generator
WPG_PASSWORD='change me' WPG_ALLOWED_IFACES='["eth1"]' docker compose up -d --build
WPG_PASSWORD は必須です。サーバはホストの全アドレスで待ち受けるため、パスワードがないと起動しません。自分で決めた値にしてください。Web UI の管理者パスワードになります。
WPG_ALLOWED_IFACES はジョブが送信してよいインタフェースの一覧です。検証用インタフェースの名前を指定します (ip -br link で一覧できます)。省略するとすべて許可します。
初回のビルドはすべてをコンパイルするので時間がかかります。2 回目以降はイメージを再利用します。
コンテナはホストのネットワークを使い、CAP_NET_RAW と CAP_NET_ADMIN だけを持ちます。ホスト上で wpg を root で動かさずに、ホストのインタフェースから送信できます。
docker compose ps # サーバが応答すると STATUS が "healthy" になる
docker compose exec wpg wpg doctor # コンテナから見た raw ソケットとインタフェース
ホストで http://127.0.0.1:8080 (別のマシンからは http://<ホスト>:8080) を開き、パスワードでログインします。画面の説明は 初回ログイン にあります。
同梱テンプレートはコンテナ内の /usr/share/wpg/templates にあり、テンプレート 画面に表示されます。コマンドラインでは、まずファイルに書き出し (何も送信しません)、それから送信します。
docker compose exec wpg wpg render /usr/share/wpg/templates/examples/arp-sweep.wpg.yaml -o /var/lib/wpg/arp.pcapng
docker compose exec wpg wpg send /usr/share/wpg/templates/examples/arp-sweep.wpg.yaml -i eth1 --rate 1000pps
/var/lib/wpg は wpg-data ボリュームです。データベース、自分のテンプレート、上の pcapng のようなファイルは、再起動やイメージの更新後も残ります。送信は、自分が管理しているか試験を許可されたネットワークでだけ行ってください。続きは ARP スイープのチュートリアル です。チュートリアルの wpg ... は docker compose exec wpg wpg ... に読み替えてください。
docker compose logs -f wpg # ログを追う
docker compose down # 停止 (wpg-data ボリュームは残る)
git pull && WPG_PASSWORD='change me' docker compose up -d --build # 更新
docker compose down -v # 停止して wpg-data ボリュームも削除
設定をシェルの履歴に残したくない場合は、docker-compose.yml と同じ場所の .env ファイルに書きます (WPG_PASSWORD=...、WPG_ALLOWED_IFACES=...、WPG_BIND=...)。リポジトリは .env を git と Docker のビルドコンテキストの両方で無視するので、パスワードがコミットされたりイメージに入ったりすることはありません。
raw フレームの送出は特権操作であり、必要な権限は OS ごとに異なります。wpg は起動時と wpg doctor の実行時に自己診断を行い、OS 別の対処方法を表示します。管理者設定で、許可インタフェースや最大レートを制限することもできます。
afpacket バックエンドには CAP_NET_RAW が必要です (CAP_NET_ADMIN も併せて付与します)。root で実行するか、バイナリに capability を付与します。
sudo setcap cap_net_raw,cap_net_admin+eip /path/to/wpg
これは wpg doctor が、実行中のバイナリの実パスで表示するヒントです。バックエンドが EPERM/EACCES で拒否された場合、エラーは次のように案内します。
AF_PACKET needs CAP_NET_RAW: run as root or grant it with `sudo setcap cap_net_raw,cap_net_admin+ep $(command -v wpg)`
file capability はバイナリを置き換えると失われ、nosuid マウント上では無視されます。systemd では AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN を使います。CML2 での注意点 も参照してください。
/dev/bpf* への読み書きアクセスが必要です。sudo で実行するか、デバイスをアクセス可能にします (例: Wireshark の ChmodBPF)。wpg doctor のヒントは sudo /path/to/wpg … (or make /dev/bpf* accessible, e.g. via Wireshark's ChmodBPF) です。
Npcap が必要です (インストールモードは問いません。wpg が System32\Npcap の wpcap.dll を自分で見つけます)。管理者ターミナルが必要なのは、Npcap を管理者専用モードで入れた場合だけです。wpg doctor はその設定 (HKLM\SYSTEM\CurrentControlSet\Services\npcap\Parameters の AdminOnly) を読み、既定のインストールなら管理者権限なしでも caps.raw_socket を ok (npcap_admin_only=no) に、管理者専用モードなら fail にしてヒント Run from an elevated (Administrator) terminal, or reinstall Npcap ... without "Restrict Npcap driver's access to Administrators only" (管理者ターミナルで実行するか、この選択を外して Npcap を入れ直す) を表示します。設定を読めないときは警告です。Npcap がない場合は https://npcap.com/#download を案内します。
wpg doctor は 1 チェック 1 行で、角括弧内に安定した id を表示します。wpg doctor --json はスクリプト向けに同じ内容を返します。チェックが fail のとき終了ステータスは 0 以外です。
チェック id 未達のときの状態 意味
caps.raw_socketfail (Windows は Npcap の管理者専用モードしだい) raw ソケットの権限: CAP_NET_RAW / root / BPF アクセス / 昇格
iface.any_upwarn loopback 以外のインタフェースが carrier 付きで up
kernel.af_xdpwarn AF_XDP バックエンド用にカーネル 5.10 以降
kernel.tpacket_v3warn カーネル 3.2 以降。なければ afpacket は sendmmsg にフォールバック
hugepageswarn Hugepages の設定。DPDK バックエンドでのみ必要
npcapfail / warn (Windows のみ) Npcap が導入され、wpcap.dll が System32\Npcap か System32 にあること。他の OS では skip
backend.pcapfail (Windows、macOS) pcap バックエンドが組み込まれていること。Windows と macOS で送信できるのはこのバックエンドだけ。Linux では skip
pcap_libwarn libpcap が見つかること (pcap バックエンドで必要)。Windows と、バックエンドを組み込んでいないときは skip
webui.embeddedwarn このバイナリに Web UI が組み込まれていること
各チェックの結果は ok、warn、fail、skip (この OS では対象外) のいずれかです。
サーバを起動し、表示されたアドレスを開きます。
wpg serve # 127.0.0.1:8080 で待ち受け
パスワードは次のいずれかで設定します (優先度の高い順。お使いのビルドが対応するものは wpg serve --help で確認してください)。
wpg serve --password … または --password-file <file>
環境変数 WPG_PASSWORD
wpg.toml の [auth] password_hash / password_file (argon2id ハッシュ。wpg config set-password で書き込み)
上のいずれも無い場合の、初回アクセス時のセットアップ画面
パスワードが無い間、wpg はローカルマシンからの接続だけを受け付け、起動時に警告します。パスワードを設定するまでは、ローカル以外のアドレスに bind しないでください。パスワードは argon2id ハッシュで保存され、セッションは HttpOnly、SameSite=Strict の Cookie で管理され、ログイン失敗の繰り返しはレート制限されます。ネットワーク越しにアクセスするときは TLS を前段に置きます (--tls、wpg.toml の証明書、またはリバースプロキシ)。
ログインするとダッシュボードが開きます。インタフェース状態、実行中ジョブ、直近の統計が見られます。続いて次の画面を使います。
テンプレート : 同梱ライブラリ (examples、protocols、scenarios、malformed) が一覧され、タグ (protocol:ipv4、layer:l3、scenario、malformed) で検索できます。開くか、複製して自分用にします。
ビルダー : レイヤを積み、フィールド (Auto/Manual、ジェネレータ) を編集し、Hex ダンプとフィールドツリーの更新を確認します。空のビルダーには「Ethernet II / IPv4 / UDP」などのよく使う構成が並び、各フィールドには既定値 (MAC アドレス、IP アドレスなど) が入った入力欄が最初から表示されます。入力するとその値が手動の値になり、↺ で既定値に戻ります。
既定では規格どおりのパケットだけを作れます。長さ・チェックサムなどの自動計算フィールドは固定され、規格外の値 (長さやチェックサムの不一致、制約外の値など) はフィールドの下とツールバーにエラーとして表示され、保存とジョブ作成ができません。
異常系のパケットを作るときは、ツールバーの 不正なパケットを許可 をオンにします。自動計算フィールドを「上書き」でき、規格外の値は警告として扱われます。設定はブラウザごとに保存され、規格外の値を含むテンプレート (malformed など) を開くと自動でオンになります。
ジョブ : テンプレート、インタフェース、レート、回数を選んで開始します。送出せずファイルに書き出す をオンにするとドライラン (pcapng の書き出し) になります。バースト、ワーカ数、検証用シグネチャは 詳細設定 にあります。終了したジョブは もう一度実行 で再実行でき、新しいジョブとして編集 で設定をフォームに読み込めます。
設定 : 言語 (日本語・英語・中国語簡体字・中国語繁体字・韓国語・ドイツ語・フランス語・スペイン語)、テーマ、テンプレートのライブラリパス。
言語の切り替え (ヘッダの言語メニュー) とテーマの切り替えは、どの画面でもヘッダにあります。
送信が拒否されたら wpg doctor を実行し、権限設定 を読んでください。その後 ARP スイープのチュートリアル に進みます。
所要時間: 約 15 分。必要な権限: ステップ 5 までは不要です (それまではドライランです)。
/22 の全ホストアドレスに対する ARP 要求 (「10.0.0.x は誰?」) を順に送るストリームと、同じスイープを複数の VLAN の中で繰り返すストリームです。ARP キャッシュを埋める、スイッチのブロードキャスト転送を確認する、といった用途に使えます。
同梱の 3 つのテンプレートを使います。
テンプレート フレーム数 内容
templates/examples/arp-sweep.wpg.yaml254 最小のスイープ (range ジェネレータ 1 つ)
templates/scenarios/arp-sweep-slash22.wpg.yaml1022 CIDR ブロックをジェネレータにする
templates/scenarios/vlan-arp-sweep.wpg.yaml1016 2 つのジェネレータ (VLAN x アドレス) を nested で組み合わせる
wpg を一度ビルドし (Linux 、macOS 、Windows )、リポジトリのルートでコマンドを実行します。例ではバイナリを wpg と書いています。PATH に無い場合は ./target/release/wpg に読み替えてください。tshark は必須ではありませんが確認に役立ちます。
送信してよいのは、自分が所有する、または試験を許可されたネットワークだけです (法的注意 )。
layers:
- protocol: ethernet2
fields:
dst: ff:ff:ff:ff:ff:ff
src: ${src_mac}
- protocol: arp
fields:
oper: request
sha: ${src_mac}
spa: ${src_ip}
tha: 00:00:00:00:00:00
generators:
tpa: ${first}-${last} # range ジェネレータの短縮表記
generators.tpa がストリーム全体で ARP のターゲット IP を変化させます。${...} はテンプレート変数で、実行時に --var 名前=値 で上書きできます。Ethernet の ethertype は書いていません。Auto なので、次のレイヤが ARP であることから 0x0806 になります。
最初のフレームを表示します。
$ wpg template show templates/scenarios/vlan-arp-sweep.wpg.yaml
Hex dump (60 bytes)
0000 ff ff ff ff ff ff 02 00 00 00 00 01 81 00 00 64 ...............d
0010 08 06 00 01 08 00 06 04 00 01 02 00 00 00 00 01 ................
0020 0a 00 00 fa 00 00 00 00 00 00 0a 00 00 01 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ................
...
末尾はゼロパディングです。ARP 要求は 42 オクテットですが、Ethernet のフレームは 60 オクテット必要です (FCS は NIC が付けます)。
arp-sweep-slash22.wpg.yaml は、変数に入れた CIDR ブロックをジェネレータにします。
variables:
- name: net
default: 10.0.0.0/22
layers:
- protocol: arp
generators:
tpa: ${net}
CIDR ジェネレータはホストアドレスだけを返すので、/22 では 1022 フレーム (10.0.0.1 から 10.0.3.254) になります。ネットワークには触れず pcapng に書き出します。
$ wpg render templates/scenarios/arp-sweep-slash22.wpg.yaml -o /tmp/sweep.pcapng
Wrote 1022 packets to /tmp/sweep.pcapng.
ファイルを編集せず別のサブネットにすることもできます。
$ wpg render templates/scenarios/arp-sweep-slash22.wpg.yaml -o /tmp/sweep.pcapng --var net=10.1.0.0/22
vlan-arp-sweep.wpg.yaml は 802.1Q タグを挿入し、ジェネレータをもう 1 つ追加します。
- protocol: dot1q
generators:
vid: ${vids} # 既定 100-103
- protocol: arp
generators:
tpa: ${first}-${last} # 既定 10.0.0.1-10.0.0.254
stream:
mode: nested
order: [dot1q.vid, arp.tpa] # 遅い方から
ジェネレータが 2 つあるときは組み合わせ方を指定します。zip は同時に進め、product は直積、nested は順序を明示した直積です。ここでは VLAN が遅いループなので、VLAN 100 で 254 アドレス、次に VLAN 101、と続き、4 x 254 = 1016 フレームになります。リストで 2 つの VLAN に絞ることもできます。
$ wpg render templates/scenarios/vlan-arp-sweep.wpg.yaml -o /tmp/vlan-sweep.pcapng --var vids=100,200
Wrote 508 packets to /tmp/vlan-sweep.pcapng.
$ tshark -r /tmp/vlan-sweep.pcapng -T fields -e vlan.id -e arp.dst.proto_ipv4 | sed -n '1p;254p;255p;$p'
100 10.0.0.1
100 10.0.0.254
200 10.0.0.1
200 10.0.0.254
テンプレートを編集したら wpg template lint を実行してください。未知のフィールド、範囲外の値、ジェネレータの書式誤りを送信前に検出できます。
まずファイル出力 (pcapfile。-i が出力パスになります) または破棄 (null) のバックエンドで予行演習します。
$ wpg send templates/scenarios/arp-sweep-slash22.wpg.yaml --backend null -i lo --rate 100kpps
Sending on lo via null: rate 100000pps, burst 1, 1022 packets, 1 worker(s), plan PreRender (...)
state finished (stream exhausted)
packets 1022
bytes 61320
次にラボのインタフェースへ実際に送信します。生ソケットの送信には権限が必要です (権限設定 )。wpg ifaces でインタフェースを確認し、バックエンドが拒否されたら wpg doctor を実行します。
$ wpg ifaces
$ wpg send templates/scenarios/vlan-arp-sweep.wpg.yaml -i eth1 --rate 2000pps
ストリームを 1 回送信して (1016 フレームを 2000 fps で約 0.5 秒) サマリを表示します。--count 10000 でスイープを繰り返し、--duration 30s で時間指定もできます。
試験対象の ARP/ネイバーテーブル (ip neigh、show ip arp) とスイッチの MAC テーブルを確認します (送信元 MAC 02:00:00:00:00:01 が使った VLAN に現れるはずです)。
同じセグメントの Linux ホストで tcpdump -e -n -i eth1 arp を実行すると、VLAN タグ付きの要求が見えます。
スイープの送信元アドレスは架空の 10.0.0.250 です。応答を観測したいときは --var で src_mac と src_ip を変更します。
所要時間: 約 20 分。必要な権限: ステップ 5 までは不要です。
802.1Q VLAN 内で、送信元アドレス・送信元ポート・初期シーケンス番号をランダムにした TCP SYN を 10 万個送るストリームです。一般的な SYN オプション (MSS、SACK-permitted、ウィンドウスケール) を付けます。多数のクライアントからファイアウォールやロードバランサ、コネクション追跡テーブルに負荷をかけ、SYN の扱いを観察する用途です。wpg はステートレスで、ハンドシェイクを完了させず SYN-ACK にも応答しません。
自分が所有する、または試験を許可されたラボ機器に対してのみ使用してください。
wpg をビルドし、リポジトリのルートで実行します (Linux へのインストール )。使うテンプレートは templates/scenarios/vlan-syn-flood.wpg.yaml です。より小さい例として templates/examples/vlan-tcp-syn.wpg.yaml もあります。
layers:
- protocol: ethernet2
fields: { dst: ${dst_mac}, src: ${src_mac} }
- protocol: dot1q # TPID 0x8100 は ethernet2 に自動で入る
fields:
vid: ${vid}
- protocol: ipv4
fields:
dst: ${dst_ip}
ttl: 64
flags: df
generators:
src: { kind: random, min: 10.0.0.1, max: 10.255.255.254 }
- protocol: tcp
fields:
dst_port: ${dst_port}
flags: syn
window: 64240
options:
- mss: 1460
- sack_permitted
- ws: 7
generators:
src_port: { kind: random, min: 1024, max: 65535 }
seq: { kind: random, min: 0, max: 4294967295 }
stream:
seed: 7
count: 100000
tx:
rate: 50kpps
burst: 32
知っておくと良い点です。
それ以外は何も書いていません。 IPv4 の ihl・total_length・protocol・header_checksum、TCP の data_offset と checksum (IPv4 疑似ヘッダ込み)、dot1q/Ethernet の EtherType はすべて Auto で、フレームごとに再計算されます。TCP オプション領域は 32 ビット境界まで自動でパディングされます。
オプションは型付きです。 mss: 1460、sack_permitted、ws: 7、nop、timestamps: { tsval: 1000, tsecr: 0 } が組み込み名で、それ以外は { type: 99, data: "01 02" } と書けます。
stream.seed でランダムを再現可能にします。 同じ seed なら、実行するたび、マシンが違っても同じ 10 万フレームになります。
tx.rate と tx.burst は既定値で、wpg send --rate で上書きできます。
$ wpg render templates/scenarios/vlan-syn-flood.wpg.yaml -o /tmp/syn.pcapng --count 3
Wrote 3 packets to /tmp/syn.pcapng.
$ tshark -r /tmp/syn.pcapng -o tcp.check_checksum:TRUE
1 0.000000 10.114.228.243 → 198.51.100.7 TCP 70 2311 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM WS=128
2 0.000001 10.99.228.10 → 198.51.100.7 TCP 70 51321 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM WS=128
3 0.000002 10.251.163.120 → 198.51.100.7 TCP 70 10483 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM WS=128
Wireshark はチェックサム不正を報告しません。(Seq=0 は Wireshark が表示する相対シーケンス番号で、実際の値はランダムです。) tshark -V -c 1 で ID: 100 の 802.1Q ヘッダも確認できます。
${...} はすべて変数で、既定値はファイル先頭の variables: にあります。コマンドラインで上書きします。
$ wpg render templates/scenarios/vlan-syn-flood.wpg.yaml -o /tmp/syn.pcapng \
--var vid=200 --var dst_ip=203.0.113.9 --var dst_port=8443 --count 1000
MAC アドレスは --var src_mac=… と --var dst_mac=… で設定します。宛先 MAC は、送信インタフェースから見た試験対象 (ネクストホップ) の MAC にします。
ストリームの長さは固定 (stream.count: 100000) です。wpg send は小さなストリームをメモリに事前レンダリングし (既定のしきい値 256 MiB)、大きなものはその場で展開します。--plan prerender または --plan onthefly で強制できます。
まず予行演習をしてから、ラボのインタフェースに送信します (権限設定 )。
$ wpg send templates/scenarios/vlan-syn-flood.wpg.yaml --backend null -i lo --rate 20kpps --count 5000
$ wpg send templates/scenarios/vlan-syn-flood.wpg.yaml -i eth1 --rate 50kpps \
--var vid=200 --var dst_ip=203.0.113.9 --var dst_mac=00:11:22:33:44:55
最初のバーストで落ちる機器には、緩やかに上げていくのが有効です。--ramp-up 10s はレートをゼロから直線的に上げます。詳しくは 負荷とレート制御 を参照してください。
ファイアウォールやロードバランサの接続数・SYN カウンタ (show conn count、conntrack -C、SYN cookie カウンタ) を見ます。
Linux の対象機器では nstat -az TcpExtTCPReqQFullDoCookies と ss -s で SYN キューの挙動が分かります。
送信側では、wpg send 終了時のサマリに packets・bytes・dropped と、目標に対する達成レートが出ます。
flags: syn を syn|ack、rst、fin|ack に変えると、ステートフル機器が状態外のセグメントをどう扱うかを試せます。
宛先ポート 1-1024 を走査するには templates/scenarios/tcp-syn-port-scan.wpg.yaml を使います。
実際のキャプチャを編集できるテンプレートにするには pcap からテンプレートへ変換して再生 を参照してください。
所要時間: 約 25 分。必要な権限: ステップ 6 までは不要です。
このページでは、型・長さ・チェックサムが互いに導出される複数レイヤと、ネットワーク層アドレスから計算するリンク層マルチキャストアドレスを、IPv6 スタックで練習します。IP を使わない OSI 系のスタック (LLC 上の IS-IS) は IS-IS Hello で隣接を Up にする で扱います。
IPv6 のリンク上の動作を支える近隣探索メッセージと、近隣要請のスイープです。
テンプレート メッセージ
templates/protocols/l3/ndp-rs.wpg.yamlff02::2 宛てのルータ要請
templates/protocols/l3/ndp-ra.wpg.yamlSLLA・MTU・/64 プレフィックス付きのルータ通知
templates/protocols/l3/ndp-ns.wpg.yaml被請求ノードグループ宛ての近隣要請
templates/protocols/l3/ndp-na.wpg.yamlターゲットリンク層アドレス付き近隣通知 (S=1, O=1)
templates/protocols/l3/ndp-redirect.wpg.yamlリダイレクト
templates/scenarios/ndp-ns-sweep.wpg.yaml2001:db8::1 から ::100 までの近隣要請 256 個
templates/scenarios/ra-flood.wpg.yamlランダムなリンクローカル送信元からの RA 1 万個 (RA guard の試験用)
wpg をビルドし、リポジトリのルートで実行します。送信してよいのは自分が所有する、または試験を許可されたラボだけです。偽の RA はセグメント上の全ホストを混乱させる可能性があります。
$ wpg template show templates/protocols/l3/ndp-ns.wpg.yaml
Hex dump (86 bytes)
0000 33 33 ff 00 00 02 02 00 00 00 00 01 86 dd 60 00 33............`.
0010 00 00 00 20 3a ff 20 01 0d b8 00 00 00 00 00 00 ... :. .........
...
Layout
[0] ethernet2 bytes 0..86
dst: 33:33:ff:00:00:02
src: 02:00:00:00:00:01
ethertype: 0x86dd (ipv6) (auto)
[1] ipv6 bytes 14..86
payload_length: 32 (auto)
next_header: 0x3a (icmpv6) (auto)
hop_limit: 255
src: 2001:db8::1
dst: ff02::1:ff00:2
[2] icmpv6 bytes 54..86
type: 0x87 (neighbor_solicitation) (auto)
code: 0
checksum: 7207 (auto)
[3] ndp_ns bytes 58..86
reserved: 0
target: 2001:db8::2
options: 01 01 02 00 00 00 00 01
(auto) の値はすべて、入力ではなく導出されたものです。
ethernet2.ethertype = 0x86dd: 次のレイヤが ipv6 だからです。
ipv6.next_header = 58: 次のレイヤが icmpv6 だからです。payload_length は 40 オクテットのヘッダ以降すべてを数えます。
icmpv6.type = 135: 次のレイヤが ndp_ns だからです。ICMPv6 メッセージは意図的に 2 つのレイヤに分かれています。icmpv6 が type・code・checksum を持ち、本体レイヤ (ndp_ns、ndp_na、ndp_rs、ndp_ra、ndp_redirect、icmpv6_echo) が type を決めます。
icmpv6.checksum は IPv6 疑似ヘッダ、ICMPv6 ヘッダ、本体全体にかかるため、下位のどのフィールドを変えても変わります。
元の YAML は短いものです。
layers:
- protocol: ethernet2
fields: { dst: "33:33:ff:00:00:02", src: "02:00:00:00:00:01" }
- protocol: ipv6
fields:
src: 2001:db8::1
dst: ff02::1:ff00:2
hop_limit: 255 # NDP は 255 が必須
- protocol: icmpv6 # type: auto
- protocol: ndp_ns
fields:
target: ${target}
options: "01 01 02 00 00 00 00 01" # 送信元リンク層アドレス
2001:db8::2 の近隣要請は、被請求ノードマルチキャストグループ ff02::1:ff00:2 (ff02::1:ff にターゲットの下位 24 ビット) 宛てに、Ethernet ではマルチキャスト MAC 33:33: に IPv6 宛先の下位 32 ビットを付けた 33:33:ff:00:00:02 宛てに送ります。wpg は一方から他方を導出しないので、target を変えたら ipv6.dst と ethernet2.dst も変える必要があります (スイープのように全ノード宛て ff02::1 / 33:33:00:00:00:01 に送る方法もあります)。
hop_limit: 255 にも注意してください。受信側は他の値の NDP メッセージを破棄するため、既定の 64 のままだと Wireshark では正しく見えるのに何も起きないパケットになります。
NDP オプション (options) は 16 進で書きます。01 01 02 00 00 00 00 01 は、タイプ 1 (送信元リンク層アドレス)、長さ 1 (8 オクテット単位)、続いて 6 オクテットの MAC です。ルータ通知のテンプレートは 3 つのオプションを連結しています。
options: >-
01 01 02 00 00 00 00 01
05 01 00 00 00 00 05 dc
03 04 40 c0 00 27 8d 00 00 09 3a 80 00 00 00 00
20 01 0d b8 00 01 00 00 00 00 00 00 00 00 00 00
オクテット オプション
01 01 02 00 00 00 00 01送信元リンク層アドレス 02:00:00:00:00:01
05 01 00 00 00 00 05 dcMTU 1500
03 04 40 c0 00 27 8d 00 00 09 3a 80 00 00 00 00 20 01 0d b8 00 01 00 00 00 00 00 00 00 00 00 00プレフィックス情報: /64 (40)、on-link + autonomous (c0)、有効期間 2592000 秒、優先期間 604800 秒、プレフィックス 2001:db8:1::
オプションは生のオクテットなので、長さ 0 のオプションやパケット末尾を越えるオプション、未知のタイプなど、わざと変なものも作れます。
$ wpg render templates/protocols/l3/ndp-ns.wpg.yaml -o /tmp/ns.pcapng
$ tshark -r /tmp/ns.pcapng -V | sed -n '/Internet Control/,$p'
Internet Control Message Protocol v6
Type: Neighbor Solicitation (135)
Code: 0
Checksum: 0x1c27 [correct]
[Checksum Status: Good]
Reserved: 00000000
Target Address: 2001:db8::2
ICMPv6 Option (Source link-layer address : 02:00:00:00:00:01)
重要なのは [correct] です。疑似ヘッダ込みのチェックサムを wpg が自分で計算しています。
ndp-ns-sweep.wpg.yaml は target ジェネレータに IPv6 の範囲を指定します。
- protocol: ndp_ns
generators:
target: 2001:db8::1-2001:db8::100
$ wpg render templates/scenarios/ndp-ns-sweep.wpg.yaml -o /tmp/ns-sweep.pcapng
Wrote 256 packets to /tmp/ns-sweep.pcapng.
宛先は全ノードグループなので、セグメント上の全ホストが 256 個すべてを受け取り、自分のアドレス分にだけ応答します。実際のホストはターゲットごとの被請求ノードグループに送りますが、スイープでは単純な 1 テンプレートにするためそれを省いています。
ra-flood.wpg.yaml は、送信元 MAC (OUI 固定の random_mac) と送信元リンクローカルアドレスにランダムジェネレータを使う例で、どちらも stream.seed で再現できます。
$ wpg send templates/scenarios/ndp-ns-sweep.wpg.yaml --backend null -i lo --rate 1000pps
$ wpg send templates/scenarios/ndp-ns-sweep.wpg.yaml -i eth1 --rate 1000pps
(権限は 権限設定 を参照。) 対象機器では ip -6 neigh や show ipv6 neighbors で学習結果を、別ホストの tcpdump -n -i eth1 icmp6 で要請と通知を確認できます。
本体プロトコルがまだ無いタイプ (たとえば MLD) は、icmpv6.type を明示的に設定し、チェックサム以降の 4 オクテットとメッセージを含む raw レイヤを続けます。IPv6 拡張ヘッダの連鎖は専用のサンプルがあります: templates/protocols/l3/ の ipv6-hopopts、ipv6-dstopts、ipv6-routing、ipv6-frag、ipv6-ext-chain です。
所要時間: 約 20 分。必要な権限: なし (全体を通して null と pcapfile バックエンドを使います)。
ここで扱う技術 (大量生成、レート、時間、ランプアップ、ワーカー) はどのテンプレートでも使えます。実際のサーバに負荷をかけて応答を数える例は DHCP サーバの負荷試験 にあります。
テンプレートを指定のレートと時間で送出し、返ってくるサマリを読み、ラボの制限内に収めるためのコマンド群です。題材は MAC フラッド (templates/scenarios/mac-flood.wpg.yaml、ランダムな送信元 MAC の 10 万フレーム) と SYN フラッド (templates/scenarios/vlan-syn-flood.wpg.yaml) です。
wpg をビルドし、リポジトリのルートで実行します。実際の送信には権限とラボのインタフェースが必要ですが、このチュートリアルは --backend null (フレームを作って数えるだけで送らない) を使うので、どこでも実行できます。実際に送るときは --backend null -i lo を -i eth1 などに置き換えます。
負荷をかけてよいのは、自分が所有する、または試験を許可された機器だけです。
停止条件と速度はテンプレートの tx: にあり、コマンドラインで上書きできます。
オプション 意味 例
--count NN フレームで停止 (N がストリームより長ければ先頭に戻る) --count 50000
--duration TT 秒/分で停止 --duration 10s、--duration 2m
--rate R目標レート 250kpps、1Mpps、1Gbps、50%、ifg=10us、unlimited
--burst Bレート制御 1 回あたりに連続送信するフレーム数 --burst 32
回数と時間の両方を指定した場合は先に達した方で終了します。bps 指定はレイヤ 1 のバイト数 (プリアンブル、FCS、フレーム間ギャップ込み) で数えます。% はリンク速度が分かる実インタフェースが必要です (lo では失敗します)。
$ wpg send templates/scenarios/udp-qos-matrix.wpg.yaml --backend null -i lo --rate 250kpps --count 50000
Sending on lo via null: rate 250000pps, burst 1, 50000 packets, 1 worker(s), plan PreRender (...)
state finished (count reached)
backend null
packets 50000
bytes 10100000
dropped 0
elapsed 0.200 s
average 250.00 kpps 404.00 Mbps (L2) 452.00 Mbps (L1)
accuracy target 250.00 kpps achieved 100.00% max jitter 454.12µs mean jitter 202ns
(数値は環境によって異なります。) まず最後の 2 行を読みます。average は実際に送れたレート、accuracy は目標にどれだけ近く送れたかです。dropped が大きいときは、バックエンドが追い付いていません。
最初のバーストで落ちる機器は、レートを上げていくと特性を調べやすくなります。--ramp-up はレートをゼロから目標まで指定時間で直線的に上げます。
$ wpg send templates/scenarios/vlan-syn-flood.wpg.yaml --backend null -i lo --rate 20kpps --ramp-up 1s --duration 3s
[ 3.0 s] 50023 pkts 16.67 kpps 9.34 Mbps dropped 0 rate 100.0%
state finished (duration elapsed)
packets 50023
elapsed 3.000 s
average 16.67 kpps 9.34 Mbps (L2) 12.54 Mbps (L1)
accuracy target 20.00 kpps achieved 100.04% max jitter 3.196862ms mean jitter 115.686µs
最初の 1 秒がランプなので、平均 (16.67 kpps) は目標 20 kpps を下回ります。
--start-at は最初のフレームの前に待ちます。遅延 (+10s) か RFC 3339 の時刻 (2026-09-29T12:00:00Z) を指定します。複数の送信側を同時に始めたいときや、キャプチャを起動する時間が欲しいときに便利です。
$ wpg send templates/scenarios/vlan-syn-flood.wpg.yaml --backend null -i lo --start-at +2s --count 10
Scheduled start at +2s (in 2.0 s); Ctrl-C cancels.
ワーカー 1 つは CPU コア 1 つが上限です。--workers N は N 本の送信スレッドを起動し、それぞれが独立したバックエンドインスタンスと、ストリームおよびレートの分担を持ちます。--pin-cores 2,3 でコアに固定できます (Linux)。
$ wpg send templates/scenarios/vlan-syn-flood.wpg.yaml --backend null -i lo --rate unlimited --count 100000 --workers 2
average 10.35 Mpps 5.79 Gbps (L2) 7.78 Gbps (L1)
worker 0 50000 pkts 3500000 bytes
worker 1 50000 pkts 3500000 bytes
null バックエンドでの unlimited は、フレームを作る速さの測定であり、ネットワークの数値ではありません。afpacket バックエンドでは --batch、--ring-depth、--qdisc-bypass、--no-tx-ring も使えます (wpg send --help)。詳しくは 性能チューニング を参照してください。
--plan auto (既定) は、ストリームが小さければ (しきい値 256 MiB) メモリに事前レンダリングして送信ループではバイトのコピーだけを行い、大きければその場で展開します。--plan prerender または --plan onthefly で強制できます。ランダムジェネレータの値は stream.seed から決まるので、再現性が必要なら seed を指定してください。
--json は最終レポートを JSON で標準出力に出します (進捗とバナーは標準エラー)。CI やスクリプト向けです。
$ wpg send templates/scenarios/mac-flood.wpg.yaml --backend null -i lo --count 100000 --json | jq '{state: .state.state, packets: .backend.packets, dropped: .backend.dropped}'
実行に失敗したとき (たとえばバックエンドが拒否された) は終了コードが 0 以外になるので、wpg send はパイプラインの 1 ステップにできます。
wpg.toml の [tx] max_rate (例: max_rate = "100kpps") で全員に対する上限を設定し、allowed_ifaces で使えるインタフェースを制限します。設定リファレンス を参照してください。
Ctrl-C で実行をキャンセルできます。
新しいテンプレートは、毎回予行演習用のバックエンド (null、または -i out.pcapng を指定した pcapfile) で試してから送ります。
所要時間: 約 20 分。必要な権限: 最後のステップまで不要です。
キャプチャ (ここでは再現しやすいよう wpg で作りますが、Ethernet の pcap/pcapng なら何でも構いません) を編集可能なテンプレートに変換し、元と同じバイト列に戻す往復です。途中で wpg は、パケット間で変化するフィールドを見つけてジェネレータにします。
wpg import は pcap (両バイトオーダー、マイクロ秒/ナノ秒) と pcapng を読みます。リンク層は Ethernet のみで、フレームに FCS は付いていない前提です。貼り付けた 16 進も読めます。
wpg をビルドし、リポジトリのルートで実行します。tshark は確認にだけ使います。
$ wpg render templates/examples/arp-sweep.wpg.yaml -o /tmp/arp.pcapng
Wrote 254 packets to /tmp/arp.pcapng.
実際には tcpdump -i eth0 -w capture.pcap や Wireshark で取得したファイルを使います。
$ wpg import /tmp/arp.pcapng -o /tmp/arp.wpg.yaml
Imported 254 packet(s) into 1 template(s): /tmp/arp.wpg.yaml
結果は次のとおりです。
schema: 1
meta:
name: arp
description: Imported from /tmp/arp.pcapng (254 packets)
...
tags:
- imported
layers:
- protocol: ethernet2
fields:
dst: ff:ff:ff:ff:ff:ff
src: 02:00:00:00:00:01
ethertype: auto
- protocol: arp
fields:
htype: ethernet
ptype: ipv4
hlen: 6
plen: 4
oper: request
sha: 02:00:00:00:00:01
spa: 192.168.1.10
tha: 00:00:00:00:00:00
generators:
tpa:
kind: range
start: 192.168.1.1
end: 192.168.1.254
step: 1
- protocol: raw
fields:
data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
stream:
mode: zip
count: 254
3 つのことが起きています。
フィールドは人間向け表記 (192.168.1.10、request、ethernet) になり、wpg が再計算できるフィールドは、そうしても取り込んだバイト列が再現できる場合に限り auto に戻されます。チェックサムや長さが誤ったキャプチャでは、そのフィールドが手動値のまま残るので、わざと壊したトラフィックも失われません。
ジェネレータ推定。 254 フレームすべてが同じレイヤ構成で、arp.tpa が毎回 +1 なので、(厳密な) range ジェネレータになりました。周期的な繰り返しは list、少数の値の集合は近似の list、それ以外は観測した最小/最大の random になります (近似のときは警告が出ます)。--no-detect-generators で先頭パケットの値だけを使うこともできます。
ARP の後ろの 0 が 18 オクテット は、キャプチャに含まれていた Ethernet のパディングです。インポータはプロトコルに帰属できないバイトを raw レイヤに残し、フレームを正確に再現します。このレイヤは削除して構いません。packet.pad_to_min (既定) で wpg が自分でパディングします。
$ wpg template lint /tmp/arp.wpg.yaml
/tmp/arp.wpg.yaml: no issues
0 error(s), 0 warning(s) in 1 file(s)
$ wpg render /tmp/arp.wpg.yaml -o /tmp/arp2.pcapng
Wrote 254 packets to /tmp/arp2.pcapng.
$ diff <(tshark -r /tmp/arp.pcapng -x) <(tshark -r /tmp/arp2.pcapng -x) && echo identical
identical
フレームはバイト単位で一致します (タイムスタンプは wpg が独自に付けるので異なります)。
テンプレートになったので、何でも変更できます。
定数を変数にする: 192.168.1.10 を ${src_ip} に置き換え、variables: [{ name: src_ip, default: 192.168.1.10 }] を追加して、wpg render … --var src_ip=10.9.8.7 を実行します。
スイープを広げる: range を 192.168.0.1-192.168.7.254 に変更します。
oper: reply にするとキャプチャを応答に変えられます。
packet: { fcs: bad } を加えると、不正な FCS を機器がどう扱うか試せます。
スイープではなく会話のキャプチャなら、パケットごとに 1 テンプレートを作らせます。
$ wpg import /tmp/capture.pcap --per-packet /tmp/templates/
Wireshark の「Copy → as a Hex Stream」、xxd/hexdump -C の出力、空白区切りのバイト列はパイプで渡せます。
$ echo "ff ff ff ff ff ff 02 00 00 00 00 01 08 06 00 01 08 00 06 04 00 01 02 00 00 00 00 01 c0 00 02 01 00 00 00 00 00 00 c0 00 02 02" \
| wpg import --hex - -o -
Ethernet II 以外で始まるキャプチャには --first-protocol を使います。wpg が知らないプロトコルのフレームは、デコードできた最後のレイヤの後ろに raw バイト列として残るので、再生はできます。
テンプレートと元のキャプチャを、同僚がインポートできるバンドルにまとめます。
$ wpg template export /tmp/arp.wpg.yaml -o /tmp/arp.wpgbundle --attach /tmp/arp.pcapng
$ wpg template import /tmp/arp.wpgbundle -o ./my-templates
ほかのテンプレートと同様に、好きなレートで送信します。
$ wpg send /tmp/arp.wpg.yaml -i eth1 --rate 500pps
オプションは 負荷とレート制御 を参照してください。
所要時間: 約 25 分。必要な権限: ステップ 3 まで不要、ステップ 4 から root (名前空間と afpacket)。
多数のクライアントを装って DHCPDISCOVER を送り、DHCP サーバが返す DHCPOFFER を数えて、サーバがどのレートまで追従できるかを調べます。1 フレームごとに送信元 MAC と chaddr (クライアントのハードウェアアドレス) を揃えて変え、トランザクション ID (xid) をランダムにします。サーバには、1 台の Linux 上の名前空間で動かす dnsmasq を使います。
wpg はステートレスです。OFFER を受け取っても DHCPREQUEST は返さないので、DORA (Discover / Offer / Request / Ack) は完了せず、リースも作られません。測れるのは DISCOVER の処理能力で、アドレスプールの枯渇試験ではありません (ステップ 6)。
自分が所有する、または試験を許可された DHCP サーバに対してのみ使用してください。本番セグメントに DISCOVER を大量に流すと、本物のクライアントがアドレスを取れなくなることがあります。
wpg をビルドし、リポジトリのルートで実行します (Linux へのインストール )。使うテンプレートは templates/scenarios/dhcp-discover-flood.wpg.yaml です。1 フレームだけの例として templates/protocols/app/dhcpv4-discover.wpg.yaml もあります。ステップ 4 以降は Linux、iproute2、dnsmasq (sudo apt install dnsmasq-base) と root が必要です。
variables:
- name: oui
default: "02:00:5e"
layers:
- protocol: ethernet2
fields:
dst: "ff:ff:ff:ff:ff:ff"
generators:
src: { kind: range, start: "${oui}:00:00:01", end: "${oui}:ff:ff:ff" } # one MAC per client
- protocol: ipv4
fields:
src: 0.0.0.0
dst: 255.255.255.255
- protocol: udp
fields:
src_port: 68
dst_port: 67
- protocol: dhcpv4
fields:
op: boot_request
flags: broadcast
options:
- { message_type: discover }
- { parameter_request_list: [1, 3, 6, 15, 51] } # mask, router, DNS, domain, lease
- end
generators:
chaddr: { kind: expr, expr: "$0.src" } # the same MAC as the Ethernet source (layer 0)
xid: { kind: expr, expr: "rand(0, 0xffffffff)" }
stream:
seed: 1
count: 10000
tx:
rate: 200pps
知っておくと良い点です。
送信元 MAC は連番です。 range は MAC アドレスにも使え、02:00:5e:00:00:01 から 1 ずつ増えます。先頭オクテットの 02 はローカル管理アドレスで、実在の機器と重なりません。--var oui=… で上位 3 オクテットを変えられます。
chaddr は式で送信元 MAC を写します。 expr ジェネレータの $0.src は「レイヤ 0 (ethernet2) の src ジェネレータの、このフレームでの値」です。サーバはふつう chaddr でクライアントを識別するので、2 つがずれると試験になりません。式の書き方は テンプレートスキーマ を参照してください。
xid はフレームごとのランダム値です。 rand(min, max) はフレーム番号から決まる乱数で、stream.seed が同じなら何度実行しても同じ値になります。
書いていないフィールドは Auto か既定値です。 IPv4 の長さとチェックサム、UDP の長さとチェックサム (疑似ヘッダ込み) は Auto で、DHCP の htype / hlen、sname と file のゼロ埋め、マジッククッキーは既定値で入ります。
$ wpg render templates/scenarios/dhcp-discover-flood.wpg.yaml -o /tmp/dhcp.pcapng --count 3
Wrote 3 packets to /tmp/dhcp.pcapng.
$ tshark -r /tmp/dhcp.pcapng
1 0.000000 0.0.0.0 → 255.255.255.255 DHCP 293 DHCP Discover - Transaction ID 0xc4c98940
2 0.000001 0.0.0.0 → 255.255.255.255 DHCP 293 DHCP Discover - Transaction ID 0xef7b0650
3 0.000002 0.0.0.0 → 255.255.255.255 DHCP 293 DHCP Discover - Transaction ID 0x330355d7
$ tshark -r /tmp/dhcp.pcapng -o udp.check_checksum:TRUE -T fields -e eth.src -e dhcp.hw.mac_addr -e udp.checksum.status
02:00:5e:00:00:01 02:00:5e:00:00:01 1
02:00:5e:00:00:02 02:00:5e:00:00:02 1
02:00:5e:00:00:03 02:00:5e:00:00:03 1
送信元 MAC と Client MAC address が一致し、UDP チェックサムは正しい (1 = Good) と判定されます。1 万フレーム全体でも確かめられます。
$ wpg render templates/scenarios/dhcp-discover-flood.wpg.yaml -o /tmp/dhcp-all.pcapng
Wrote 10000 packets to /tmp/dhcp-all.pcapng.
$ tshark -r /tmp/dhcp-all.pcapng -Y 'eth.src != dhcp.hw.mac_addr' | wc -l
0
クライアント数は --count で決まります (stream.count の 1 万を超えると MAC の連番が先頭に戻るので、それ以上は --var oui=… を変えた 2 本目のストリームにします)。
$ wpg render templates/scenarios/dhcp-discover-flood.wpg.yaml -o /tmp/dhcp-b.pcapng --var oui=02:00:5f
Wrote 10000 packets to /tmp/dhcp-b.pcapng.
このファイルの送信元 MAC は 02:00:5f:00:00:01 から 02:00:5f:00:27:10 (10000 = 0x2710) です。
名前空間 wpgdhcp に dnsmasq を起動し、veth (dh0 ⇔ dhs0) で wpg とつなぎます。プールは 50 アドレスです。
sudo ip netns add wpgdhcp
sudo ip link add dh0 type veth peer name dhs0
sudo ip link set dhs0 netns wpgdhcp
sudo ip link set dh0 up
sudo ip netns exec wpgdhcp ip link set lo up
sudo ip netns exec wpgdhcp ip link set dhs0 up
sudo ip netns exec wpgdhcp ip addr add 10.98.0.1/24 dev dhs0
sudo ip netns exec wpgdhcp dnsmasq --no-daemon --port=0 --interface=dhs0 --bind-interfaces \
--dhcp-range=10.98.0.10,10.98.0.59,10m --dhcp-authoritative --dhcp-leasefile=/tmp/wpg-leases \
--log-dhcp --log-facility=/tmp/wpg-dnsmasq.log &
--port=0 は DNS を無効にします。実機の DHCP サーバやルータを試験する場合は、dh0 の代わりにそのサーバにつながるラボのインタフェースを使います。
OFFER (送信元ポート 67) を wpg capture で数えながら、別の端末から DISCOVER を 100 個送ります。
$ sudo wpg capture -i dh0 -f "udp src port 67" --duration 3s --show 2 -w /tmp/offers.pcapng
$ sudo wpg send templates/scenarios/dhcp-discover-flood.wpg.yaml -i dh0 --backend afpacket --count 100
Capturing on dh0 via afpacket, filter udp src port 67 (Ctrl-C stops)
# 0 16:14:33.696984775 342 B ethernet2 / ipv4 / udp / dhcpv4
# 1 16:14:33.703225873 342 B ethernet2 / ipv4 / udp / dhcpv4
state finished (duration elapsed)
...
matched 100 pkts 34200 bytes
saved 100 pkts to /tmp/offers.pcapng
$ tshark -r /tmp/offers.pcapng -c 3
1 0.000000 10.98.0.1 → 255.255.255.255 DHCP 342 DHCP Offer - Transaction ID 0xc4c98940
2 0.006241 10.98.0.1 → 255.255.255.255 DHCP 342 DHCP Offer - Transaction ID 0xef7b0650
3 0.009784 10.98.0.1 → 255.255.255.255 DHCP 342 DHCP Offer - Transaction ID 0x330355d7
OFFER の xid は DISCOVER のもの (ステップ 2) と一致します。broadcast フラグを立てているので、OFFER は 255.255.255.255 宛てに返ります。
最初はとても遅く見えるはずです。 dnsmasq の既定の設定では、OFFER の前にそのアドレスへ ICMP Echo を送って使われていないことを確かめるため、DISCOVER 1 件に約 3 秒かかり、3 秒の捕捉では 1 件しか数えられません (ログ /tmp/wpg-dnsmasq.log に 3 秒おきの DHCPOFFER が並びます)。上の結果は dnsmasq に --no-ping を付けて起動し直したものです。このような「サーバ側の作りで決まる上限」を見つけることが、この種の試験の目的の 1 つです。
次にレートを上げて、OFFER が DISCOVER に追い付かなくなる点を探します。
for r in 1kpps 5kpps 20kpps; do
sudo wpg capture -i dh0 -f "udp src port 67" --duration 4s --show 0 > /tmp/cap-$r.txt &
sudo wpg send templates/scenarios/dhcp-discover-flood.wpg.yaml -i dh0 --backend afpacket --count 2000 --rate $r
wait; grep '^matched' /tmp/cap-$r.txt
done
開発用コンテナ (--no-ping) での結果です。値はホストとサーバ次第です。
送出レート DISCOVER OFFER 応答率
1 kpps 2000 2000 100%
5 kpps 2000 2000 100%
20 kpps 2000 1175 59%
応答率が下がり始めるレートが、このサーバの DISCOVER 処理能力の目安です。応答しなかった DISCOVER は、サーバのソケットの受信バッファで捨てられています。実機では、DHCP スヌーピングや CoPP (制御プレーンのポリシング) が先に落とすこともあります。その場合はスイッチやルータのカウンタも確認してください。
OFFER はアドレスを予約しません。 プールは 50 アドレスですが、100 個の DISCOVER すべてに OFFER が返り、提示されたアドレスは 50 種類でした (tshark -r /tmp/offers.pcapng -T fields -e dhcp.ip.your | sort -u | wc -l)。dnsmasq をはじめ多くのサーバは REQUEST / ACK でリースを作るので、DISCOVER だけではプールは枯渇しません。リース ファイル (/tmp/wpg-leases) も空のままです。
リースまで作る試験は wpg の対象外です。 OFFER を受けて REQUEST を返すのはステートフルな処理で、wpg の非ゴールです。プールの枯渇やリース保持の試験には、DHCP クライアントのエミュレータ (perfdhcp など) を使ってください。
リレー経由の試験 には templates/protocols/app/dhcpv4-relay.wpg.yaml (giaddr とオプション 82 付き、ユニキャスト) を元にします。宛先をサーバのアドレスにすれば、ルーティングされた先のサーバを試験できます。
DHCPv6 には templates/protocols/app/dhcpv6-solicit.wpg.yaml と dhcpv6-relay-forward.wpg.yaml があります。
後片付け:
sudo pkill -f 'dnsmasq --no-daemon --port=0 --interface=dhs0'
sudo ip netns del wpgdhcp # dh0 も一緒に消えます
--rate の代わりに --ramp-up 30s を付けると、レートを直線的に上げながら応答率の落ち始めを探せます。詳しくは 負荷とレート制御 。
GUI では、テンプレート画面でこのシナリオを開いてジョブから送出し、受信画面 (/rx) でフィルタ udp src port 67 を指定して OFFER を数えられます (受信と検証 )。
所要時間: 約 30 分。必要な権限: ステップ 2 まで不要、ステップ 3 から root (名前空間と afpacket)。
IS-IS のレベル 2 LAN Hello (IIH) を組み立てて FRR の isisd に送り、相手側で隣接が Initializing から Up になるまでを追います。題材は相互接続確認用のテンプレート templates/interop/isis-l2-lan-hello-up.wpg.yaml です。Ethernet の上に LLC (0xfe) と IS-IS が直接載る、IP を使わない OSI 系のスタックで、PDU 長、MTU までのパディング、IS Neighbors TLV による双方向確認を順に見ます。
wpg はステートレスです。Hello を送り続ければ隣接は維持されますが、LSP のフラッディングや DIS としての振る舞いはしません。
自分が所有する、または試験を許可されたルータに対してのみ使用してください。運用中の IS-IS ドメインに偽の隣接を作ると、経路計算に影響することがあります。
wpg をビルドし、リポジトリのルートで実行します (Linux へのインストール )。ステップ 3 以降は Linux、iproute2、FRR (sudo apt install frr。デーモンはスクリプトが直接起動するので、frr サービスは止めたままで構いません) と root が必要です。IS-IS の PDU と TLV の一覧は IS-IS (P2) にあります。
layers:
- protocol: dot3
fields:
dst: "01:80:c2:00:00:15" # AllL2ISs
src: ${src_mac}
length: auto
- protocol: llc
- protocol: isis_l2_lan_hello
fields:
circuit_type: l2
source_id: ${system_id}
holding_time: 30
priority: 0 # wpg does not flood LSPs, so let the peer be the DIS
lan_id: "0000 0000 0001 01" # overwritten by the DIS's LAN ID once the peer elects itself
# Manual PDU length: Padding TLVs fill the PDU up to it (MTU 1500 - LLC 3).
pdu_length: 1497
tlvs:
- { protocols_supported: [ipv4] }
- { area_addresses: [{ address: "${area}" }] }
- { ip_interface_addresses: ["${ip}"] }
- { is_neighbors: ["${peer_mac}"] }
tx:
count: 40 # two minutes of Hellos
rate: ifg=3s
知っておくと良い点です。
IS-IS は IP を使いません。 dot3 (長さフィールド付きの 802.3) の上に llc を置くと、DSAP / SSAP は 0xfe (OSI) に自動で決まります。IS-IS の NLPID 0x83 も PDU レイヤから自動で入ります。宛先 01:80:c2:00:00:15 はレベル 2 の全 IS 宛て (AllL2ISs) です。
pdu_length を Manual にするとパディングが付きます。 Auto のままなら PDU は TLV の分だけの長さです。値を書くと、PDU がちょうどその長さになるまで Padding TLV (種別 8) が自動で足されます。1497 は Ethernet の MTU 1500 から LLC ヘッダ 3 オクテットを引いた値です。相手は、Hello がこの大きさで届くことで MTU が一致していると判断します。
is_neighbors が双方向確認の鍵です。 LAN の隣接は、相手の Hello に自分の MAC (SNPA) が載っているのを見て初めて Up になります。peer_mac には相手インタフェースの MAC を入れます。
priority: 0 で DIS (代表 IS) の選出に負けるようにしています。wpg は DIS の仕事 (CSNP の送出や疑似ノード LSP) をしないためです。
System ID (source_id) は 6 オクテット、エリアアドレスは NSAP の表記 (49.0001) で書きます。
$ wpg render templates/interop/isis-l2-lan-hello-up.wpg.yaml -o /tmp/isis.pcapng --count 1
Wrote 1 packets to /tmp/isis.pcapng.
$ tshark -r /tmp/isis.pcapng
1 0.000000 02:00:00:00:00:01 → ISIS-all-level-2-IS's ISIS HELLO 1514 L2 HELLO, System-ID: 0000.0000.0001
$ tshark -r /tmp/isis.pcapng -V
...
ISIS HELLO
.... ..10 = Circuit type: Level 2 only (0x2)
SystemID {Sender of PDU}: 0000.0000.0001
Holding timer: 30
PDU length: 1497
.000 0000 = Priority: 0
SystemID {Designated IS}: 0000.0000.0001.01
Protocols Supported (t=129, l=1)
Area address(es) (t=1, l=4)
Area address (3): 49.0001
IP Interface address(es) (t=132, l=4)
IPv4 interface address: 10.99.0.1
IS Neighbor(s) (t=6, l=6)
IS Neighbor: 02:00:00:00:00:02 (02:00:00:00:00:02)
Padding (t=8, l=255)
Padding (t=8, l=255)
Padding (t=8, l=255)
Padding (t=8, l=255)
Padding (t=8, l=255)
Padding (t=8, l=160)
(-V の出力は抜粋です。) フレームは 1514 オクテット (MTU 1500 + Ethernet ヘッダ 14) です。PDU 1497 オクテットの内訳は、ヘッダ 27、上の 4 つの TLV 23、Padding TLV 6 個 (255 オクテットが 5 個と 160 オクテットが 1 個、それぞれ種別と長さの 2 オクテットを加えて 1447) です。
scripts/interop/frr-netns.sh が、名前空間 wpgfrr に FRR を起動し、veth (wpg0 ⇔ frr0) で wpg とつなぎます。FRR 側の IS-IS は net 49.0001.0000.0000.0002.00、is-type level-2-only です。--keep を付けると、相互接続確認のあともラボが残ります。
$ cargo build --release -p wpg-cli
$ sudo scripts/interop/frr-netns.sh --keep target/release/wpg
...
PASS IS-IS L2 adjacency Up
...
lab kept: ip netns exec wpgfrr vtysh -N wpg; tear down with scripts/interop/frr-netns.sh --down
スクリプト自身の確認で隣接が一度 Up になっています。最後の Hello から保持時間 (30 秒) が過ぎて消えるまで待ってから先に進みます。
$ sudo ip netns exec wpgfrr vtysh -N wpg -c "show isis neighbor"
Area 1:
System Id Interface L State Holdtime SNPA
両端の MAC を控えておきます (veth の MAC は作るたびに変わります)。
SRC=$(cat /sys/class/net/wpg0/address)
PEER=$(sudo ip netns exec wpgfrr cat /sys/class/net/frr0/address)
FRR は 3 秒ごとに自分の Hello を送っています。wpg capture で 1 つ受け取って、wpg のパーサで読めることを確かめます。
$ sudo wpg capture -i wpg0 -f "ether dst 01:80:c2:00:00:15" --count 1 --show 1
Capturing on wpg0 via afpacket, filter ether dst 01:80:c2:00:00:15 (Ctrl-C stops)
# 0 16:10:42.763122508 1514 B dot3 / llc / isis_l2_lan_hello
state finished (count reached)
...
FRR の Hello も MTU までパディングされた 1514 オクテットで、dot3 / llc / isis_l2_lan_hello と解析されます。-w /tmp/frr.pcapng で保存して、テンプレートに取り込むこともできます (pcap からテンプレートへ変換して再生 )。
まず、相手の MAC を載せずに Hello を 1 つ送ります。peer_mac は既定値の 02:00:00:00:00:02 のままなので、FRR から見ると「自分を知らない相手」です。
$ sudo wpg send templates/interop/isis-l2-lan-hello-up.wpg.yaml -i wpg0 --backend afpacket \
--var src_mac=$SRC --count 1
$ sudo ip netns exec wpgfrr vtysh -N wpg -c "show isis neighbor"
Area 1:
System Id Interface L State Holdtime SNPA
0000.0000.0001 frr0 2 Initializing 29 a63f.1a8d.7239
FRR は wpg を見つけましたが、双方向の確認が取れていないので Initializing です。次に peer_mac に FRR の MAC を入れて送ります。
$ sudo wpg send templates/interop/isis-l2-lan-hello-up.wpg.yaml -i wpg0 --backend afpacket \
--var src_mac=$SRC --var peer_mac=$PEER --count 2 --rate 1pps
$ sudo ip netns exec wpgfrr vtysh -N wpg -c "show isis neighbor"
Area 1:
System Id Interface L State Holdtime SNPA
0000.0000.0001 frr0 2 Up 30 a63f.1a8d.7239
$ sudo ip netns exec wpgfrr vtysh -N wpg -c "show isis neighbor detail"
Area 1:
0000.0000.0001
Interface: frr0, Level: 2, State: Up, Expires in 30s
Adjacency flaps: 1, Last: 1s ago
Circuit type: L2, Speaks: IPv4
SNPA: a63f.1a8d.7239, LAN id: 0000.0000.0001.01
LAN Priority: 0, unknown DIS state, DIS flaps: 0, Last: 2s ago
Area Address(es):
49.0001
IPv4 Address(es):
10.99.0.1
テンプレートの TLV (エリア、IPv4 アドレス、優先度 0、保持時間 30 秒) がそのまま FRR に見えています。隣接を保つには、保持時間より短い間隔で Hello を送り続けます。テンプレートの既定 (--count なし) は 3 秒間隔で 40 個、2 分間です。止めると 30 秒で隣接が消えます。
エリアを変える : --var area=49.0002 --var "system_id=0000 0000 0003" で送っても、隣接は Up になります。エリアアドレスの一致が必要なのはレベル 1 の隣接だけで、レベル 2 はエリアをまたいで隣接するためです (ISO 10589)。レベル 1 を試すには、テンプレートの isis_l2_lan_hello を isis_l1_lan_hello に、宛先を 01:80:c2:00:00:14 (AllL1ISs) に変え、FRR を is-type level-1 にします。
MTU の不一致 : pdu_length を Auto に戻す (行を消す) と、パディングのない短い Hello になります。FRR は既定で Hello のパディングを要求しないため隣接は張れますが、パディングを必須にしている実装では張れません。実機での挙動の違いを確かめるのに使えます。
認証 : templates/protocols/routing/isis-l2-lan-hello.wpg.yaml は平文認証 (TLV 10) 付きの例です。HMAC-MD5 の値は wpg が計算しないので、手で入れる必要があります。
他の PDU : LSP・CSNP・PSNP・ポイントツーポイント Hello のサンプルが templates/protocols/routing/isis-*.wpg.yaml にあります。LSP のチェックサム (Fletcher) は Auto です。
後片付け:
sudo scripts/interop/frr-netns.sh --down
実機 (IOS-XR、Junos) や CML2 上のルータで同じ確認をする手順と設定例は 相互接続確認 にあります。
同じ考え方の IPv6 版 (型・長さ・チェックサムが互いに導出される複数レイヤ) は IPv6 と近隣探索 (NDP) で扱います。
本章は wpg-protocols のプロトコル定義 IR (GET /api/protocols で返すカタログ) から自動生成しているため、常にコードと一致します。対象は 183 プロトコルです。各ページには、ワイヤ順のフィールド (型、既定値、Auto の規則、説明)、そのプロトコルに至る下位レイヤ、次レイヤの対応表、組み立て後に検査する制約、同梱のサンプルテンプレートを載せています。到達経路、手で設定するフィールド、残っている近似は手書きのプロトコル補足 を参照してください。定義を変更したら just docs-gen で再生成します。
ID 名前 フィールド数 次レイヤの判別 補足
ipv4IPv4 15 protocolカプセル化・トンネル , IS-IS (P2) , MACsec / GTPv2-C / Diameter / SIP / RTP (P2) , LDP / RSVP-TE / BFD (P2) , マルチキャスト制御プロトコル , ユーザ定義プロトコル (protocols.d)
ipv6IPv6 9 next_headerカプセル化・トンネル , IS-IS (P2) , MACsec / GTPv2-C / Diameter / SIP / RTP (P2) , ユーザ定義プロトコル (protocols.d)
ipv6_hopoptsIPv6 Hop-by-Hop Options 4 next_headerマルチキャスト制御プロトコル
ipv6_routeIPv6 Routing 6 next_headerSRv6 SRH / SR-MPLS (P2)
ipv6_srhIPv6 Segment Routing Header 10 next_headerSRv6 SRH / SR-MPLS (P2)
ipv6_fragIPv6 Fragment 6 next_header
ipv6_dstoptsIPv6 Destination Options 4 next_header
icmpv4ICMPv4 4
icmpv6ICMPv6 3 typeマルチキャスト制御プロトコル
icmpv6_echoICMPv6 Echo 2
ndp_rsNDP Router Solicitation 2
ndp_raNDP Router Advertisement 8
ndp_nsNDP Neighbor Solicitation 3
ndp_naNDP Neighbor Advertisement 6
ndp_redirectNDP Redirect 4
greGRE 2 protocol_typeカプセル化・トンネル
nvgreNVGRE 4 protocol_typeカプセル化・トンネル
ospfv2OSPFv2 8 typeルーティングプロトコル
ospfv2_helloOSPFv2 Hello 8
ospfv2_dbdOSPFv2 DBD 5
ospfv2_lsrOSPFv2 LSR 1
ospfv2_lsuOSPFv2 LSU 1 num_lsas
ospfv2_lsackOSPFv2 LSAck 1
ospfv2_lsaOSPFv2 LSA 8 ls_typeOSPF Opaque / SR、BGP MP / VPN / EVPN (P2)
ospfv2_router_lsaOSPFv2 Router-LSA 4
ospfv2_network_lsaOSPFv2 Network-LSA 2
ospfv2_summary_lsaOSPFv2 Summary-LSA 3
ospfv2_external_lsaOSPFv2 AS-External-LSA 6
ospfv2_opaque_lsaOSPFv2 Opaque LSA 9 opaque_typeOSPF Opaque / SR、BGP MP / VPN / EVPN (P2)
ospfv2_te_lsaOSPFv2 TE LSA 1 OSPF Opaque / SR、BGP MP / VPN / EVPN (P2)
ospfv2_ri_lsaOSPFv2 Router Information LSA 1 OSPF Opaque / SR、BGP MP / VPN / EVPN (P2)
ospfv2_ext_prefix_lsaOSPFv2 Extended Prefix LSA 1 OSPF Opaque / SR、BGP MP / VPN / EVPN (P2)
ospfv2_ext_link_lsaOSPFv2 Extended Link LSA 1 OSPF Opaque / SR、BGP MP / VPN / EVPN (P2)
ospfv3OSPFv3 8 typeルーティングプロトコル
ospfv3_helloOSPFv3 Hello 8
ospfv3_dbdOSPFv3 DBD 7
ospfv3_lsrOSPFv3 LSR 1
ospfv3_lsuOSPFv3 LSU 1 num_lsasルーティングプロトコル
ospfv3_lsackOSPFv3 LSAck 1
ospfv3_lsaOSPFv3 LSA 7 ls_type
ospfv3_router_lsaOSPFv3 Router-LSA 3
ospfv3_network_lsaOSPFv3 Network-LSA 3
ospfv3_inter_area_prefix_lsaOSPFv3 Inter-Area-Prefix-LSA 6
ospfv3_as_external_lsaOSPFv3 AS-External-LSA 6
ospfv3_link_lsaOSPFv3 Link-LSA 5
ospfv3_intra_area_prefix_lsaOSPFv3 Intra-Area-Prefix-LSA 5
eigrpEIGRP 9 ルーティングプロトコル
vrrpv2VRRPv2 10 冗長化プロトコル (FHRP)
vrrpv3VRRPv3 9 version冗長化プロトコル (FHRP)
vrrpv3_ipv6VRRPv3 (IPv6) 9 冗長化プロトコル (FHRP)
igmpIGMP 3 typeマルチキャスト制御プロトコル
igmpv2IGMPv1/v2 1 マルチキャスト制御プロトコル
igmpv3_queryIGMPv3 Query 7 マルチキャスト制御プロトコル
igmpv3_reportIGMPv3 Report 3 マルチキャスト制御プロトコル
mldMLDv1 3 マルチキャスト制御プロトコル
mldv2_queryMLDv2 Query 9 マルチキャスト制御プロトコル
mldv2_reportMLDv2 Report 3 マルチキャスト制御プロトコル
pimPIM 4 typeマルチキャスト制御プロトコル
pim_helloPIM Hello 1 マルチキャスト制御プロトコル
pim_join_prunePIM Join/Prune 7 マルチキャスト制御プロトコル
pim_registerPIM Register 7 typeマルチキャスト制御プロトコル
osiOSI network PDU 2 CLNP / ES-IS (P2) , OSI カプセル化 (P2)
clnpCLNP 14 CLNP / ES-IS (P2) , IS-IS (P2) , OSI カプセル化 (P2)
esisES-IS 9 pdu_typeCLNP / ES-IS (P2)
esis_eshES-IS ESH 11 CLNP / ES-IS (P2)
esis_ishES-IS ISH 10 CLNP / ES-IS (P2) , OSI カプセル化 (P2)
esis_rdES-IS Redirect 13 CLNP / ES-IS (P2)
isisIS-IS 10 pdu_typeIS-IS (P2)
isis_l1_lan_helloIS-IS L1 LAN Hello 18 IS-IS (P2) , OSI カプセル化 (P2)
isis_l2_lan_helloIS-IS L2 LAN Hello 18 IS-IS (P2)
isis_p2p_helloIS-IS P2P Hello 16 IS-IS (P2)
isis_l1_lspIS-IS L1 LSP 19 IS-IS (P2)
isis_l2_lspIS-IS L2 LSP 19 IS-IS (P2)
isis_l1_csnpIS-IS L1 CSNP 14 IS-IS (P2)
isis_l2_csnpIS-IS L2 CSNP 14 IS-IS (P2)
isis_l1_psnpIS-IS L1 PSNP 12 IS-IS (P2)
isis_l2_psnpIS-IS L2 PSNP 12 IS-IS (P2)
フィールド 型 既定値 Auto 説明
dstmacff:ff:ff:ff:ff:ff宛先 MAC アドレス。
srcmac02:00:00:00:00:01送信元 MAC アドレス。
ethertypeenum(16)34997 (local_experimental)次レイヤのプロトコル番号 (「次レイヤ」参照) 次レイヤの EtherType (上位レイヤから Auto。次レイヤ不明時は 0x88b5 = ローカル実験用)。0x05ff 以下の値は IEEE 802.3 の長さ。
値 名前
2048 (0x0800) ipv4
2054 (0x0806) arp
33024 (0x8100) vlan
34825 (0x8809) slow_protocols
34525 (0x86dd) ipv6
34887 (0x8847) mpls
34888 (0x8848) mpls_multicast
34915 (0x8863) pppoe_discovery
34916 (0x8864) pppoe_session
34958 (0x888e) eapol
34984 (0x88a8) qinq
34997 (0x88b5) local_experimental
35020 (0x88cc) lldp
35045 (0x88e5) macsec
35063 (0x88f7) ptp
35074 (0x8902) cfm
次レイヤは ethertype で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット
下位レイヤ 判別フィールド 値
ethernet2ethertype33024 (0x8100)
dot1qethertype33024 (0x8100)
dot1adethertype33024 (0x8100)
snappid33024 (0x8100)
フィールド 型 既定値 Auto 説明
pcpuint(3)0優先度コードポイント (802.1p のサービスクラス、0〜7)。
deiuint(1)0廃棄適格表示 (DEI)。
viduint(12)1VLAN ID (1〜4094。0 = 優先度タグのみ、4095 は予約)。
ethertypeenum(16)34997 (local_experimental)次レイヤのプロトコル番号 (「次レイヤ」参照) タグの次のレイヤの EtherType (Auto。もう 1 つの 802.1Q タグなら 0x8100)。
値 名前
2048 (0x0800) ipv4
2054 (0x0806) arp
33024 (0x8100) vlan
34525 (0x86dd) ipv6
34997 (0x88b5) local_experimental
35045 (0x88e5) macsec
35063 (0x88f7) ptp
35074 (0x8902) cfm
次レイヤは ethertype で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L2 (データリンク)
ヘッダ : 4 オクテット (固定長)
下位レイヤ 判別フィールド 値
ethernet2ethertype34984 (0x88a8)
dot1qethertype34984 (0x88a8)
dot1adethertype34984 (0x88a8)
フィールド 型 既定値 Auto 説明
pcpuint(3)0優先度コードポイント (802.1p のサービスクラス、0〜7)。
deiuint(1)0廃棄適格表示 (DEI)。
viduint(12)1VLAN ID (1〜4094。0 = 優先度タグのみ、4095 は予約)。
ethertypeenum(16)33024 (vlan)次レイヤのプロトコル番号 (「次レイヤ」参照) S タグの次のレイヤの EtherType (Auto。通常は 802.1Q の C タグを示す 0x8100)。
値 名前
2048 (0x0800) ipv4
2054 (0x0806) arp
33024 (0x8100) vlan
34525 (0x86dd) ipv6
34984 (0x88a8) qinq
34997 (0x88b5) local_experimental
35063 (0x88f7) ptp
35074 (0x8902) cfm
次レイヤは ethertype で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L2 (データリンク)
ヘッダ : 14 オクテット (固定長)
最小フレーム長 : 60 オクテット
補足 : L2 制御プロトコル
下位レイヤ 判別フィールド 値
ethernet2ethertype0 (0x0000) – 1535 (0x05ff) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
dstmacff:ff:ff:ff:ff:ff宛先 MAC アドレス。
srcmac02:00:00:00:00:01送信元 MAC アドレス。
lengthuint(16)ペイロードの長さ (オクテット単位) LLC データの長さ (バイト、Auto、最大 1500)。
次レイヤは length で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レベル 規則
警告 length が 0..1500 の範囲
interop-isis-l2-lan-hello-up — templates/interop/isis-l2-lan-hello-up.wpg.yaml
dot3-llc-osi — templates/protocols/l2/dot3-llc-osi.wpg.yaml
dot3-llc-snap-frame — templates/protocols/l2/dot3-llc-snap.wpg.yaml
dot3-llc-frame — templates/protocols/l2/dot3-llc.wpg.yaml
clnp-dt — templates/protocols/l3/clnp-dt.wpg.yaml
clnp-er — templates/protocols/l3/clnp-er.wpg.yaml
clnp-erq — templates/protocols/l3/clnp-erq.wpg.yaml
esis-esh — templates/protocols/routing/esis-esh.wpg.yaml
esis-generic — templates/protocols/routing/esis-generic.wpg.yaml
esis-ish — templates/protocols/routing/esis-ish.wpg.yaml
esis-rd — templates/protocols/routing/esis-rd.wpg.yaml
isis-generic — templates/protocols/routing/isis-generic.wpg.yaml
isis-l1-csnp — templates/protocols/routing/isis-l1-csnp.wpg.yaml
isis-l1-lan-hello — templates/protocols/routing/isis-l1-lan-hello.wpg.yaml
isis-l1-lsp — templates/protocols/routing/isis-l1-lsp.wpg.yaml
isis-l1-psnp — templates/protocols/routing/isis-l1-psnp.wpg.yaml
isis-l2-csnp — templates/protocols/routing/isis-l2-csnp.wpg.yaml
isis-l2-lan-hello — templates/protocols/routing/isis-l2-lan-hello.wpg.yaml
isis-l2-lsp — templates/protocols/routing/isis-l2-lsp.wpg.yaml
isis-l2-psnp — templates/protocols/routing/isis-l2-psnp.wpg.yaml
isis-p2p-hello — templates/protocols/routing/isis-p2p-hello.wpg.yaml
下位レイヤ 判別フィールド 値
dot3length(その他の値)
フィールド 型 既定値 Auto 説明
dsapenum(8)170 (snap)次レイヤのプロトコル番号 (「次レイヤ」参照) 宛先サービスアクセスポイント (Auto: 0xaa = SNAP、0xfe = OSI、0x42 = スパニングツリー)。
ssapenum(8)170 (snap)次レイヤのプロトコル番号 (「次レイヤ」参照) 送信元サービスアクセスポイント (Auto、通常 DSAP と同じ)。
controlenum(8)3 (ui)制御フィールド。0x03 = 非番号付き情報 (UI)。
値 名前
66 (0x42) stp
170 (0xaa) snap
224 (0xe0) ipx
240 (0xf0) netbios
254 (0xfe) osi
255 (0xff) global
値 名前
66 (0x42) stp
170 (0xaa) snap
224 (0xe0) ipx
240 (0xf0) netbios
254 (0xfe) osi
値 名前
3 (0x03) ui
175 (0xaf) xid
227 (0xe3) test
次レイヤは dsap で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
値 プロトコル 備考
170 (0xaa) snap
66 (0x42) stp
dsap = 254 (0xfe) のときのペイロード先頭 8 ビット
interop-isis-l2-lan-hello-up — templates/interop/isis-l2-lan-hello-up.wpg.yaml
dot3-llc-osi — templates/protocols/l2/dot3-llc-osi.wpg.yaml
dot3-llc-snap-frame — templates/protocols/l2/dot3-llc-snap.wpg.yaml
dot3-llc-frame — templates/protocols/l2/dot3-llc.wpg.yaml
clnp-dt — templates/protocols/l3/clnp-dt.wpg.yaml
clnp-er — templates/protocols/l3/clnp-er.wpg.yaml
clnp-erq — templates/protocols/l3/clnp-erq.wpg.yaml
esis-esh — templates/protocols/routing/esis-esh.wpg.yaml
esis-generic — templates/protocols/routing/esis-generic.wpg.yaml
esis-ish — templates/protocols/routing/esis-ish.wpg.yaml
esis-rd — templates/protocols/routing/esis-rd.wpg.yaml
isis-generic — templates/protocols/routing/isis-generic.wpg.yaml
isis-l1-csnp — templates/protocols/routing/isis-l1-csnp.wpg.yaml
isis-l1-lan-hello — templates/protocols/routing/isis-l1-lan-hello.wpg.yaml
isis-l1-lsp — templates/protocols/routing/isis-l1-lsp.wpg.yaml
isis-l1-psnp — templates/protocols/routing/isis-l1-psnp.wpg.yaml
isis-l2-csnp — templates/protocols/routing/isis-l2-csnp.wpg.yaml
isis-l2-lan-hello — templates/protocols/routing/isis-l2-lan-hello.wpg.yaml
isis-l2-lsp — templates/protocols/routing/isis-l2-lsp.wpg.yaml
isis-l2-psnp — templates/protocols/routing/isis-l2-psnp.wpg.yaml
isis-p2p-hello — templates/protocols/routing/isis-p2p-hello.wpg.yaml
レイヤ : L2 (データリンク)
ヘッダ : 5 オクテット (固定長)
補足 : L2 制御プロトコル
下位レイヤ 判別フィールド 値
llcdsap170 (0xaa)
フィールド 型 既定値 Auto 説明
ouiuint(24)0組織固有識別子 (OUI)。0 ならプロトコル ID は EtherType。
pidenum(16)34997 (local_experimental)次レイヤのプロトコル番号 (「次レイヤ」参照) プロトコル ID (OUI が 0 のとき EtherType。次レイヤから Auto)。
値 名前
2048 (0x0800) ipv4
2054 (0x0806) arp
8192 (0x2000) cdp
33024 (0x8100) vlan
34525 (0x86dd) ipv6
34997 (0x88b5) local_experimental
次レイヤは pid で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
値 プロトコル 備考
2048 (0x0800) ipv4
34525 (0x86dd) ipv6
2054 (0x0806) arp
8192 (0x2000) cdp
33024 (0x8100) dot1q
レイヤ : L2 (データリンク)
ヘッダ : 28 オクテット (固定長)
下位レイヤ 判別フィールド 値
ethernet2ethertype2054 (0x0806)
dot1qethertype2054 (0x0806)
dot1adethertype2054 (0x0806)
snappid2054 (0x0806)
フィールド 型 既定値 Auto 説明
htypeenum(16)1 (ethernet)ハードウェア種別 (1 = Ethernet)。
ptypeenum(16)2048 (ipv4)プロトコル種別 (EtherType、0x0800 = IPv4)。
hlenuint(8)6ハードウェアアドレス長 (バイト、Ethernet は 6)。
plenuint(8)4プロトコルアドレス長 (バイト、IPv4 は 4)。
operenum(16)1 (request)オペレーション (1 = 要求、2 = 応答)。
shamac02:00:00:00:00:01送信元ハードウェアアドレス。
spaipv4192.0.2.1送信元プロトコルアドレス。
thamac00:00:00:00:00:00宛先ハードウェアアドレス。
tpaipv4192.0.2.2宛先プロトコルアドレス。
値 名前
1 (0x0001) ethernet
6 (0x0006) ieee802
15 (0x000f) frame_relay
16 (0x0010) atm
値 名前
2048 (0x0800) ipv4
34525 (0x86dd) ipv6
値 名前
1 (0x0001) request
2 (0x0002) reply
3 (0x0003) rarp_request
4 (0x0004) rarp_reply
8 (0x0008) inarp_request
9 (0x0009) inarp_reply
レベル 規則
警告 hlen が 6
警告 plen が 4
警告 oper が 1..2 の範囲
下位レイヤ 判別フィールド 値
ethernet2ethertype35020 (0x88cc)
フィールド 型 既定値 Auto 説明
tlvslist<struct> — PDU の残りすべて4 要素 LLDP TLV 群 (7 ビット型 + 9 ビット長ヘッダ)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
typeuint(7)
lengthuint(9)
valuebytes — length オクテット
lldp — templates/protocols/l2/lldp.wpg.yaml
下位レイヤ 判別フィールド 値
snappid8192 (0x2000)
フィールド 型 既定値 Auto 説明
versionuint(8)2CDP プロトコルバージョン (2)。
ttluint(8)180このアドバタイズの有効時間 (秒)。
checksumuint(16)ヘッダとそれ以降すべてに対するインターネットチェックサム CDP ヘッダと TLV に対するインターネットチェックサム (自動)。
tlvstlv — PDU の残りすべてCDP TLV 群 (16 ビット型、ヘッダを含む 16 ビット長)。
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) device_id
2 (0x0002) addresses
3 (0x0003) port_id
4 (0x0004) capabilities
5 (0x0005) software_version
6 (0x0006) platform
7 (0x0007) ip_prefix
10 (0x000a) native_vlan
11 (0x000b) duplex
cdp — templates/protocols/l2/cdp.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap66 (0x42)
フィールド 型 既定値 Auto 説明
protocol_iduint(16)0スパニングツリープロトコル識別子 (常に 0)。
protocol_versionenum(8)0 (stp)プロトコルバージョン (0 = STP、2 = RSTP、3 = MSTP)。
bpdu_typeenum(8)0 (config)BPDU 種別 (0 = Configuration、2 = RST/MST、0x80 = TCN)。
flagsflags(8)0x0BPDU フラグ (トポロジ変更、Proposal、ロール、Learning、Forwarding、Agreement、TCA)。
root_priorityuint(16)32768ルートブリッジの優先度とシステム ID 拡張。
root_macmac00:00:00:00:00:00ルートブリッジの MAC アドレス。
root_path_costuint(32)0ルートブリッジまでの経路コスト。
bridge_priorityuint(16)32768送信ブリッジの優先度とシステム ID 拡張。
bridge_macmac00:00:00:00:00:00送信ブリッジの MAC アドレス。
port_iduint(16)32769送信ポート識別子 (優先度 + 番号)。
message_ageuint(16)0BPDU の経過時間 (1/256 秒)。
max_ageuint(16)5120タイムアウトまでの最大 BPDU 経過時間 (1/256 秒)。
hello_timeuint(16)512Configuration BPDU の送信間隔 (1/256 秒)。
forward_delayuint(16)3840転送遅延タイマ (1/256 秒)。
trailerbytes — PDU の残りすべて""RSTP / MSTP 拡張 (version1 長、v3 長、MSTI レコード)。不透明オクテット。
値 名前
0 (0x00) stp
2 (0x02) rstp
3 (0x03) mstp
値 名前
0 (0x00) config
2 (0x02) rapid
128 (0x80) topology_change
ビット マスク 名前
0 1 (0x01) topology_change
1 2 (0x02) proposal
4 16 (0x10) learning
5 32 (0x20) forwarding
6 64 (0x40) agreement
7 128 (0x80) topology_change_ack
stp — templates/protocols/l2/stp.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット1 (0x01)
フィールド 型 既定値 Auto 説明
subtypeuint(8)1Slow Protocols サブタイプ (1 = LACP)。
versionuint(8)1
actor_info_typeuint(8)1
actor_info_lengthuint(8)20
actor_system_priorityuint(16)32768
actor_systemmacActor システムの MAC アドレス。
actor_keyuint(16)1
actor_port_priorityuint(16)32768
actor_portuint(16)1
actor_stateflags(8)0x45Actor 状態フラグ (Activity、Timeout、Aggregation、Sync、Collecting、Distributing、Defaulted、Expired)。
actor_reservedbytes(3)00 00 00
partner_info_typeuint(8)2
partner_info_lengthuint(8)20
partner_system_priorityuint(16)32768
partner_systemmacPartner システムの MAC アドレス。
partner_keyuint(16)1
partner_port_priorityuint(16)32768
partner_portuint(16)1
partner_stateflags(8)0x45Partner 状態フラグ。
partner_reservedbytes(3)00 00 00
collector_info_typeuint(8)3
collector_info_lengthuint(8)16
collector_max_delayuint(16)0
collector_reservedbytes(12)00 00 00 00 00 00 00 00 00 00 00 00
terminator_typeuint(8)0
terminator_lengthuint(8)0
terminator_reservedbytes(50)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ビット マスク 名前
0 1 (0x01) activity
1 2 (0x02) timeout
2 4 (0x04) aggregation
3 8 (0x08) synchronization
4 16 (0x10) collecting
5 32 (0x20) distributing
6 64 (0x40) defaulted
7 128 (0x80) expired
ビット マスク 名前
0 1 (0x01) activity
1 2 (0x02) timeout
2 4 (0x04) aggregation
3 8 (0x08) synchronization
4 16 (0x10) collecting
5 32 (0x20) distributing
6 64 (0x40) defaulted
7 128 (0x80) expired
lacp — templates/protocols/l2/lacp.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット2 (0x02)
フィールド 型 既定値 Auto 説明
subtypeuint(8)2Slow Protocols サブタイプ (2 = Marker)。
versionuint(8)1
info_typeuint(8)1
info_lengthuint(8)16
requester_portuint(16)1
requester_systemmac
requester_transaction_iduint(32)0
paduint(16)0
terminator_typeuint(8)0
terminator_lengthuint(8)0
reservedbytes(90)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
marker — templates/protocols/l2/marker.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype34958 (0x888e)
フィールド 型 既定値 Auto 説明
versionuint(8)2EAPOL プロトコルバージョン。
typeenum(8)0 (eap)EAPOL パケット種別 (0 = EAP、1 = Start、2 = Logoff、3 = Key)。
lengthuint(16)ヘッダの長さ (オクテット単位) (-4) EAPOL ボディの長さ (オクテット、自動)。
bodybytes — length オクテット""EAPOL ボディ (種別 0 では EAP パケット)。不透明オクテット。
値 名前
0 (0x00) eap
1 (0x01) start
2 (0x02) logoff
3 (0x03) key
4 (0x04) encapsulated_asf_alert
eapol — templates/protocols/l2/eapol.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype34915 (0x8863)
フィールド 型 既定値 Auto 説明
versionuint(4)1PPPoE プロトコルバージョン (1)。
typeuint(4)1PPPoE タイプ (1)。
codeenum(8)9 (padi)PPPoE コード (PADI / PADO / PADR / PADS / PADT、0 = セッションデータ)。
session_iduint(16)0PPPoE セッション識別子。
lengthuint(16)ヘッダの長さ (オクテット単位) (-6) PPPoE ペイロードの長さ (オクテット、自動)。
tagstlv — length オクテットPPPoE ディスカバリ TAG (16 ビット型、16 ビット長)。
値 名前
0 (0x00) session_data
9 (0x09) padi
7 (0x07) pado
25 (0x19) padr
101 (0x65) pads
167 (0xa7) padt
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x0000) end_of_list
257 (0x0101) service_name
258 (0x0102) ac_name
259 (0x0103) host_uniq
260 (0x0104) ac_cookie
261 (0x0105) vendor_specific
272 (0x0110) relay_session_id
513 (0x0201) service_name_error
514 (0x0202) ac_system_error
515 (0x0203) generic_error
レイヤ : L2 (データリンク)
ヘッダ : 6 オクテット (固定長)
補足 : L2 制御プロトコル
下位レイヤ 判別フィールド 値
ethernet2ethertype34916 (0x8864)
フィールド 型 既定値 Auto 説明
versionuint(4)1PPPoE プロトコルバージョン (1)。
typeuint(4)1PPPoE タイプ (1)。
codeuint(8)0PPPoE コード (PADI / PADO / PADR / PADS / PADT、0 = セッションデータ)。
session_iduint(16)1PPPoE セッション識別子。
lengthuint(16)ペイロードの長さ (オクテット単位) PPPoE ペイロードの長さ (オクテット、自動)。
次レイヤは session_id で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
フィールド 型 既定値 Auto 説明
protocolenum(16)49185 (lcp)次レイヤのプロトコル番号 (「次レイヤ」参照) ペイロードの PPP プロトコル識別子 (LCP / IPCP / IP / IPv6 など)。
値 名前
33 (0x0021) ipv4
35 (0x0023) osi
87 (0x0057) ipv6
32801 (0x8021) ipcp
32855 (0x8057) ipv6cp
49185 (0xc021) lcp
49187 (0xc023) pap
49699 (0xc223) chap
次レイヤは protocol で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
protocol = 35 (0x0023) のときのペイロード先頭 8 ビット
下位レイヤ 判別フィールド 値
pppprotocol49185 (0xc021)
フィールド 型 既定値 Auto 説明
codeenum(8)1 (configure_request)PPP コントロールプロトコルのコード (Configure-Request / Ack / Nak など)。
identifieruint(8)0PPP コントロールプロトコルの要求識別子。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PPP コントロールプロトコルパケットの長さ (オクテット、自動)。
optionstlv — length - 4 オクテットPPP コントロールプロトコルのオプション (8 ビット型 / 長の TLV)。
値 名前
1 (0x01) configure_request
2 (0x02) configure_ack
3 (0x03) configure_nak
4 (0x04) configure_reject
5 (0x05) terminate_request
6 (0x06) terminate_ack
7 (0x07) code_reject
8 (0x08) protocol_reject
9 (0x09) echo_request
10 (0x0a) echo_reply
11 (0x0b) discard_request
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) mrumru
2 (0x02) async_control_char_mapmap
3 (0x03) authentication_protocol
4 (0x04) quality_protocol
5 (0x05) magic_numbermagic
7 (0x07) protocol_field_compression
8 (0x08) address_control_compression
フィールド 型 既定値 Auto 説明
mruuint(16)
フィールド 型 既定値 Auto 説明
mapuint(32)
フィールド 型 既定値 Auto 説明
magicuint(32)
下位レイヤ 判別フィールド 値
pppprotocol32801 (0x8021)
フィールド 型 既定値 Auto 説明
codeenum(8)1 (configure_request)PPP コントロールプロトコルのコード (Configure-Request / Ack / Nak など)。
identifieruint(8)0PPP コントロールプロトコルの要求識別子。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PPP コントロールプロトコルパケットの長さ (オクテット、自動)。
optionstlv — length - 4 オクテットPPP コントロールプロトコルのオプション (8 ビット型 / 長の TLV)。
値 名前
1 (0x01) configure_request
2 (0x02) configure_ack
3 (0x03) configure_nak
4 (0x04) configure_reject
5 (0x05) terminate_request
6 (0x06) terminate_ack
7 (0x07) code_reject
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) ip_compression_protocol
3 (0x03) ip_addressaddress
129 (0x81) primary_dnsaddress
131 (0x83) secondary_dnsaddress
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv4
レイヤ : L2 (データリンク)
ヘッダ : 8 オクテット (固定長)
補足 : カプセル化・トンネル
下位レイヤ 判別フィールド 値
udpdst_port / src_port4789 (0x12b5)
フィールド 型 既定値 Auto 説明
flagsflags(8)0x8VXLAN フラグ (I ビット = VNI 有効)。
reserved1uint(24)0
vniuint(24)024 ビット VXLAN ネットワーク識別子。
reserved2uint(8)0
ビット マスク 名前
3 8 (0x08) vni_present
次レイヤは flags で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
vxlan — templates/protocols/encap/vxlan.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype34887 (0x8847)
ethernet2ethertype34888 (0x8848)
udpdst_port / src_port6635 (0x19eb)
greprotocol_type34887 (0x8847)
mplss0
フィールド 型 既定値 Auto 説明
labelenum(20)1620 ビット MPLS ラベル値。0〜15 は予約 (0 / 2 Explicit Null、1 Router Alert、3 Implicit Null、7 エントロピーラベル指示子、13 GAL、14 OAM Alert、15 拡張)。SR-MPLS の SID は SRGB ベース + SID インデックス。
tcuint(3)03 ビットトラフィッククラス (QoS / ECN)。
suint(1)1次レイヤのプロトコル番号 (「次レイヤ」参照) スタック最下位ビット (1 = 最後のラベル。次レイヤから自動)。
ttluint(8)64MPLS TTL。
値 名前
0 (0x00000) ipv4_explicit_null
1 (0x00001) router_alert
2 (0x00002) ipv6_explicit_null
3 (0x00003) implicit_null
7 (0x00007) entropy_label_indicator
13 (0x0000d) gal
14 (0x0000e) oam_alert
15 (0x0000f) extension
次レイヤは s で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
s = 1 のときのペイロード先頭 4 ビット
下位レイヤ 判別フィールド 値
udpdst_port / src_port6081 (0x17c1)
フィールド 型 既定値 Auto 説明
versionuint(2)0Geneve バージョン (0)。
opt_lenuint(6)0オプション領域の長さ (4 オクテット単位)。
o_flaguint(1)0OAM パケットフラグ。
c_flaguint(1)0クリティカルオプション存在フラグ。
reserved_flagsuint(6)0
protocol_typeenum(16)25944 (transparent_ethernet)次レイヤのプロトコル番号 (「次レイヤ」参照) カプセル化ペイロードの EtherType。
vniuint(24)024 ビット Geneve 仮想ネットワーク識別子。
reserveduint(8)0
optionsbytes — opt_len * 4 オクテット""Geneve オプション (不透明、opt_len で長さ決定)。
値 名前
25944 (0x6558) transparent_ethernet
2048 (0x0800) ipv4
34525 (0x86dd) ipv6
次レイヤは protocol_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
geneve — templates/protocols/encap/geneve.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35045 (0x88e5)
dot1qethertype35045 (0x88e5)
フィールド 型 既定値 Auto 説明
vuint(1)0TCI の V ビット: バージョン(0)。
esuint(1)0TCI の ES ビット: エンドステーション(SCI は送信元 MAC アドレスとポート 1)。
scuint(1)sci の要素数TCI の SC ビット: 明示的な SCI あり(Auto: SCI を指定すると 1)。
scbuint(1)0TCI の SCB ビット: EPON のシングルコピーブロードキャスト。
euint(1)1TCI の E ビット: セキュアデータは暗号化されている。
cuint(1)1TCI の C ビット: ユーザデータが変更された(既定の暗号スイートでは E と同時に 1)。
anuint(2)0アソシエーション番号(0〜3): チャネル内のセキュアアソシエーション。
reserveduint(2)0
sluint(6)0ショート長: セキュアデータが 48 オクテット未満のときその長さ、それ以外は 0(手動)。
pnuint(32)1パケット番号(32 ビット、XPN では下位半分)。
scilist<struct> — sc 個の要素1 要素 Secure Channel Identifier: システム識別子(MAC アドレス)とポート識別子。SC が 1 のときに存在。
secure_databytes — PDU の残りのうち末尾 16 オクテットを除く部分00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2fセキュアデータ: 暗号化(または完全性保護のみ)されたユーザデータを不透明なオクテット列として指定。暗号化は行わない。
icvbytes(16)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00完全性検査値(16 オクテット)。不透明な値で、計算はしない。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
system_identifiermac02:00:00:00:00:01
port_identifieruint(16)1
レベル 規則
警告 v が 0
警告 pn が 0 以外
macsec — templates/protocols/l2/macsec.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット10 (0x0a)
フィールド 型 既定値 Auto 説明
subtypeuint(8)10Slow Protocols サブタイプ(0x0a = 組織固有)。
itu_ouiuint(24)6567ITU-T の OUI(00-19-a7)。
itu_subtypeuint(16)1ITU-T サブタイプ(1 = ESMC)。
versionuint(4)1ESMC バージョン(1)。
event_flaguint(1)0イベントフラグ: QL 変化時に即座に送るイベント PDU は 1、毎秒の情報 PDU は 0。
reserveduint(3)0
reserved2uint(24)0
tlvstlv — PDU の残りすべて2 要素 TLV(8 ビット型、3 オクテットのヘッダを含む 16 ビット長、自動): SSM コードの QL TLV、拡張 SSM コード・SyncE クロック ID・カスケードクロック数の拡張 QL TLV。後続のオクテット(詰め物)は 1 つの raw 項目として保持。
タイプ 8 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプで型付きのデコードを終え、残りを 1 つの生の項目にします。
タイプ値 名前 値のフィールド 説明
1 (0x01) qlunused, ssm_code
2 (0x02) extended_qlenhanced_ssm_code, synce_clock_identity, flags, cascaded_eeecs, cascaded_eecs, reserved
フィールド 型 既定値 Auto 説明
unuseduint(4)0
ssm_codeenum(4)2 (prc)
値 名前
0 stu
1 prs
2 prc
4 ssu_a
7 st2
8 ssu_b
10 st3
11 sec
12 smc
13 st3e
14 prov
15 dnu
フィールド 型 既定値 Auto 説明
enhanced_ssm_codeenum(8)255 (none)
synce_clock_identityuint(64)144116287553929217
flagsflags(8)0x0
cascaded_eeecsuint(8)1
cascaded_eecsuint(8)0
reservedbytes(5)00 00 00 00 00
値 名前
32 (0x20) eprtc
33 (0x21) prtc
34 (0x22) eeec
35 (0x23) eprc
255 (0xff) none
ビット マスク 名前
0 1 (0x01) mixed_eec_eeec
1 2 (0x02) partial_chain
レベル 規則
警告 subtype が 10
警告 itu_oui が 6567
警告 version が 1
esmc-event-dnu — templates/protocols/timing/esmc-event-dnu.wpg.yaml
esmc-ql-prc — templates/protocols/timing/esmc-ql-prc.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)3 (lbm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)4このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
databytes — PDU の残りすべて00 00 00 01 00First TLV Offset 以降の PDU(OpCode 固有フィールドと TLV)をオクテット列で。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
次レイヤは opcode で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
cfm-generic — templates/protocols/oam/cfm-generic.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode1 (0x01) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)1 (ccm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
rdiuint(1)0RDI: リモート障害表示。
flags_reserveduint(4)0
periodenum(3)4 (s_1)送信周期: 1 = 3.33 ms、2 = 10 ms、3 = 100 ms、4 = 1 秒、5 = 10 秒、6 = 1 分、7 = 10 分。
first_tlv_offsetuint(8)70このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
sequence_numberuint(32)0シーケンス番号。
mep_id_reserveduint(3)0
mep_iduint(13)1MEP ID(1〜8191)。
maidbytes(48)01 20 0d 57 50 47 30 30 31 4d 45 47 30 30 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00MAID / MEG ID(48 オクテット): MD 名の形式と名前、短縮 MA 名の形式・長さ・名前、ゼロ詰め(Y.1731: MD 名なし、形式 32 ICC ベース、長さ 13)。
tx_fcfuint(32)0フレームカウンタ(ロス測定)。
rx_fcbuint(32)0フレームカウンタ(ロス測定)。
tx_fcbuint(32)0フレームカウンタ(ロス測定)。
reserveduint(32)0
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
値 名前
0 invalid
1 ms_3_33
2 ms_10
3 ms_100
4 s_1
5 s_10
6 min_1
7 min_10
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 70
cfm-ccm — templates/protocols/oam/cfm-ccm.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode3 (0x03) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)3 (lbm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)4このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
transaction_iduint(32)1ループバック / リンクトレースのトランザクション ID。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 4
cfm-lbm — templates/protocols/oam/cfm-lbm.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode2 (0x02) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)2 (lbr)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)4このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
transaction_iduint(32)1ループバック / リンクトレースのトランザクション ID。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 4
cfm-lbr — templates/protocols/oam/cfm-lbr.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode5 (0x05) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)5 (ltm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
use_fdb_onlyuint(1)1UseFDBonly: 転送データベースだけで出力ポートを決める。
flags_reserveduint(7)0
first_tlv_offsetuint(8)17このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
transaction_iduint(32)1ループバック / リンクトレースのトランザクション ID。
ttluint(8)64リンクトレースの TTL。
original_macmac02:00:00:00:00:01リンクトレースを開始した MEP の MAC アドレス。
target_macmac02:00:00:00:00:02リンクトレースの宛先 MAC アドレス。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)2 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 17
cfm-ltm — templates/protocols/oam/cfm-ltm.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode4 (0x04) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)4 (ltr)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
use_fdb_onlyuint(1)1UseFDBonly: 転送データベースだけで出力ポートを決める。
fwd_yesuint(1)0FwdYes: LTM を中継した。
terminal_mepuint(1)1TerminalMEP: 応答は宛先 MEP から。
flags_reserveduint(5)0
first_tlv_offsetuint(8)6このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
transaction_iduint(32)1ループバック / リンクトレースのトランザクション ID。
reply_ttluint(8)63リンクトレースの TTL。
relay_actionenum(8)1 (rly_hit)中継動作: 1 RlyHit、2 RlyFDB、3 RlyMPDB。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)3 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
値 名前
1 (0x01) rly_hit
2 (0x02) rly_fdb
3 (0x03) rly_mpdb
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 6
cfm-ltr — templates/protocols/oam/cfm-ltr.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode33 (0x21) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)33 (ais)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flags_reserveduint(5)0
periodenum(3)4 (s_1)送信周期: 1 = 3.33 ms、2 = 10 ms、3 = 100 ms、4 = 1 秒、5 = 10 秒、6 = 1 分、7 = 10 分。
first_tlv_offsetuint(8)0このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
値 名前
0 invalid
1 ms_3_33
2 ms_10
3 ms_100
4 s_1
5 s_10
6 min_1
7 min_10
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 0
y1731-ais — templates/protocols/oam/y1731-ais.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode35 (0x23) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)35 (lck)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flags_reserveduint(5)0
periodenum(3)4 (s_1)送信周期: 1 = 3.33 ms、2 = 10 ms、3 = 100 ms、4 = 1 秒、5 = 10 秒、6 = 1 分、7 = 10 分。
first_tlv_offsetuint(8)0このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
値 名前
0 invalid
1 ms_3_33
2 ms_10
3 ms_100
4 s_1
5 s_10
6 min_1
7 min_10
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 0
y1731-lck — templates/protocols/oam/y1731-lck.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode37 (0x25) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)37 (tst)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)4このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
sequence_numberuint(32)0シーケンス番号。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)2 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 4
y1731-tst — templates/protocols/oam/y1731-tst.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode40 (0x28) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)1CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)40 (ring_aps)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)32このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
request_stateenum(4)0 (nr)要求 / 状態: 0000 NR、0111 MS、1011 SF、1101 FS、1110 Event。
sub_codeuint(4)0サブコード(Event 要求では 0000 = フラッシュ要求)。
rbuint(1)1RB: RPL がブロック中。
dnfuint(1)0DNF: 転送データベースをフラッシュしない。
bpruint(1)0BPR: ブロック中ポートの参照(0 = リングリンク 0、1 = リングリンク 1)。
status_reserveduint(5)0
node_idmac02:00:00:00:00:01ノード ID: 送信したリングノードの MAC アドレス。
reservedbytes(24)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
値 名前
0 nr
7 ms
11 sf
13 fs
14 event
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 32
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode43 (0x2b) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)43 (lmm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)12このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tx_fcfuint(32)0フレームカウンタ(ロス測定)。
rx_fcfuint(32)0フレームカウンタ(ロス測定)。
tx_fcbuint(32)0フレームカウンタ(ロス測定)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 12
y1731-lmm — templates/protocols/oam/y1731-lmm.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode42 (0x2a) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)42 (lmr)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)12このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tx_fcfuint(32)0フレームカウンタ(ロス測定)。
rx_fcfuint(32)0フレームカウンタ(ロス測定)。
tx_fcbuint(32)0フレームカウンタ(ロス測定)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 12
y1731-lmr — templates/protocols/oam/y1731-lmr.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode45 (0x2d) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)45 (one_dm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)16このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tx_timestamp_f_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tx_timestamp_f_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_f_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_f_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 16
y1731-1dm — templates/protocols/oam/y1731-1dm.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode47 (0x2f) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)47 (dmm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)32このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tx_timestamp_f_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tx_timestamp_f_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_f_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_f_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tx_timestamp_b_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tx_timestamp_b_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_b_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_b_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 32
y1731-dmm — templates/protocols/oam/y1731-dmm.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode46 (0x2e) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)46 (dmr)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)32このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tx_timestamp_f_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tx_timestamp_f_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_f_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_f_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tx_timestamp_b_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tx_timestamp_b_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_b_secondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
rx_timestamp_b_nanosecondsuint(32)0IEEE 1588 形式のタイムスタンプ(32 ビットの秒とナノ秒)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 32
y1731-dmr — templates/protocols/oam/y1731-dmr.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode52 (0x34) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)52 (csf)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flags_reserveduint(2)0
typeenum(3)0 (los)クライアント信号障害の種類: 0 LOS、1 FDI / AIS、2 RDI、3 DCI。
periodenum(3)4 (s_1)送信周期: 1 = 3.33 ms、2 = 10 ms、3 = 100 ms、4 = 1 秒、5 = 10 秒、6 = 1 分、7 = 10 分。
first_tlv_offsetuint(8)0このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
値 名前
0 los
1 fdi_ais
2 rdi
3 dci
値 名前
0 invalid
1 ms_3_33
2 ms_10
3 ms_100
4 s_1
5 s_10
6 min_1
7 min_10
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 0
y1731-csf — templates/protocols/oam/y1731-csf.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode55 (0x37) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)55 (slm)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)16このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
source_mep_iduint(16)1送信元 MEP ID。
responder_mep_iduint(16)0応答側 MEP ID(SLM では 0)。
test_iduint(32)1合成ロス測定のテスト ID。
tx_fcfuint(32)0フレームカウンタ(ロス測定)。
tx_fcbuint(32)0フレームカウンタ(ロス測定)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 16
y1731-slm — templates/protocols/oam/y1731-slm.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode54 (0x36) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)54 (slr)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)16このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
source_mep_iduint(16)1送信元 MEP ID。
responder_mep_iduint(16)0応答側 MEP ID(SLM では 0)。
test_iduint(32)1合成ロス測定のテスト ID。
tx_fcfuint(32)0フレームカウンタ(ロス測定)。
tx_fcbuint(32)0フレームカウンタ(ロス測定)。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 16
y1731-slr — templates/protocols/oam/y1731-slr.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35074 (0x8902)
dot1qethertype35074 (0x8902)
dot1adethertype35074 (0x8902)
cfmopcode53 (0x35) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
md_leveluint(3)0メンテナンスドメイン / MEG レベル(0〜7)。
versionuint(5)0CFM バージョン(0。G.8032v2 の R-APS は 1)。
opcodeenum(8)53 (one_sl)OpCode: 1 CCM、2 LBR、3 LBM、4 LTR、5 LTM、33 AIS、35 LCK、37 TST、39 Linear APS、40 R-APS、41 MCC、42 LMR、43 LMM、45 1DM、46 DMR、47 DMM、52 CSF、53 1SL、54 SLR、55 SLM など。
flagsuint(8)0フラグ(OpCode ごとに異なる)。
first_tlv_offsetuint(8)16このフィールドの直後から最初の TLV までのオフセット(OpCode ごとに一定)。
source_mep_iduint(16)1送信元 MEP ID。
reserveduint(16)0
test_iduint(32)1合成ロス測定のテスト ID。
tx_fcfuint(32)0フレームカウンタ(ロス測定)。
reserved2uint(32)0
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)1 要素 TLV(8 ビット型、値の 16 ビット長、自動): Sender ID、Port Status、Data、Interface Status、Reply Ingress / Egress、LTM / LTR Egress Identifier、Organization-Specific、Test。End TLV(タイプ 0)で終わる。
値 名前
1 (0x01) ccm
2 (0x02) lbr
3 (0x03) lbm
4 (0x04) ltr
5 (0x05) ltm
33 (0x21) ais
35 (0x23) lck
37 (0x25) tst
39 (0x27) linear_aps
40 (0x28) ring_aps
41 (0x29) mcc
42 (0x2a) lmr
43 (0x2b) lmm
45 (0x2d) one_dm
46 (0x2e) dmr
47 (0x2f) dmm
48 (0x30) exr
49 (0x31) exm
50 (0x32) vsr
51 (0x33) vsm
52 (0x34) csf
53 (0x35) one_sl
54 (0x36) slr
55 (0x37) slm
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) sender_idchassis_id_length, chassis_id_subtype, chassis_id, management_address
2 (0x02) port_statusport_status
3 (0x03) data_tlvvalue
4 (0x04) interface_statusinterface_status
5 (0x05) reply_ingressingress_action, ingress_mac, ingress_port_id
6 (0x06) reply_egressegress_action, egress_mac, egress_port_id
7 (0x07) ltm_egress_identifieregress_identifier
8 (0x08) ltr_egress_identifierlast_egress_identifier, next_egress_identifier
31 (0x1f) organization_specificoui, subtype, value
32 (0x20) testpattern_type, test_pattern
フィールド 型 既定値 Auto 説明
chassis_id_lengthuint(8)chassis_id のオクテット長
chassis_id_subtypeenum(8)4 (mac_address)
chassis_idbytes — chassis_id_length オクテット02 00 00 00 00 01
management_addressbytes — PDU の残りすべて
値 名前
1 (0x01) chassis_component
2 (0x02) interface_alias
3 (0x03) port_component
4 (0x04) mac_address
5 (0x05) network_address
6 (0x06) interface_name
7 (0x07) local
フィールド 型 既定値 Auto 説明
port_statusenum(8)2 (up)
値 名前
1 (0x01) blocked
2 (0x02) up
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
interface_statusenum(8)1 (up)
値 名前
1 (0x01) up
2 (0x02) down
3 (0x03) testing
4 (0x04) unknown
5 (0x05) dormant
6 (0x06) not_present
7 (0x07) lower_layer_down
フィールド 型 既定値 Auto 説明
ingress_actionenum(8)1 (ok)
ingress_macmac02:00:00:00:00:02
ingress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_actionenum(8)1 (ok)
egress_macmac02:00:00:00:00:02
egress_port_idbytes — PDU の残りすべて
値 名前
1 (0x01) ok
2 (0x02) down
3 (0x03) blocked
4 (0x04) vid
フィールド 型 既定値 Auto 説明
egress_identifieruint(64)2199023255553
フィールド 型 既定値 Auto 説明
last_egress_identifieruint(64)2199023255553
next_egress_identifieruint(64)2199023255554
フィールド 型 既定値 Auto 説明
ouiuint(24)
subtypeuint(8)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
pattern_typeenum(8)
test_patternbytes — PDU の残りすべて
値 名前
0 (0x00) null_without_crc
1 (0x01) null_with_crc
2 (0x02) prbs_without_crc
3 (0x03) prbs_with_crc
レベル 規則
警告 first_tlv_offset が 16
y1731-1sl — templates/protocols/oam/y1731-1sl.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット3 (0x03)
フィールド 型 既定値 Auto 説明
subtypeuint(8)3Slow Protocols サブタイプ(3 = OAM)。
flagsflags(16)0x50フラグ: リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。
codeenum(8)0 (information)OAMPDU コード: 0x00 Information、0x01 Event Notification、0x02 Variable Request、0x03 Variable Response、0x04 Loopback Control、0xfe Organization Specific。
databytes — PDU の残りすべて""OAMPDU の残りをオクテット列で。
ビット マスク 名前
0 1 (0x0001) link_fault
1 2 (0x0002) dying_gasp
2 4 (0x0004) critical_event
3 8 (0x0008) local_evaluating
4 16 (0x0010) local_stable
5 32 (0x0020) remote_evaluating
6 64 (0x0040) remote_stable
値 名前
0 (0x00) information
1 (0x01) event_notification
2 (0x02) variable_request
3 (0x03) variable_response
4 (0x04) loopback_control
254 (0xfe) organization_specific
次レイヤは code で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット3 (0x03)
efm_oamcode0 (0x00) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
subtypeuint(8)3Slow Protocols サブタイプ(3 = OAM)。
flagsflags(16)0x50フラグ: リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。
codeenum(8)0 (information)OAMPDU コード: 0x00 Information、0x01 Event Notification、0x02 Variable Request、0x03 Variable Response、0x04 Loopback Control、0xfe Organization Specific。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)2 要素 Information TLV(8 ビット型、ヘッダを含む 8 ビット長、自動): Local / Remote Information、Organization Specific。End TLV(タイプ 0)で終わる。
ビット マスク 名前
0 1 (0x0001) link_fault
1 2 (0x0002) dying_gasp
2 4 (0x0004) critical_event
3 8 (0x0008) local_evaluating
4 16 (0x0010) local_stable
5 32 (0x0020) remote_evaluating
6 64 (0x0040) remote_stable
値 名前
0 (0x00) information
1 (0x01) event_notification
2 (0x02) variable_request
3 (0x03) variable_response
4 (0x04) loopback_control
254 (0xfe) organization_specific
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) local_informationoam_version, revision, state_reserved, multiplexer_action, parser_action, oam_configuration, oampdu_configuration_reserved, max_oampdu_size, oui, vendor_specific_information
2 (0x02) remote_informationoam_version, revision, state_reserved, multiplexer_action, parser_action, oam_configuration, oampdu_configuration_reserved, max_oampdu_size, oui, vendor_specific_information
254 (0xfe) organization_specificoui, value
フィールド 型 既定値 Auto 説明
oam_versionuint(8)1
revisionuint(16)0
state_reserveduint(5)0
multiplexer_actionenum(1)0 (forward)
parser_actionenum(2)0 (forward)
oam_configurationflags(8)0x9
oampdu_configuration_reserveduint(5)0
max_oampdu_sizeuint(11)1518
ouiuint(24)0
vendor_specific_informationuint(32)0
値 名前
0 forward
1 loopback
2 discard
ビット マスク 名前
0 1 (0x01) active_mode
1 2 (0x02) unidirectional
2 4 (0x04) remote_loopback
3 8 (0x08) link_events
4 16 (0x10) variable_retrieval
フィールド 型 既定値 Auto 説明
oam_versionuint(8)1
revisionuint(16)0
state_reserveduint(5)0
multiplexer_actionenum(1)0 (forward)
parser_actionenum(2)0 (forward)
oam_configurationflags(8)0x9
oampdu_configuration_reserveduint(5)0
max_oampdu_sizeuint(11)1518
ouiuint(24)0
vendor_specific_informationuint(32)0
値 名前
0 forward
1 loopback
2 discard
ビット マスク 名前
0 1 (0x01) active_mode
1 2 (0x02) unidirectional
2 4 (0x04) remote_loopback
3 8 (0x08) link_events
4 16 (0x10) variable_retrieval
フィールド 型 既定値 Auto 説明
ouiuint(24)
valuebytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット3 (0x03)
efm_oamcode1 (0x01) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
subtypeuint(8)3Slow Protocols サブタイプ(3 = OAM)。
flagsflags(16)0x50フラグ: リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。
codeenum(8)1 (event_notification)OAMPDU コード: 0x00 Information、0x01 Event Notification、0x02 Variable Request、0x03 Variable Response、0x04 Loopback Control、0xfe Organization Specific。
sequence_numberuint(16)1イベント通知のシーケンス番号。
tlvstlv — タイプ 0 の最初の項目まで (なければ PDU の終わりまで)2 要素 リンクイベント TLV(8 ビット型、ヘッダを含む 8 ビット長、自動): Errored Symbol Period、Errored Frame、Errored Frame Period、Errored Frame Seconds Summary、Organization Specific。End TLV(タイプ 0)で終わる。
ビット マスク 名前
0 1 (0x0001) link_fault
1 2 (0x0002) dying_gasp
2 4 (0x0004) critical_event
3 8 (0x0008) local_evaluating
4 16 (0x0010) local_stable
5 32 (0x0020) remote_evaluating
6 64 (0x0040) remote_stable
値 名前
0 (0x00) information
1 (0x01) event_notification
2 (0x02) variable_request
3 (0x03) variable_response
4 (0x04) loopback_control
254 (0xfe) organization_specific
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) end(タイプのみ。長さと値なし)
1 (0x01) errored_symbol_periodtimestamp, window, threshold, errors, error_running_total, event_running_total
2 (0x02) errored_frametimestamp, window, threshold, errors, error_running_total, event_running_total
3 (0x03) errored_frame_periodtimestamp, window, threshold, errors, error_running_total, event_running_total
4 (0x04) errored_frame_seconds_summarytimestamp, window, threshold, errors, error_running_total, event_running_total
254 (0xfe) organization_specificoui, value
フィールド 型 既定値 Auto 説明
timestampuint(16)0
windowuint(64)10
thresholduint(64)1
errorsuint(64)1
error_running_totaluint(64)1
event_running_totaluint(32)1
フィールド 型 既定値 Auto 説明
timestampuint(16)0
windowuint(16)10
thresholduint(32)1
errorsuint(32)1
error_running_totaluint(64)1
event_running_totaluint(32)1
フィールド 型 既定値 Auto 説明
timestampuint(16)0
windowuint(32)10
thresholduint(32)1
errorsuint(32)1
error_running_totaluint(64)1
event_running_totaluint(32)1
フィールド 型 既定値 Auto 説明
timestampuint(16)0
windowuint(16)10
thresholduint(16)1
errorsuint(16)1
error_running_totaluint(32)1
event_running_totaluint(32)1
フィールド 型 既定値 Auto 説明
ouiuint(24)
valuebytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット3 (0x03)
efm_oamcode2 (0x02) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
subtypeuint(8)3Slow Protocols サブタイプ(3 = OAM)。
flagsflags(16)0x50フラグ: リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。
codeenum(8)2 (variable_request)OAMPDU コード: 0x00 Information、0x01 Event Notification、0x02 Variable Request、0x03 Variable Response、0x04 Loopback Control、0xfe Organization Specific。
variable_descriptorsbytes — PDU の残りすべて07 00 02 00変数記述子のオクテット列: それぞれブランチ(1 オクテット)とリーフ(2 オクテット)、0 のブランチで終わる。
ビット マスク 名前
0 1 (0x0001) link_fault
1 2 (0x0002) dying_gasp
2 4 (0x0004) critical_event
3 8 (0x0008) local_evaluating
4 16 (0x0010) local_stable
5 32 (0x0020) remote_evaluating
6 64 (0x0040) remote_stable
値 名前
0 (0x00) information
1 (0x01) event_notification
2 (0x02) variable_request
3 (0x03) variable_response
4 (0x04) loopback_control
254 (0xfe) organization_specific
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット3 (0x03)
efm_oamcode3 (0x03) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
subtypeuint(8)3Slow Protocols サブタイプ(3 = OAM)。
flagsflags(16)0x50フラグ: リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。
codeenum(8)3 (variable_response)OAMPDU コード: 0x00 Information、0x01 Event Notification、0x02 Variable Request、0x03 Variable Response、0x04 Loopback Control、0xfe Organization Specific。
variable_containersbytes — PDU の残りすべて07 00 02 04 00 00 00 2a 00変数コンテナのオクテット列: それぞれブランチ・リーフ・幅・値、0 のブランチで終わる。
ビット マスク 名前
0 1 (0x0001) link_fault
1 2 (0x0002) dying_gasp
2 4 (0x0004) critical_event
3 8 (0x0008) local_evaluating
4 16 (0x0010) local_stable
5 32 (0x0020) remote_evaluating
6 64 (0x0040) remote_stable
値 名前
0 (0x00) information
1 (0x01) event_notification
2 (0x02) variable_request
3 (0x03) variable_response
4 (0x04) loopback_control
254 (0xfe) organization_specific
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット3 (0x03)
efm_oamcode4 (0x04) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
subtypeuint(8)3Slow Protocols サブタイプ(3 = OAM)。
flagsflags(16)0x50フラグ: リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。
codeenum(8)4 (loopback_control)OAMPDU コード: 0x00 Information、0x01 Event Notification、0x02 Variable Request、0x03 Variable Response、0x04 Loopback Control、0xfe Organization Specific。
remote_loopback_commandenum(8)1 (enable)リモートループバックコマンド: 1 有効化、2 無効化。
ビット マスク 名前
0 1 (0x0001) link_fault
1 2 (0x0002) dying_gasp
2 4 (0x0004) critical_event
3 8 (0x0008) local_evaluating
4 16 (0x0010) local_stable
5 32 (0x0020) remote_evaluating
6 64 (0x0040) remote_stable
値 名前
0 (0x00) information
1 (0x01) event_notification
2 (0x02) variable_request
3 (0x03) variable_response
4 (0x04) loopback_control
254 (0xfe) organization_specific
値 名前
1 (0x01) enable
2 (0x02) disable
下位レイヤ 判別フィールド 値
ethernet2ethertype = 34825 (0x8809) のときのペイロード先頭 8 ビット3 (0x03)
efm_oamcode254 (0xfe) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
subtypeuint(8)3Slow Protocols サブタイプ(3 = OAM)。
flagsflags(16)0x50フラグ: リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。
codeenum(8)254 (organization_specific)OAMPDU コード: 0x00 Information、0x01 Event Notification、0x02 Variable Request、0x03 Variable Response、0x04 Loopback Control、0xfe Organization Specific。
ouiuint(24)0組織固有識別子(OUI)。
databytes — PDU の残りすべて""OAMPDU の残りをオクテット列で。
ビット マスク 名前
0 1 (0x0001) link_fault
1 2 (0x0002) dying_gasp
2 4 (0x0004) critical_event
3 8 (0x0008) local_evaluating
4 16 (0x0010) local_stable
5 32 (0x0020) remote_evaluating
6 64 (0x0040) remote_stable
値 名前
0 (0x00) information
1 (0x01) event_notification
2 (0x02) variable_request
3 (0x03) variable_response
4 (0x04) loopback_control
254 (0xfe) organization_specific
フィールド 型 既定値 Auto 説明
versionuint(4)4IP バージョン。常に 4。
ihluint(4)ヘッダの長さ (32 ビットワード単位) ヘッダ長 (32 ビット語単位、5〜15。Auto、オプションを含む)。
dscpuint(6)0DSCP (QoS クラス、0〜63)。
ecnuint(2)0明示的輻輳通知 (0 = 非 ECT、1 / 2 = ECT、3 = CE)。
total_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダとペイロードの合計長 (バイト、Auto)。
identificationuint(16)0同じデータグラムのフラグメントで共通の識別子。
flagsflags(3)0x0フラグ: DF (分割禁止) と MF (後続フラグメントあり)。最上位ビットは予約。
frag_offsetuint(13)0このフラグメントのオフセット (8 バイト単位)。
ttluint(8)64生存時間。ルータごとに減算され、0 は送信されない。
protocolenum(8)253 (experimental)次レイヤのプロトコル番号 (「次レイヤ」参照) 次レイヤのプロトコル番号 (Auto。次レイヤ不明時は 253 = 実験用)。
header_checksumuint(16)ヘッダに対するインターネットチェックサム ヘッダのインターネットチェックサム (Auto)。
srcipv4192.0.2.1送信元 IPv4 アドレス。
dstipv4192.0.2.2宛先 IPv4 アドレス。
optionstlv — ihl * 4 - 20 オクテットIPv4 オプション (TLV: EOL、NOP、セキュリティ、経路記録、タイムスタンプなど)。
paddingpadding(4)オプションを 32 ビット境界に揃えるゼロパディング (Auto)。
ビット マスク 名前
2 4 reserved
1 2 df
0 1 mf
値 名前
1 (0x01) icmp
2 (0x02) igmp
4 (0x04) ipip
6 (0x06) tcp
17 (0x11) udp
41 (0x29) ipv6
46 (0x2e) rsvp
47 (0x2f) gre
50 (0x32) esp
51 (0x33) ah
58 (0x3a) ipv6_icmp
88 (0x58) eigrp
89 (0x59) ospf
103 (0x67) pim
112 (0x70) vrrp
115 (0x73) l2tp
132 (0x84) sctp
253 (0xfd) experimental
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) eol(タイプのみ。長さと値なし)
1 (0x01) nop(タイプのみ。長さと値なし)
148 (0x94) router_alertvalue
フィールド 型 既定値 Auto 説明
valueuint(16)
次レイヤは protocol で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レベル 規則
警告 version が 4
エラー ihl が 5..15 の範囲
警告 ttl が 0 以外
フィールド 型 既定値 Auto 説明
versionuint(4)6IP バージョン。常に 6。
dscpuint(6)0DSCP (QoS クラス、0〜63)。
ecnuint(2)0明示的輻輳通知 (0 = 非 ECT、1 / 2 = ECT、3 = CE)。
flow_labeluint(20)0フローラベル (20 ビット)。ルータがフローを識別する。0 = なし。
payload_lengthuint(16)ペイロードの長さ (オクテット単位) このヘッダ以降の長さ (拡張ヘッダを含む、Auto)。
next_headerenum(8)253 (experimental)次レイヤのプロトコル番号 (「次レイヤ」参照) 次ヘッダのプロトコル番号 (Auto。次レイヤ不明時は 253 = 実験用)。
hop_limituint(8)64ホップリミット。ルータごとに減算され、0 は送信されない。
srcipv62001:db8::1送信元 IPv6 アドレス。
dstipv62001:db8::2宛先 IPv6 アドレス。
値 名前
0 (0x00) hop_by_hop
4 (0x04) ipv4
6 (0x06) tcp
17 (0x11) udp
41 (0x29) ipv6
43 (0x2b) routing
44 (0x2c) fragment
46 (0x2e) rsvp
50 (0x32) esp
51 (0x33) ah
58 (0x3a) icmpv6
59 (0x3b) no_next_header
60 (0x3c) destination_options
88 (0x58) eigrp
89 (0x59) ospf
112 (0x70) vrrp
132 (0x84) sctp
143 (0x8f) ethernet
253 (0xfd) experimental
次レイヤは next_header で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット
レベル 規則
警告 version が 6
警告 hop_limit が 0 以外
フィールド 型 既定値 Auto 説明
next_headeruint(8)253次レイヤのプロトコル番号 (「次レイヤ」参照) この拡張ヘッダに続くヘッダのプロトコル番号 (Auto)。
hdr_ext_lenuint(8)ヘッダの長さ (64 ビットワード単位) (-1) この拡張ヘッダの長さ (8 バイト単位、先頭 8 バイトを除く。Auto)。
optionsbytes — hdr_ext_len * 8 + 6 オクテット01 04 00 00 00 00生の TLV オプション (8 バイトの倍数にパディング)。
paddingpadding(8)拡張ヘッダを 8 バイトの倍数に揃えるゼロパディング (Pad1、Auto)。
次レイヤは next_header で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット
下位レイヤ 判別フィールド 値
ipv6next_header43 (0x2b)
ipv6next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット(その他の値)
ipv6_hopoptsnext_header43 (0x2b)
ipv6_hopoptsnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット(その他の値)
ipv6_routenext_header43 (0x2b)
ipv6_routenext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット(その他の値)
ipv6_srhnext_header43 (0x2b)
ipv6_srhnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット(その他の値)
ipv6_fragnext_header43 (0x2b)
ipv6_fragnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット(その他の値)
ipv6_dstoptsnext_header43 (0x2b)
ipv6_dstoptsnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット(その他の値)
フィールド 型 既定値 Auto 説明
next_headeruint(8)253次レイヤのプロトコル番号 (「次レイヤ」参照) この拡張ヘッダに続くヘッダのプロトコル番号 (Auto)。
hdr_ext_lenuint(8)ヘッダの長さ (64 ビットワード単位) (-1) この拡張ヘッダの長さ (8 バイト単位、先頭 8 バイトを除く。Auto)。
routing_typeenum(8)2 (mobile_ipv6)ルーティングヘッダ種別 (例: 2 = Mobile IPv6、4 = SRH)。
segments_leftuint(8)1残りのルートセグメント数。
databytes — hdr_ext_len * 8 + 4 オクテット00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00ルーティングタイプ固有のデータ。
paddingpadding(8)拡張ヘッダを 8 バイトの倍数に揃えるゼロパディング (Pad1、Auto)。
値 名前
0 (0x00) source_route_deprecated
2 (0x02) mobile_ipv6
3 (0x03) rpl
4 (0x04) segment_routing
次レイヤは next_header で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット
レベル 規則
警告 routing_type が 0 以外
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
最終宛先 : segments_left が 0 でない間は、segment_list の要素 0 が下位レイヤの疑似ヘッダの宛先アドレスを置き換えます (RFC 8200 §8.1)
補足 : SRv6 SRH / SR-MPLS (P2)
下位レイヤ 判別フィールド 値
ipv6next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット4 (0x04)
ipv6_hopoptsnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット4 (0x04)
ipv6_routenext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット4 (0x04)
ipv6_srhnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット4 (0x04)
ipv6_fragnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット4 (0x04)
ipv6_dstoptsnext_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット4 (0x04)
フィールド 型 既定値 Auto 説明
next_headeruint(8)253次レイヤのプロトコル番号 (「次レイヤ」参照) この拡張ヘッダに続くヘッダのプロトコル番号 (Auto)。
hdr_ext_lenuint(8)ヘッダの長さ (64 ビットワード単位) (-1) この拡張ヘッダの長さ (8 バイト単位、先頭 8 バイトを除く。Auto)。
routing_typeenum(8)4 (segment_routing)ルーティングヘッダ種別 (例: 2 = Mobile IPv6、4 = SRH)。
segments_leftuint(8)1Segments Left: 次に向かうセグメントのセグメントリスト上の位置。最後のセグメントで 0。
last_entryuint(8)segment_list の要素数 (-1)Last Entry: セグメントリスト最後の要素の位置 (= セグメント数 - 1、Auto)。
flagsuint(8)0フラグ (RFC 8754 では未定義。0)。
taguint(16)0Tag: パケットをクラスやグループで分類するための値 (0 = 未使用)。
segment_listlist<ipv6> — last_entry * 16 + 16 オクテット2 要素 セグメントリスト (SID) を経路の逆順で: 要素 0 が最後のセグメント、最後の要素が最初のセグメント。Segments Left が 0 でない間は、上位層チェックサムの宛先に要素 0 を使用。
tlvstlv — グループ先頭から hdr_ext_len * 8 + 8 オクテットまで省略可能な TLV (8 ビット型、8 ビット長): Pad1、PadN、HMAC (HMAC 値は手動)。ヘッダは Pad1 で 8 オクテットの倍数まで自動で詰める。
paddingpadding(8)拡張ヘッダを 8 バイトの倍数に揃えるゼロパディング (Pad1、Auto)。
値 名前
4 (0x04) segment_routing
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) pad1(タイプのみ。長さと値なし)
4 (0x04) padnpadding
5 (0x05) hmacd, reserved, hmac_key_id, hmac
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
duint(1)0
reserveduint(15)0
hmac_key_iduint(32)1
hmacbytes — PDU の残りすべて00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
次レイヤは next_header で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット
レイヤ : L3 (ネットワーク)
ヘッダ : 8 オクテット (固定長)
フィールド 型 既定値 Auto 説明
next_headeruint(8)253次レイヤのプロトコル番号 (「次レイヤ」参照) この拡張ヘッダに続くヘッダのプロトコル番号 (Auto)。
reserveduint(8)0予約。0。
fragment_offsetuint(13)0このフラグメントのオフセット (8 バイト単位)。
resuint(2)0予約。0。
muint(1)0MF フラグ (1 = 後続のフラグメントあり)。
identificationuint(32)0同じパケットのフラグメントで共通の識別子。
次レイヤは next_header で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
next_headeruint(8)253次レイヤのプロトコル番号 (「次レイヤ」参照) この拡張ヘッダに続くヘッダのプロトコル番号 (Auto)。
hdr_ext_lenuint(8)ヘッダの長さ (64 ビットワード単位) (-1) この拡張ヘッダの長さ (8 バイト単位、先頭 8 バイトを除く。Auto)。
optionsbytes — hdr_ext_len * 8 + 6 オクテット01 04 00 00 00 00生の TLV オプション (8 バイトの倍数にパディング)。
paddingpadding(8)拡張ヘッダを 8 バイトの倍数に揃えるゼロパディング (Pad1、Auto)。
次レイヤは next_header で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
next_header = 43 (0x2b) のときのペイロードの 16 ビット目から 8 ビット
レイヤ : L3 (ネットワーク)
ヘッダ : 8 オクテット (固定長)
下位レイヤ 判別フィールド 値
ipv4protocol1 (0x01)
フィールド 型 既定値 Auto 説明
typeenum(8)8 (echo_request)メッセージ種別。
codeuint(8)0メッセージコード (意味は種別による)。
checksumuint(16)ヘッダとそれ以降すべてに対するインターネットチェックサム ヘッダとペイロードのインターネットチェックサム (Auto)。
restbytes(4)00 00 00 00種別ごとに意味が異なる 4 バイトのヘッダ残り部分。
値 名前
0 (0x00) echo_reply
3 (0x03) destination_unreachable
4 (0x04) source_quench
5 (0x05) redirect
8 (0x08) echo_request
9 (0x09) router_advertisement
10 (0x0a) router_solicitation
11 (0x0b) time_exceeded
12 (0x0c) parameter_problem
13 (0x0d) timestamp_request
14 (0x0e) timestamp_reply
15 (0x0f) information_request
16 (0x10) information_reply
17 (0x11) address_mask_request
18 (0x12) address_mask_reply
42 (0x2a) extended_echo_request
43 (0x2b) extended_echo_reply
フィールド 型 既定値 Auto 説明
typeenum(8)128 (echo_request)次レイヤのプロトコル番号 (「次レイヤ」参照) メッセージ種別。
codeuint(8)0メッセージコード (意味は種別による)。
checksumuint(16)ヘッダとそれ以降すべてに対する疑似ヘッダ付きインターネットチェックサム IPv6 擬似ヘッダを含むヘッダとペイロードのインターネットチェックサム (Auto)。
値 名前
1 (0x01) destination_unreachable
2 (0x02) packet_too_big
3 (0x03) time_exceeded
4 (0x04) parameter_problem
128 (0x80) echo_request
129 (0x81) echo_reply
130 (0x82) mld_query
131 (0x83) mld_report
132 (0x84) mld_done
133 (0x85) router_solicitation
134 (0x86) router_advertisement
135 (0x87) neighbor_solicitation
136 (0x88) neighbor_advertisement
137 (0x89) redirect
143 (0x8f) mldv2_report
次レイヤは type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レベル 規則
警告 type が 1..255 の範囲
レイヤ : L3 (ネットワーク)
ヘッダ : 4 オクテット (固定長)
フィールド 型 既定値 Auto 説明
identifieruint(16)0エコー要求と応答を対応付ける識別子。
sequenceuint(16)0エコー要求と応答を対応付けるシーケンス番号。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
icmpv6type133 (0x85)
フィールド 型 既定値 Auto 説明
reserveduint(32)0予約。0。
optionsbytes — PDU の残りすべて生の NDP オプション (TLV)。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
icmpv6type134 (0x86)
フィールド 型 既定値 Auto 説明
cur_hop_limituint(8)64ホストが使うべきホップリミット (0 = 未指定)。
muint(1)0管理アドレス設定フラグ (M)。
ouint(1)0その他設定フラグ (O)。
reserveduint(6)0予約。0。
router_lifetimeuint(16)1800デフォルトルータとしての生存時間 (秒。0 = デフォルトルータではない)。
reachable_timeuint(32)0到達可能時間 (ミリ秒。0 = 未指定)。
retrans_timeruint(32)0再送タイマ (ミリ秒。0 = 未指定)。
optionsbytes — PDU の残りすべて生の NDP オプション (TLV)。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
icmpv6type135 (0x87)
フィールド 型 既定値 Auto 説明
reserveduint(32)0予約。0。
targetipv6fe80::1ターゲットアドレス。
optionsbytes — PDU の残りすべて生の NDP オプション (TLV)。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
icmpv6type136 (0x88)
フィールド 型 既定値 Auto 説明
ruint(1)0ルータフラグ (R)。
suint(1)1要請応答フラグ (S)。
ouint(1)1上書きフラグ (O)。
reserveduint(29)0予約。0。
targetipv6fe80::1ターゲットアドレス。
optionsbytes — PDU の残りすべて生の NDP オプション (TLV)。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
icmpv6type137 (0x89)
フィールド 型 既定値 Auto 説明
reserveduint(32)0予約。0。
targetipv6fe80::1ターゲットアドレス。
destinationipv62001:db8::1リダイレクト先の宛先アドレス。
optionsbytes — PDU の残りすべて生の NDP オプション (TLV)。
レイヤ : L3 (ネットワーク)
ヘッダ : 4 オクテット (固定長)
補足 : カプセル化・トンネル
フィールド 型 既定値 Auto 説明
flagsflags(16)0x0GRE フラグとバージョン (checksum / key / sequence の存在ビット)。
protocol_typeenum(16)2048 (ipv4)次レイヤのプロトコル番号 (「次レイヤ」参照) カプセル化ペイロードの EtherType。
ビット マスク 名前
15 32768 (0x8000) checksum_present
13 8192 (0x2000) key_present
12 4096 (0x1000) sequence_present
値 名前
2048 (0x0800) ipv4
34525 (0x86dd) ipv6
25944 (0x6558) transparent_ethernet
34887 (0x8847) mpls
次レイヤは protocol_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
gre-ipv4 — templates/protocols/encap/gre-ipv4.wpg.yaml
レイヤ : L3 (ネットワーク)
ヘッダ : 8 オクテット (固定長)
補足 : カプセル化・トンネル
カタログ内にこのプロトコルへ至る下位レイヤはありません。先頭レイヤとして使うか、明示的に積んでください。
フィールド 型 既定値 Auto 説明
flagsflags(16)0x2000GRE フラグとバージョン (checksum / key / sequence の存在ビット)。
protocol_typeenum(16)25944 (transparent_ethernet)カプセル化ペイロードの EtherType。
vsiduint(24)024 ビット NVGRE 仮想サブネット ID。
flow_iduint(8)0NVGRE FlowID (負荷分散用エントロピー)。
ビット マスク 名前
15 32768 (0x8000) checksum_present
13 8192 (0x2000) key_present
12 4096 (0x1000) sequence_present
値 名前
25944 (0x6558) transparent_ethernet
次レイヤは protocol_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
nvgre — templates/protocols/encap/nvgre.wpg.yaml
下位レイヤ 判別フィールド 値
ipv4protocol89 (0x59)
フィールド 型 既定値 Auto 説明
versionuint(8)2OSPF バージョン (2 = OSPFv2、3 = OSPFv3)。
typeenum(8)1 (hello)次レイヤのプロトコル番号 (「次レイヤ」参照) OSPF パケットタイプ (Hello / DB Description / LS Request / LS Update / LS Ack。次レイヤから自動)。
packet_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダを含む OSPF パケット長 (オクテット、自動)。
router_idipv4192.0.2.1送信ルータのルータ ID。
area_idipv40.0.0.0パケットが属するエリア (0.0.0.0 = バックボーン)。
checksumuint(16)ヘッダとそれ以降すべてに対するインターネットチェックサム; authentication は 0 として計算 認証フィールドを除いた OSPF パケットのインターネットチェックサム (自動)。
au_typeenum(16)0 (null)認証タイプ (0 = なし、1 = 平文パスワード、2 = 暗号認証)。
authenticationbytes(8)00 00 00 00 00 00 00 0064 ビットの認証フィールド (パスワード、または暗号認証のキー ID / シーケンス)。
値 名前
1 (0x01) hello
2 (0x02) db_description
3 (0x03) ls_request
4 (0x04) ls_update
5 (0x05) ls_ack
値 名前
0 (0x0000) null
1 (0x0001) simple_password
2 (0x0002) cryptographic
次レイヤは type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv2type1 (0x01)
フィールド 型 既定値 Auto 説明
network_maskipv4255.255.255.0インタフェースまたは広告ネットワークのネットマスク。
hello_intervaluint(16)10Hello パケットの送信間隔 (秒)。
optionsflags(8)0x2オプション機能 (E、MC、N/P、L、DC、O、DN ビット)。
router_priorityuint(8)1DR 選出のルータ優先度 (0 = DR にならない)。
router_dead_intervaluint(32)40Hello が途絶えてから隣接ルータをダウンと判断するまでの秒数。
designated_routeripv40.0.0.0代表ルータ DR (0.0.0.0 = なし)。
backup_designated_routeripv40.0.0.0バックアップ代表ルータ BDR (0.0.0.0 = なし)。
neighborslist<ipv4> — PDU の残りすべてリンク上で認識している隣接ルータのルータ ID。
ビット マスク 名前
0 1 (0x01) mt
1 2 (0x02) e
2 4 (0x04) mc
3 8 (0x08) np
4 16 (0x10) l
5 32 (0x20) dc
6 64 (0x40) o
7 128 (0x80) dn
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv2type2 (0x02)
フィールド 型 既定値 Auto 説明
interface_mtuuint(16)1500フラグメントなしで送信できる最大 IP データグラム長。
optionsflags(8)0x2オプション機能 (E、MC、N/P、L、DC、O、DN ビット)。
flagsflags(8)0x7Database Description フラグ (I = 初期、M = 続きあり、MS = マスタ)。
dd_sequenceuint(32)1Database Description シーケンス番号。
lsa_headerslist<struct> — PDU の残りすべてLSA ヘッダ (各 20 オクテット。チェックサムと長さは手動)。
ビット マスク 名前
0 1 (0x01) mt
1 2 (0x02) e
2 4 (0x04) mc
3 8 (0x08) np
4 16 (0x10) l
5 32 (0x20) dc
6 64 (0x40) o
7 128 (0x80) dn
ビット マスク 名前
2 4 (0x04) init
1 2 (0x02) more
0 1 (0x01) master
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ls_ageuint(16)
optionsuint(8)
ls_typeuint(8)
link_state_idipv4
advertising_routeripv4
ls_sequenceuint(32)
ls_checksumuint(16)
lengthuint(16)
ospfv2-dbd — templates/protocols/routing/ospfv2-dbd.wpg.yaml
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv2type3 (0x03)
フィールド 型 既定値 Auto 説明
requestslist<struct> — PDU の残りすべて要求する LSA (LS タイプ、リンクステート ID、広告ルータ)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ls_typeuint(32)
link_state_idipv4
advertising_routeripv4
ospfv2-lsr — templates/protocols/routing/ospfv2-lsr.wpg.yaml
レイヤ : L3 (ネットワーク)
ヘッダ : 4 オクテット (固定長)
下位レイヤ 判別フィールド 値
ospfv2type4 (0x04)
フィールド 型 既定値 Auto 説明
num_lsasuint(32)1アップデートに含まれる LSA の数。
次レイヤは num_lsas で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv2type5 (0x05)
フィールド 型 既定値 Auto 説明
lsa_headerslist<struct> — PDU の残りすべてLSA ヘッダ (各 20 オクテット。チェックサムと長さは手動)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ls_ageuint(16)
optionsuint(8)
ls_typeuint(8)
link_state_idipv4
advertising_routeripv4
ls_sequenceuint(32)
ls_checksumuint(16)
lengthuint(16)
ospfv2-lsack — templates/protocols/routing/ospfv2-lsack.wpg.yaml
フィールド 型 既定値 Auto 説明
ls_ageuint(16)0LSA 生成からの経過秒数 (自動チェックサムを正確にするには 0 のまま)。
optionsflags(8)0x2オプション機能 (E、MC、N/P、L、DC、O、DN ビット)。
ls_typeenum(8)1 (router)次レイヤのプロトコル番号 (「次レイヤ」参照) LSA タイプ (LSA 本体レイヤから自動。9 / 10 / 11 = Opaque LSA)。
link_state_idipv4192.0.2.1記述対象を識別するリンクステート ID。
advertising_routeripv4192.0.2.1LSA を生成したルータのルータ ID。
ls_sequenceuint(32)2147483649LSA シーケンス番号 (0x80000001 = 初期値)。
ls_checksumuint(16)ヘッダとそれ以降すべてに対するFletcher チェックサム; ls_age は 0 として計算 LS age を除いた LSA の Fletcher チェックサム (自動)。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダを含む LSA 長 (オクテット、自動)。
ビット マスク 名前
0 1 (0x01) mt
1 2 (0x02) e
2 4 (0x04) mc
3 8 (0x08) np
4 16 (0x10) l
5 32 (0x20) dc
6 64 (0x40) o
7 128 (0x80) dn
値 名前
1 (0x01) router
2 (0x02) network
3 (0x03) summary_network
4 (0x04) summary_asbr
5 (0x05) as_external
7 (0x07) nssa_external
9 (0x09) link_local_opaque
10 (0x0a) area_opaque
11 (0x0b) as_opaque
次レイヤは ls_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
flagsflags(8)0x0Router-LSA フラグ (V = 仮想リンク端点、E = ASBR、B = ABR)。
reserveduint(8)0
num_linksuint(16)links の要素数記述するルータリンクの数。
linkslist<struct> — PDU の残りすべて1 要素 ルータリンク (リンク ID、リンクデータ、タイプ、TOS 数、メトリック)。
ビット マスク 名前
2 4 (0x04) v
1 2 (0x02) e
0 1 (0x01) b
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
link_idipv4
link_dataipv4
typeenum(8)
num_tosuint(8)
metricuint(16)
値 名前
1 (0x01) point_to_point
2 (0x02) transit
3 (0x03) stub
4 (0x04) virtual_link
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
network_maskipv4255.255.255.0インタフェースまたは広告ネットワークのネットマスク。
attached_routerslist<ipv4> — PDU の残りすべてネットワークに接続しているルータのルータ ID。
レイヤ : L3 (ネットワーク)
ヘッダ : 8 オクテット (固定長)
フィールド 型 既定値 Auto 説明
network_maskipv4255.255.255.0インタフェースまたは広告ネットワークのネットマスク。
reserveduint(8)0
metricuint(24)10経路のコスト。
レイヤ : L3 (ネットワーク)
ヘッダ : 16 オクテット (固定長)
フィールド 型 既定値 Auto 説明
network_maskipv4255.255.255.0インタフェースまたは広告ネットワークのネットマスク。
e_bituint(1)1外部メトリックタイプ (1 = タイプ 2、0 = タイプ 1)。
reserveduint(7)0
metricuint(24)20経路のコスト。
forwarding_addressipv40.0.0.0宛先へのトラフィックの転送先アドレス (0.0.0.0 = ASBR 自身)。
external_route_taguint(32)0外部経路に付く 32 ビットのタグ。
下位レイヤ 判別フィールド 値
ospfv2_lsals_type9 (0x09) – 11 (0x0b) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
ls_ageuint(16)0LSA 生成からの経過秒数 (自動チェックサムを正確にするには 0 のまま)。
optionsflags(8)0x42オプション機能 (E、MC、N/P、L、DC、O、DN ビット)。
ls_typeenum(8)10 (area_opaque)Opaque LSA のフラッディング範囲 (9 = リンクローカル、10 = エリア、11 = AS)。
opaque_typeenum(8)4 (router_information)次レイヤのプロトコル番号 (「次レイヤ」参照) Opaque タイプ (1 = TE、4 = Router Information、7 = Extended Prefix、8 = Extended Link。本体レイヤから自動)。
opaque_iduint(24)0同じ Opaque タイプの LSA を区別する Opaque ID (24 ビット)。
advertising_routeripv4192.0.2.1LSA を生成したルータのルータ ID。
ls_sequenceuint(32)2147483649LSA シーケンス番号 (0x80000001 = 初期値)。
ls_checksumuint(16)ヘッダとそれ以降すべてに対するFletcher チェックサム; ls_age は 0 として計算 LS age を除いた LSA の Fletcher チェックサム (自動)。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダを含む LSA 長 (オクテット、自動)。
ビット マスク 名前
0 1 (0x01) mt
1 2 (0x02) e
2 4 (0x04) mc
3 8 (0x08) np
4 16 (0x10) l
5 32 (0x20) dc
6 64 (0x40) o
7 128 (0x80) dn
値 名前
9 (0x09) link_local_opaque
10 (0x0a) area_opaque
11 (0x0b) as_opaque
値 名前
1 (0x01) traffic_engineering
4 (0x04) router_information
7 (0x07) extended_prefix
8 (0x08) extended_link
次レイヤは opaque_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レベル 規則
警告 ls_type が 9..11 の範囲
フィールド 型 既定値 Auto 説明
tlvstlv — PDU の残りすべて1 要素 Opaque LSA の TLV (16 ビットのタイプと長さ、値は 4 オクテット境界まで詰め物。長さは自動)。
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) router_addressaddress
2 (0x0002) linksub_tlvs
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sub_tlvstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) link_typelink_type
2 (0x0002) link_idlink_id
3 (0x0003) local_addressaddresses
4 (0x0004) remote_addressaddresses
5 (0x0005) te_metricmetric
6 (0x0006) max_bandwidthbandwidth
7 (0x0007) max_reservable_bandwidthbandwidth
8 (0x0008) unreserved_bandwidthbandwidths
9 (0x0009) admin_groupgroups
フィールド 型 既定値 Auto 説明
link_typeenum(8)
tlvs › link › sub_tlvs › link_type › link_type
値 名前
1 (0x01) point_to_point
2 (0x02) multi_access
フィールド 型 既定値 Auto 説明
link_idipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
metricuint(32)
フィールド 型 既定値 Auto 説明
bandwidthuint(32)
フィールド 型 既定値 Auto 説明
bandwidthuint(32)
フィールド 型 既定値 Auto 説明
bandwidthslist<uint(32)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
groupsuint(32)
フィールド 型 既定値 Auto 説明
tlvstlv — PDU の残りすべて4 要素 Opaque LSA の TLV (16 ビットのタイプと長さ、値は 4 オクテット境界まで詰め物。長さは自動)。
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) informational_capabilitiescapabilities
2 (0x0002) functional_capabilitiescapabilities
7 (0x0007) hostnamehostname
8 (0x0008) sr_algorithmalgorithms
9 (0x0009) sid_label_rangerange_size, reserved, sub_tlvs
14 (0x000e) sr_local_blockrange_size, reserved, sub_tlvs
15 (0x000f) srms_preferencepreference, reserved
フィールド 型 既定値 Auto 説明
capabilitiesflags(32)
ビット マスク 名前
31 2147483648 (0x80000000) graceful_restart
30 1073741824 (0x40000000) graceful_restart_helper
29 536870912 (0x20000000) stub_router
28 268435456 (0x10000000) traffic_engineering
27 134217728 (0x08000000) p2p_over_lan
26 67108864 (0x04000000) experimental_te
フィールド 型 既定値 Auto 説明
capabilitiesuint(32)
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
range_sizeuint(24)
reserveduint(8)
sub_tlvstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) sid_labellabel; 値が 3 オクテットのとき
1 (0x0001) sid_label_indexindex; 値が 4 オクテットのとき
フィールド 型 既定値 Auto 説明
labeluint(24)
フィールド 型 既定値 Auto 説明
indexuint(32)
フィールド 型 既定値 Auto 説明
range_sizeuint(24)
reserveduint(8)
sub_tlvstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) sid_labellabel; 値が 3 オクテットのとき
1 (0x0001) sid_label_indexindex; 値が 4 オクテットのとき
フィールド 型 既定値 Auto 説明
labeluint(24)
フィールド 型 既定値 Auto 説明
indexuint(32)
フィールド 型 既定値 Auto 説明
preferenceuint(8)
reserveduint(24)
フィールド 型 既定値 Auto 説明
tlvstlv — PDU の残りすべて1 要素 Opaque LSA の TLV (16 ビットのタイプと長さ、値は 4 オクテット境界まで詰め物。長さは自動)。
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) extended_prefixroute_type, prefix_length, address_family, flags, prefix, sub_tlvs
2 (0x0002) extended_prefix_rangeprefix_length, address_family, range_size, flags, reserved, prefix, sub_tlvs
フィールド 型 既定値 Auto 説明
route_typeenum(8)
prefix_lengthuint(8)
address_familyuint(8)
flagsflags(8)
prefixipv4
sub_tlvstlv — PDU の残りすべて
値 名前
0 (0x00) unspecified
1 (0x01) intra_area
3 (0x03) inter_area
5 (0x05) as_external
7 (0x07) nssa_external
ビット マスク 名前
7 128 (0x80) a
6 64 (0x40) n
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x0002) prefix_sid_labelflags, reserved, mt_id, algorithm, label; 値が 7 オクテットのとき
2 (0x0002) prefix_sidflags, reserved, mt_id, algorithm, index; 値が 8 オクテットのとき
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
algorithmuint(8)
labeluint(24)
tlvs › extended_prefix › sub_tlvs › prefix_sid_label › flags
ビット マスク 名前
6 64 (0x40) np
5 32 (0x20) m
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
algorithmuint(8)
indexuint(32)
tlvs › extended_prefix › sub_tlvs › prefix_sid › flags
ビット マスク 名前
6 64 (0x40) np
5 32 (0x20) m
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
フィールド 型 既定値 Auto 説明
prefix_lengthuint(8)
address_familyuint(8)
range_sizeuint(16)
flagsflags(8)
reserveduint(24)
prefixipv4
sub_tlvstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x0002) prefix_sid_labelflags, reserved, mt_id, algorithm, label; 値が 7 オクテットのとき
2 (0x0002) prefix_sidflags, reserved, mt_id, algorithm, index; 値が 8 オクテットのとき
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
algorithmuint(8)
labeluint(24)
tlvs › extended_prefix_range › sub_tlvs › prefix_sid_label › flags
ビット マスク 名前
6 64 (0x40) np
5 32 (0x20) m
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
algorithmuint(8)
indexuint(32)
tlvs › extended_prefix_range › sub_tlvs › prefix_sid › flags
ビット マスク 名前
6 64 (0x40) np
5 32 (0x20) m
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
フィールド 型 既定値 Auto 説明
tlvstlv — PDU の残りすべて1 要素 Opaque LSA の TLV (16 ビットのタイプと長さ、値は 4 オクテット境界まで詰め物。長さは自動)。
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) extended_linklink_type, reserved, link_id, link_data, sub_tlvs
フィールド 型 既定値 Auto 説明
link_typeenum(8)
reserveduint(24)
link_idipv4
link_dataipv4
sub_tlvstlv — PDU の残りすべて
値 名前
1 (0x01) point_to_point
2 (0x02) transit
3 (0x03) stub
4 (0x04) virtual
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x0002) adj_sidflags, reserved, mt_id, weight, label; 値が 7 オクテットのとき
2 (0x0002) adj_sid_indexflags, reserved, mt_id, weight, index; 値が 8 オクテットのとき
3 (0x0003) lan_adj_sidflags, reserved, mt_id, weight, neighbor_id, label; 値が 11 オクテットのとき
3 (0x0003) lan_adj_sid_indexflags, reserved, mt_id, weight, neighbor_id, index; 値が 12 オクテットのとき
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
weightuint(8)
labeluint(24)
tlvs › extended_link › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) b
6 64 (0x40) v
5 32 (0x20) l
4 16 (0x10) g
3 8 (0x08) p
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
weightuint(8)
indexuint(32)
tlvs › extended_link › sub_tlvs › adj_sid_index › flags
ビット マスク 名前
7 128 (0x80) b
6 64 (0x40) v
5 32 (0x20) l
4 16 (0x10) g
3 8 (0x08) p
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
weightuint(8)
neighbor_idipv4
labeluint(24)
tlvs › extended_link › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) b
6 64 (0x40) v
5 32 (0x20) l
4 16 (0x10) g
3 8 (0x08) p
フィールド 型 既定値 Auto 説明
flagsflags(8)
reserveduint(8)
mt_iduint(8)
weightuint(8)
neighbor_idipv4
indexuint(32)
tlvs › extended_link › sub_tlvs › lan_adj_sid_index › flags
ビット マスク 名前
7 128 (0x80) b
6 64 (0x40) v
5 32 (0x20) l
4 16 (0x10) g
3 8 (0x08) p
フィールド 型 既定値 Auto 説明
versionuint(8)3OSPF バージョン (2 = OSPFv2、3 = OSPFv3)。
typeenum(8)1 (hello)次レイヤのプロトコル番号 (「次レイヤ」参照) OSPF パケットタイプ (Hello / DB Description / LS Request / LS Update / LS Ack。次レイヤから自動)。
packet_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダを含む OSPF パケット長 (オクテット、自動)。
router_idipv4192.0.2.1送信ルータのルータ ID。
area_idipv40.0.0.0パケットが属するエリア (0.0.0.0 = バックボーン)。
checksumuint(16)ヘッダとそれ以降すべてに対する疑似ヘッダ付きインターネットチェックサム IPv6 疑似ヘッダを含む OSPFv3 パケットのインターネットチェックサム (自動)。
instance_iduint(8)0インスタンス ID (同一リンク上の OSPFv3 インスタンスを区別)。
reserveduint(8)0
値 名前
1 (0x01) hello
2 (0x02) db_description
3 (0x03) ls_request
4 (0x04) ls_update
5 (0x05) ls_ack
次レイヤは type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv3type1 (0x01)
フィールド 型 既定値 Auto 説明
interface_iduint(32)1送信インタフェースのインタフェース ID。
router_priorityuint(8)1DR 選出のルータ優先度 (0 = DR にならない)。
optionsflags(24)0x13OSPFv3 オプション (V6、E、N、R、DC、AF ビット)。
hello_intervaluint(16)10Hello パケットの送信間隔 (秒)。
router_dead_intervaluint(16)40Hello が途絶えてから隣接ルータをダウンと判断するまでの秒数。
designated_routeripv40.0.0.0代表ルータ DR (0.0.0.0 = なし)。
backup_designated_routeripv40.0.0.0バックアップ代表ルータ BDR (0.0.0.0 = なし)。
neighborslist<ipv4> — PDU の残りすべてリンク上で認識している隣接ルータのルータ ID。
ビット マスク 名前
0 1 (0x000001) v6
1 2 (0x000002) e
3 8 (0x000008) n
4 16 (0x000010) r
5 32 (0x000020) dc
8 256 (0x000100) af
ospfv3-hello — templates/protocols/routing/ospfv3-hello.wpg.yaml
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv3type2 (0x02)
フィールド 型 既定値 Auto 説明
reserved1uint(8)0
optionsflags(24)0x13OSPFv3 オプション (V6、E、N、R、DC、AF ビット)。
interface_mtuuint(16)1500フラグメントなしで送信できる最大 IP データグラム長。
reserved2uint(8)0
flagsflags(8)0x7Database Description フラグ (I = 初期、M = 続きあり、MS = マスタ)。
dd_sequenceuint(32)1Database Description シーケンス番号。
lsa_headerslist<struct> — PDU の残りすべてLSA ヘッダ (各 20 オクテット。チェックサムと長さは手動)。
ビット マスク 名前
0 1 (0x000001) v6
1 2 (0x000002) e
3 8 (0x000008) n
4 16 (0x000010) r
5 32 (0x000020) dc
8 256 (0x000100) af
ビット マスク 名前
2 4 (0x04) init
1 2 (0x02) more
0 1 (0x01) master
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ls_ageuint(16)
ls_typeuint(16)
link_state_iduint(32)
advertising_routeripv4
ls_sequenceuint(32)
ls_checksumuint(16)
lengthuint(16)
ospfv3-dbd — templates/protocols/routing/ospfv3-dbd.wpg.yaml
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv3type3 (0x03)
フィールド 型 既定値 Auto 説明
requestslist<struct> — PDU の残りすべて要求する LSA (LS タイプ、リンクステート ID、広告ルータ)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
reserveduint(16)
ls_typeuint(16)
link_state_iduint(32)
advertising_routeripv4
ospfv3-lsr — templates/protocols/routing/ospfv3-lsr.wpg.yaml
下位レイヤ 判別フィールド 値
ospfv3type4 (0x04)
フィールド 型 既定値 Auto 説明
num_lsasuint(32)1アップデートに含まれる LSA の数。
次レイヤは num_lsas で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
ospfv3type5 (0x05)
フィールド 型 既定値 Auto 説明
lsa_headerslist<struct> — PDU の残りすべてLSA ヘッダ (各 20 オクテット。チェックサムと長さは手動)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ls_ageuint(16)
ls_typeuint(16)
link_state_iduint(32)
advertising_routeripv4
ls_sequenceuint(32)
ls_checksumuint(16)
lengthuint(16)
ospfv3-lsack — templates/protocols/routing/ospfv3-lsack.wpg.yaml
レイヤ : L3 (ネットワーク)
ヘッダ : 20 オクテット (固定長)
フィールド 型 既定値 Auto 説明
ls_ageuint(16)0LSA 生成からの経過秒数 (自動チェックサムを正確にするには 0 のまま)。
ls_typeenum(16)8193 (router)次レイヤのプロトコル番号 (「次レイヤ」参照) U / S スコープビット付きの LSA 機能コード (LSA 本体レイヤから自動)。
link_state_iduint(32)0記述対象を識別するリンクステート ID。
advertising_routeripv4192.0.2.1LSA を生成したルータのルータ ID。
ls_sequenceuint(32)2147483649LSA シーケンス番号 (0x80000001 = 初期値)。
ls_checksumuint(16)ヘッダとそれ以降すべてに対するFletcher チェックサム; ls_age は 0 として計算 LS age を除いた LSA の Fletcher チェックサム (自動)。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダを含む LSA 長 (オクテット、自動)。
値 名前
8193 (0x2001) router
8194 (0x2002) network
8195 (0x2003) inter_area_prefix
8196 (0x2004) inter_area_router
16389 (0x4005) as_external
8199 (0x2007) nssa
8 (0x0008) link
8201 (0x2009) intra_area_prefix
次レイヤは ls_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
flagsflags(8)0x0Router-LSA フラグ (V = 仮想リンク端点、E = ASBR、B = ABR)。
optionsflags(24)0x13OSPFv3 オプション (V6、E、N、R、DC、AF ビット)。
linkslist<struct> — PDU の残りすべて1 要素 ルータインタフェース (タイプ、メトリック、インタフェース ID、隣接ルータ ID)。
ビット マスク 名前
2 4 (0x04) v
1 2 (0x02) e
0 1 (0x01) b
ビット マスク 名前
0 1 (0x000001) v6
1 2 (0x000002) e
3 8 (0x000008) n
4 16 (0x000010) r
5 32 (0x000020) dc
8 256 (0x000100) af
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
typeuint(8)
reserveduint(8)
metricuint(16)
interface_iduint(32)
neighbor_interface_iduint(32)
neighbor_router_idipv4
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
reserveduint(8)0
optionsflags(24)0x13OSPFv3 オプション (V6、E、N、R、DC、AF ビット)。
attached_routerslist<ipv4> — PDU の残りすべてネットワークに接続しているルータのルータ ID。
ビット マスク 名前
0 1 (0x000001) v6
1 2 (0x000002) e
3 8 (0x000008) n
4 16 (0x000010) r
5 32 (0x000020) dc
8 256 (0x000100) af
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
reserveduint(8)0
metricuint(24)10経路のコスト。
prefix_lengthuint(8)64プレフィックス長 (ビット)。
prefix_optionsflags(8)0x0プレフィックスオプション (NU、LA、P、DN ビット)。
reserved2uint(16)0
address_prefixbytes — PDU の残りすべて20 01 0d b8 00 01 00 004 オクテット境界にパディングしたアドレスプレフィックス。
ビット マスク 名前
0 1 (0x01) nu
1 2 (0x02) la
3 8 (0x08) p
4 16 (0x10) dn
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
flagsflags(8)0x4AS-External-LSA フラグ (E = タイプ 2 メトリック、F = 転送アドレスあり、T = ルートタグあり)。
metricuint(24)20経路のコスト。
prefix_lengthuint(8)64プレフィックス長 (ビット)。
prefix_optionsflags(8)0x0プレフィックスオプション (NU、LA、P、DN ビット)。
referenced_ls_typeuint(16)0参照する LSA の LS タイプ。
address_prefixbytes — PDU の残りすべて20 01 0d b8 00 02 00 004 オクテット境界にパディングしたアドレスプレフィックス。
ビット マスク 名前
2 4 (0x04) e
1 2 (0x02) f
0 1 (0x01) t
ビット マスク 名前
0 1 (0x01) nu
1 2 (0x02) la
3 8 (0x08) p
4 16 (0x10) dn
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
router_priorityuint(8)1DR 選出のルータ優先度 (0 = DR にならない)。
optionsflags(24)0x13OSPFv3 オプション (V6、E、N、R、DC、AF ビット)。
link_local_addressipv6fe80::1インタフェースのリンクローカルアドレス。
num_prefixesuint(32)0後続のプレフィックス数。
prefixesbytes — PDU の残りすべて""プレフィックスエントリ (長さ、オプション、メトリック / 予約、アドレスプレフィックス)。不透明なオクテット列。
ビット マスク 名前
0 1 (0x000001) v6
1 2 (0x000002) e
3 8 (0x000008) n
4 16 (0x000010) r
5 32 (0x000020) dc
8 256 (0x000100) af
レイヤ : L3 (ネットワーク)
ヘッダ : 可変長
フィールド 型 既定値 Auto 説明
num_prefixesuint(16)1後続のプレフィックス数。
referenced_ls_typeuint(16)8193参照する LSA の LS タイプ。
referenced_link_state_iduint(32)0参照する LSA のリンクステート ID。
referenced_advertising_routeripv4192.0.2.1参照する LSA の広告ルータ。
prefixesbytes — PDU の残りすべて40 00 00 0a 20 01 0d b8 00 03 00 00プレフィックスエントリ (長さ、オプション、メトリック / 予約、アドレスプレフィックス)。不透明なオクテット列。
フィールド 型 既定値 Auto 説明
versionuint(8)2EIGRP ヘッダのバージョン (2)。
opcodeenum(8)5 (hello)EIGRP オペコード (Update / Query / Reply / Hello / SIA-Query / SIA-Reply)。
checksumuint(16)ヘッダとそれ以降すべてに対するインターネットチェックサム EIGRP パケットのインターネットチェックサム (自動)。
flagsflags(32)0x0EIGRP フラグ (Init、Conditional Receive、Restart、End of Table)。
sequenceuint(32)0信頼性のある配送のためのシーケンス番号。
acknowledgeuint(32)0確認応答するシーケンス番号 (0 = なし)。
virtual_router_iduint(16)0仮想ルータ ID (0 = ユニキャストアドレスファミリ)。
autonomous_systemuint(16)100EIGRP の AS 番号。
tlvstlv — PDU の残りすべて2 要素 EIGRP TLV (16 ビットタイプ、ヘッダを含む 16 ビット長)。
値 名前
1 (0x01) update
3 (0x03) query
4 (0x04) reply
5 (0x05) hello
10 (0x0a) sia_query
11 (0x0b) sia_reply
ビット マスク 名前
0 1 (0x00000001) init
1 2 (0x00000002) conditional_receive
2 4 (0x00000004) restart
3 8 (0x00000008) end_of_table
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) parametersk1, k2, k3, k4, k5, k6, hold_time
2 (0x0002) authenticationdata
3 (0x0003) sequenceaddress_length, address
4 (0x0004) software_versionos_major, os_minor, tlv_major, tlv_minor
5 (0x0005) next_multicast_sequencesequence
7 (0x0007) peer_terminationdata
258 (0x0102) ipv4_internalnext_hop, delay, bandwidth, mtu, hop_count, reliability, load, internal_tag, flags, prefix_length, destination
259 (0x0103) ipv4_externalnext_hop, originating_router, originating_as, arbitrary_tag, external_metric, reserved, external_protocol, external_flags, delay, bandwidth, mtu, hop_count, reliability, load, internal_tag, flags, prefix_length, destination
1026 (0x0402) ipv6_internalnext_hop, delay, bandwidth, mtu, hop_count, reliability, load, internal_tag, flags, prefix_length, destination
1027 (0x0403) ipv6_externalnext_hop, originating_router, originating_as, arbitrary_tag, external_metric, reserved, external_protocol, external_flags, delay, bandwidth, mtu, hop_count, reliability, load, internal_tag, flags, prefix_length, destination
フィールド 型 既定値 Auto 説明
k1uint(8)
k2uint(8)
k3uint(8)
k4uint(8)
k5uint(8)
k6uint(8)
hold_timeuint(16)
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_lengthuint(8)
addressbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
os_majoruint(8)
os_minoruint(8)
tlv_majoruint(8)
tlv_minoruint(8)
フィールド 型 既定値 Auto 説明
sequenceuint(32)
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
next_hopipv4
delayuint(32)
bandwidthuint(32)
mtuuint(24)
hop_countuint(8)
reliabilityuint(8)
loaduint(8)
internal_taguint(8)
flagsuint(8)
prefix_lengthuint(8)
destinationbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
next_hopipv4
originating_routeripv4
originating_asuint(32)
arbitrary_taguint(32)
external_metricuint(32)
reserveduint(16)
external_protocoluint(8)
external_flagsuint(8)
delayuint(32)
bandwidthuint(32)
mtuuint(24)
hop_countuint(8)
reliabilityuint(8)
loaduint(8)
internal_taguint(8)
flagsuint(8)
prefix_lengthuint(8)
destinationbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
next_hopipv6
delayuint(32)
bandwidthuint(32)
mtuuint(24)
hop_countuint(8)
reliabilityuint(8)
loaduint(8)
internal_taguint(8)
flagsuint(8)
prefix_lengthuint(8)
destinationbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
next_hopipv6
originating_routeripv4
originating_asuint(32)
arbitrary_taguint(32)
external_metricuint(32)
reserveduint(16)
external_protocoluint(8)
external_flagsuint(8)
delayuint(32)
bandwidthuint(32)
mtuuint(24)
hop_countuint(8)
reliabilityuint(8)
loaduint(8)
internal_taguint(8)
flagsuint(8)
prefix_lengthuint(8)
destinationbytes — PDU の残りすべて
eigrp-hello — templates/protocols/routing/eigrp-hello.wpg.yaml
eigrp-update — templates/protocols/routing/eigrp-update.wpg.yaml
下位レイヤ 判別フィールド 値
ipv4protocol112 (0x70)
vrrpv3version2 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
versionuint(4)2VRRP バージョン (2 = RFC 3768、3 = RFC 5798)。
typeenum(4)1 (advertisement)VRRP パケットタイプ (1 = Advertisement)。
vriduint(8)1仮想ルータ識別子 (VRID)。
priorityuint(8)100送信ルータの優先度 (255 = アドレス所有者、0 = 離脱)。
count_ip_addrsuint(8)ip_addresses の要素数広告に含まれる仮想アドレス数 (Auto)。
auth_typeenum(8)0 (no_authentication)VRRPv2 認証タイプ (0 = なし、1 = 平文、2 = IP AH)。
adver_intuint(8)1VRRPv2 広告間隔 (秒)。
checksumuint(16)ヘッダとそれ以降すべてに対するインターネットチェックサム VRRP メッセージのインターネットチェックサム (VRRPv3 は IP 疑似ヘッダを含む) (Auto)。
ip_addresseslist<ipv4> — count_ip_addrs * 4 オクテット1 要素 仮想ルータアドレス。
auth_databytes(8)00 00 00 00 00 00 00 00VRRPv2 認証データ (8 オクテット)。
値 名前
0 (0x00) no_authentication
1 (0x01) simple_text_password
2 (0x02) ip_authentication_header
vrrpv2 — templates/protocols/fhrp/vrrpv2.wpg.yaml
下位レイヤ 判別フィールド 値
ipv4protocol112 (0x70)
フィールド 型 既定値 Auto 説明
versionuint(4)3VRRP バージョン (2 = RFC 3768、3 = RFC 5798)。
typeenum(4)1 (advertisement)VRRP パケットタイプ (1 = Advertisement)。
vriduint(8)1仮想ルータ識別子 (VRID)。
priorityuint(8)100送信ルータの優先度 (255 = アドレス所有者、0 = 離脱)。
count_ipvx_addrsuint(8)ip_addresses の要素数広告に含まれる仮想アドレス数 (Auto)。
reserveduint(4)0
max_adver_intuint(12)100VRRPv3 最大広告間隔 (センチ秒)。
checksumuint(16)ヘッダとそれ以降すべてに対する疑似ヘッダ付きインターネットチェックサム VRRP メッセージのインターネットチェックサム (VRRPv3 は IP 疑似ヘッダを含む) (Auto)。
ip_addresseslist<ipv4> — count_ipvx_addrs * 4 オクテット1 要素 仮想ルータアドレス。
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
フィールド 型 既定値 Auto 説明
versionuint(4)3VRRP バージョン (2 = RFC 3768、3 = RFC 5798)。
typeenum(4)1 (advertisement)VRRP パケットタイプ (1 = Advertisement)。
vriduint(8)1仮想ルータ識別子 (VRID)。
priorityuint(8)100送信ルータの優先度 (255 = アドレス所有者、0 = 離脱)。
count_ipvx_addrsuint(8)ip_addresses の要素数広告に含まれる仮想アドレス数 (Auto)。
reserveduint(4)0
max_adver_intuint(12)100VRRPv3 最大広告間隔 (センチ秒)。
checksumuint(16)ヘッダとそれ以降すべてに対する疑似ヘッダ付きインターネットチェックサム VRRP メッセージのインターネットチェックサム (VRRPv3 は IP 疑似ヘッダを含む) (Auto)。
ip_addresseslist<ipv6> — count_ipvx_addrs * 16 オクテット1 要素 仮想ルータアドレス。
vrrpv3-ipv6 — templates/protocols/fhrp/vrrpv3-ipv6.wpg.yaml
下位レイヤ 判別フィールド 値
ipv4protocol2 (0x02)
フィールド 型 既定値 Auto 説明
typeenum(8)17 (membership_query)次レイヤのプロトコル番号 (「次レイヤ」参照) IGMP メッセージタイプ (ボディから Auto: 0x11 クエリ、0x12 / 0x16 レポート、0x17 離脱、0x22 v3 レポート)。
max_resp_codeuint(8)100最大応答時間 / コード (1/10 秒単位、クエリ用。レポートでは 0)。
checksumuint(16)ヘッダとそれ以降すべてに対するインターネットチェックサム IGMP メッセージ全体のインターネットチェックサム (Auto)。
値 名前
17 (0x11) membership_query
18 (0x12) v1_membership_report
22 (0x16) v2_membership_report
23 (0x17) leave_group
34 (0x22) v3_membership_report
次レイヤは type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
igmpv2-query — templates/protocols/mcast/igmpv2-query.wpg.yaml
igmpv3-query — templates/protocols/mcast/igmpv3-query.wpg.yaml
igmpv3-report — templates/protocols/mcast/igmpv3-report.wpg.yaml
下位レイヤ 判別フィールド 値
igmptype17 (0x11)
igmptype18 (0x12)
igmptype22 (0x16)
igmptype23 (0x17)
フィールド 型 既定値 Auto 説明
groupipv40.0.0.0マルチキャストグループアドレス (一般クエリでは 0.0.0.0)。
igmpv2-query — templates/protocols/mcast/igmpv2-query.wpg.yaml
下位レイヤ 判別フィールド 値
igmptype17 (0x11) (残り 8 オクテット以上)
フィールド 型 既定値 Auto 説明
groupipv40.0.0.0マルチキャストグループアドレス (一般クエリでは 0.0.0.0)。
reserveduint(4)0
suint(1)0ルータ側処理抑止フラグ。
qrvuint(3)2クエリアのロバストネス変数 (QRV)。
qqicuint(8)125クエリアのクエリ間隔コード (QQIC)。
num_sourcesuint(16)sources の要素数送信元アドレス数。
sourceslist<ipv4> — num_sources * 4 オクテット[]送信元アドレス。
igmpv3-query — templates/protocols/mcast/igmpv3-query.wpg.yaml
下位レイヤ 判別フィールド 値
igmptype34 (0x22)
フィールド 型 既定値 Auto 説明
reserveduint(16)0
num_group_recordsuint(16)group_records の要素数グループレコード数。
group_recordslist<struct> — PDU の残りすべて1 要素 グループレコード (レコードタイプ、補助データ長、送信元、マルチキャストアドレス)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
record_typeenum(8)4 (change_to_exclude)
aux_data_lenuint(8)0
num_sourcesuint(16)sources の要素数
multicast_addressipv4239.1.1.1
sourceslist<ipv4> — num_sources * 4 オクテット[]
aux_databytes — aux_data_len * 4 オクテット""
値 名前
1 (0x01) mode_is_include
2 (0x02) mode_is_exclude
3 (0x03) change_to_include
4 (0x04) change_to_exclude
5 (0x05) allow_new_sources
6 (0x06) block_old_sources
フィールド 型 既定値 Auto 説明
max_resp_delayuint(16)10000最大応答遅延 / コード (ミリ秒)。
reserveduint(16)0
multicast_addressipv6::IPv6 マルチキャストアドレス (一般クエリでは ::)。
mldv1-query — templates/protocols/mcast/mldv1-query.wpg.yaml
下位レイヤ 判別フィールド 値
icmpv6type130 (0x82) (残り 24 オクテット以上)
フィールド 型 既定値 Auto 説明
max_resp_codeuint(16)10000最大応答遅延 / コード (ミリ秒)。
reserveduint(16)0
multicast_addressipv6::IPv6 マルチキャストアドレス (一般クエリでは ::)。
reserved2uint(4)0
suint(1)0ルータ側処理抑止フラグ。
qrvuint(3)2クエリアのロバストネス変数 (QRV)。
qqicuint(8)125クエリアのクエリ間隔コード (QQIC)。
num_sourcesuint(16)sources の要素数送信元アドレス数。
sourceslist<ipv6> — num_sources * 16 オクテット[]送信元アドレス。
mldv2-query — templates/protocols/mcast/mldv2-query.wpg.yaml
下位レイヤ 判別フィールド 値
icmpv6type143 (0x8f)
フィールド 型 既定値 Auto 説明
reserveduint(16)0
num_recordsuint(16)records の要素数グループレコード数。
recordslist<struct> — PDU の残りすべて1 要素 グループレコード (レコードタイプ、補助データ長、送信元、マルチキャストアドレス)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
record_typeenum(8)4 (change_to_exclude)
aux_data_lenuint(8)0
num_sourcesuint(16)sources の要素数
multicast_addressipv6ff05::1
sourceslist<ipv6> — num_sources * 16 オクテット[]
aux_databytes — aux_data_len * 4 オクテット""
値 名前
1 (0x01) mode_is_include
2 (0x02) mode_is_exclude
3 (0x03) change_to_include
4 (0x04) change_to_exclude
5 (0x05) allow_new_sources
6 (0x06) block_old_sources
mldv2-report — templates/protocols/mcast/mldv2-report.wpg.yaml
下位レイヤ 判別フィールド 値
ipv4protocol103 (0x67)
フィールド 型 既定値 Auto 説明
versionuint(4)2PIM バージョン (2)。
typeenum(4)0 (hello)次レイヤのプロトコル番号 (「次レイヤ」参照) PIM メッセージタイプ (ボディから Auto: 0 Hello、1 Register、3 Join/Prune)。
reserveduint(8)0
checksumuint(16)ヘッダとそれ以降すべてに対するインターネットチェックサム インターネットチェックサム (メッセージ全体。Register は先頭 8 オクテットのみ) (Auto)。
値 名前
0 hello
1 register
2 register_stop
3 join_prune
4 bootstrap
5 assert
6 graft
7 graft_ack
8 candidate_rp_advertisement
次レイヤは type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
フィールド 型 既定値 Auto 説明
optionstlv — PDU の残りすべて3 要素 PIM Hello オプション (Holdtime、LAN Prune Delay、DR Priority、Generation ID、Address List)。
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) holdtimeholdtime
2 (0x0002) lan_prune_delayt, propagation_delay, override_interval
19 (0x0013) dr_prioritypriority
20 (0x0014) generation_idgeneration_id
24 (0x0018) address_list
フィールド 型 既定値 Auto 説明
holdtimeuint(16)105
フィールド 型 既定値 Auto 説明
tuint(1)0
propagation_delayuint(15)500
override_intervaluint(16)2500
フィールド 型 既定値 Auto 説明
priorityuint(32)1
フィールド 型 既定値 Auto 説明
generation_iduint(32)0
フィールド 型 既定値 Auto 説明
upstream_familyuint(8)1エンコードアドレスのアドレスファミリ (1 = IPv4)。
upstream_encodinguint(8)0
upstream_neighboripv4192.0.2.1Join/Prune の宛先となる上流ネイバーアドレス。
reserveduint(8)0
num_groupsuint(8)groups の要素数グループセット数。
holdtimeuint(16)210Join/Prune 状態の保持時間 (秒)。
groupslist<struct> — PDU の残りすべて1 要素 グループセット (エンコードグループ、Join / Prune するエンコード送信元)。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
familyuint(8)1
encodinguint(8)0
flagsflags(8)0x0
mask_lenuint(8)32
group_addressipv4239.1.1.1
num_joineduint(16)joined の要素数
num_pruneduint(16)pruned の要素数
joinedlist<struct> — num_joined * 8 オクテット[]
prunedlist<struct> — num_pruned * 8 オクテット[]
ビット マスク 名前
7 128 (0x80) bidir
0 1 (0x01) admin_scope
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
familyuint(8)1
encodinguint(8)0
flagsflags(8)0x4
mask_lenuint(8)32
addressipv4192.0.2.10
ビット マスク 名前
2 4 (0x04) sparse
1 2 (0x02) wildcard
0 1 (0x01) rpt
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
familyuint(8)1
encodinguint(8)0
flagsflags(8)0x4
mask_lenuint(8)32
addressipv4192.0.2.10
ビット マスク 名前
2 4 (0x04) sparse
1 2 (0x02) wildcard
0 1 (0x01) rpt
下位レイヤ 判別フィールド 値
ipv4protocol103 (0x67)
フィールド 型 既定値 Auto 説明
versionuint(4)2PIM バージョン (2)。
typeuint(4)1PIM メッセージタイプ (ボディから Auto: 0 Hello、1 Register、3 Join/Prune)。
reserveduint(8)0
checksumuint(16)ヘッダに対するインターネットチェックサム インターネットチェックサム (メッセージ全体。Register は先頭 8 オクテットのみ) (Auto)。
borderuint(1)0Border ビット (送信者が PIM マルチキャスト境界ルータ)。
null_registeruint(1)0Null-Register ビット (カプセル化データパケットなし)。
reserved2uint(30)0
次レイヤは type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
type = 1 のときのペイロード先頭 4 ビット
pim-register — templates/protocols/mcast/pim-register.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット(その他の値)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット(その他の値)
フィールド 型 既定値 Auto 説明
nlpidenum(8)131 (isis)ネットワーク層プロトコル識別子 (ISO/IEC TR 9577): 0x81 CLNP、0x82 ES-IS、0x83 IS-IS。
databytes — PDU の残りすべて""NLPID 以降の OSI PDU の残り (不透明なオクテット列)。
値 名前
0 (0x00) null
129 (0x81) clnp
130 (0x82) esis
131 (0x83) isis
142 (0x8e) ipv6
204 (0xcc) ipv4
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット129 (0x81)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット129 (0x81)
フィールド 型 既定値 Auto 説明
nlpidenum(8)129 (clnp)ネットワーク層プロトコル識別子(0x81 = CLNP)。
length_indicatoruint(8)ヘッダの長さ (オクテット単位) オプションの終わりまでのヘッダ長(オクテット、Auto)。
versionuint(8)1バージョン / プロトコル ID 拡張(1)。
lifetimeuint(8)32残り寿命(500 ms 単位)。
spuint(1)segmentation の要素数SP: セグメント化許可。セグメンテーション部が存在します(セグメンテーション部から Auto)。
msuint(1)0MS: 後続セグメントあり。
eruint(1)1E/R: PDU が破棄されたらエラーレポートを送る。
pdu_typeenum(5)28 (dt)PDU 種別: 0x1c DT(データ)、0x1d MD(マルチキャストデータ)、0x01 ER(エラーレポート)、0x1e ERQ / 0x1f ERP(エコー要求 / 応答)。
segment_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダとデータを含む PDU 全体の長さ(Auto)。
checksumuint(16)ヘッダに対するFletcher チェックサム ヘッダの ISO 8473 Fletcher チェックサム(Auto)。0 = チェックサム不使用。
destinationnsap49.0001.0000.0000.0002.00宛先 NSAP アドレス。
sourcensap49.0001.0000.0000.0001.00送信元 NSAP アドレス。
segmentationlist<struct> — sp 個の要素[]セグメンテーション部(データユニット識別子、セグメントオフセット、全長)。SP が立っているときに存在します。全長は計算しません。
optionstlv — グループ先頭から length_indicator オクテットまで[]長さ指示子までのオプション(8 ビットコード / 8 ビット長): セキュリティ、QoS 維持、優先度、ソースルーティング、経路記録、パディング、破棄理由。
値 名前
1 er
28 dt
29 md
30 erq
31 erp
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
data_unit_identifieruint(16)
segment_offsetuint(16)
total_lengthuint(16)
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
197 (0xc5) securityvalue
195 (0xc3) qos_maintenancevalue
205 (0xcd) priorityvalue
200 (0xc8) source_routingroute_type, next_address, addresses
203 (0xcb) recording_of_routeroute_type, next_address, addresses
204 (0xcc) paddingdata
193 (0xc1) reason_for_discardreason, pointer
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(8)
フィールド 型 既定値 Auto 説明
route_typeenum(8)
next_addressuint(8)
addresseslist<struct> — PDU の残りすべて
値 名前
0 (0x00) partial
255 (0xff) complete
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
route_typeenum(8)
next_addressuint(8)
addresseslist<struct> — PDU の残りすべて
値 名前
0 (0x00) partial
255 (0xff) complete
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reasonenum(8)
pointeruint(8)
値 名前
0 (0x00) general
1 (0x01) checksum
2 (0x02) congestion
3 (0x03) header_syntax
4 (0x04) segmentation_needed
5 (0x05) incomplete_pdu
6 (0x06) duplicate_option
128 (0x80) destination_unreachable
129 (0x81) destination_unknown
144 (0x90) source_routing_unspecified
145 (0x91) source_routing_syntax
146 (0x92) source_routing_unknown_address
147 (0x93) source_routing_path_not_acceptable
160 (0xa0) lifetime_expired_in_transit
161 (0xa1) lifetime_expired_reassembly
176 (0xb0) unsupported_option
177 (0xb1) unsupported_version
178 (0xb2) unsupported_security
179 (0xb3) unsupported_source_routing
180 (0xb4) unsupported_recording_of_route
192 (0xc0) reassembly_interference
clnp-dt — templates/protocols/l3/clnp-dt.wpg.yaml
clnp-er — templates/protocols/l3/clnp-er.wpg.yaml
clnp-erq — templates/protocols/l3/clnp-erq.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット130 (0x82)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット130 (0x82)
フィールド 型 既定値 Auto 説明
nlpidenum(8)130 (esis)ネットワーク層プロトコル識別子(0x82 = ES-IS)。
length_indicatoruint(8)ヘッダの長さ (オクテット単位) PDU の長さ(オクテット、Auto)。
versionuint(8)1バージョン / プロトコル ID 拡張(1)。
reserveduint(8)0
reserved_typeuint(3)0
pdu_typeenum(5)2 (esh)PDU 種別: 2 ESH(エンドシステム Hello)、4 ISH(中間システム Hello)、6 RD(リダイレクト)。
holding_timeuint(16)30保持時間(秒)。
checksumuint(16)ヘッダに対するFletcher チェックサム PDU の ISO 8473 Fletcher チェックサム(Auto)。0 = チェックサム不使用。
databytes — PDU の残りすべて""固定部以降の PDU(不透明なオクテット列)。
次レイヤは pdu_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
esis-generic — templates/protocols/routing/esis-generic.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット130 (0x82)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット130 (0x82)
esispdu_type2 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
nlpidenum(8)130 (esis)ネットワーク層プロトコル識別子(0x82 = ES-IS)。
length_indicatoruint(8)ヘッダの長さ (オクテット単位) PDU の長さ(オクテット、Auto)。
versionuint(8)1バージョン / プロトコル ID 拡張(1)。
reserveduint(8)0
reserved_typeuint(3)0
pdu_typeenum(5)2 (esh)PDU 種別: 2 ESH(エンドシステム Hello)、4 ISH(中間システム Hello)、6 RD(リダイレクト)。
holding_timeuint(16)30保持時間(秒)。
checksumuint(16)ヘッダに対するFletcher チェックサム PDU の ISO 8473 Fletcher チェックサム(Auto)。0 = チェックサム不使用。
number_of_source_addressesuint(8)source_addresses の要素数送信元アドレスの数(Auto)。
source_addresseslist<struct> — number_of_source_addresses 個の要素1 要素 エンドシステムが受け持つ NSAP アドレス。
optionstlv — グループ先頭から length_indicator オクテットまで[]長さ指示子までのオプション(8 ビットコード / 8 ビット長): セキュリティ、QoS 維持、優先度、アドレスマスク、SNPA マスク、推奨 ES 設定タイマ。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
197 (0xc5) securityvalue
195 (0xc3) qos_maintenancevalue
205 (0xcd) priorityvalue
225 (0xe1) address_maskmask
226 (0xe2) snpa_maskmask
198 (0xc6) es_configuration_timerseconds
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(8)
フィールド 型 既定値 Auto 説明
maskbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
maskbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
secondsuint(16)
esis-esh — templates/protocols/routing/esis-esh.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット130 (0x82)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット130 (0x82)
esispdu_type4 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
nlpidenum(8)130 (esis)ネットワーク層プロトコル識別子(0x82 = ES-IS)。
length_indicatoruint(8)ヘッダの長さ (オクテット単位) PDU の長さ(オクテット、Auto)。
versionuint(8)1バージョン / プロトコル ID 拡張(1)。
reserveduint(8)0
reserved_typeuint(3)0
pdu_typeenum(5)4 (ish)PDU 種別: 2 ESH(エンドシステム Hello)、4 ISH(中間システム Hello)、6 RD(リダイレクト)。
holding_timeuint(16)30保持時間(秒)。
checksumuint(16)ヘッダに対するFletcher チェックサム PDU の ISO 8473 Fletcher チェックサム(Auto)。0 = チェックサム不使用。
netnsap49.0001.0000.0000.0001.00中間システムのネットワークエンティティタイトル(リダイレクト: 次ホップがエンドシステムなら空)。
optionstlv — グループ先頭から length_indicator オクテットまで[]長さ指示子までのオプション(8 ビットコード / 8 ビット長): セキュリティ、QoS 維持、優先度、アドレスマスク、SNPA マスク、推奨 ES 設定タイマ。
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
197 (0xc5) securityvalue
195 (0xc3) qos_maintenancevalue
205 (0xcd) priorityvalue
225 (0xe1) address_maskmask
226 (0xe2) snpa_maskmask
198 (0xc6) es_configuration_timerseconds
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(8)
フィールド 型 既定値 Auto 説明
maskbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
maskbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
secondsuint(16)
esis-ish — templates/protocols/routing/esis-ish.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット130 (0x82)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット130 (0x82)
esispdu_type6 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
nlpidenum(8)130 (esis)ネットワーク層プロトコル識別子(0x82 = ES-IS)。
length_indicatoruint(8)ヘッダの長さ (オクテット単位) PDU の長さ(オクテット、Auto)。
versionuint(8)1バージョン / プロトコル ID 拡張(1)。
reserveduint(8)0
reserved_typeuint(3)0
pdu_typeenum(5)6 (rd)PDU 種別: 2 ESH(エンドシステム Hello)、4 ISH(中間システム Hello)、6 RD(リダイレクト)。
holding_timeuint(16)30保持時間(秒)。
checksumuint(16)ヘッダに対するFletcher チェックサム PDU の ISO 8473 Fletcher チェックサム(Auto)。0 = チェックサム不使用。
destinationnsap49.0001.0000.0000.0002.00リダイレクト対象の宛先 NSAP アドレス。
bsnpa_lengthuint(8)bsnpa のオクテット長サブネットワークアドレスの長さ(Auto)。
bsnpabytes — bsnpa_length オクテット02 00 00 00 00 02より良い次ホップのサブネットワークアドレス(MAC アドレスなど)。
netnsap49.0001.0000.0000.0002.00中間システムのネットワークエンティティタイトル(リダイレクト: 次ホップがエンドシステムなら空)。
optionstlv — グループ先頭から length_indicator オクテットまで[]長さ指示子までのオプション(8 ビットコード / 8 ビット長): セキュリティ、QoS 維持、優先度、アドレスマスク、SNPA マスク、推奨 ES 設定タイマ。
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
197 (0xc5) securityvalue
195 (0xc3) qos_maintenancevalue
205 (0xcd) priorityvalue
225 (0xe1) address_maskmask
226 (0xe2) snpa_maskmask
198 (0xc6) es_configuration_timerseconds
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(8)
フィールド 型 既定値 Auto 説明
maskbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
maskbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
secondsuint(16)
esis-rd — templates/protocols/routing/esis-rd.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)27固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)15 (l1_lan_hello)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
databytes — PDU の残りすべて""共通ヘッダ以降の PDU(不透明なオクテット列)。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
次レイヤは pdu_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
isis-generic — templates/protocols/routing/isis-generic.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type15 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)27固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)15 (l1_lan_hello)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
reserved_ctuint(6)0
circuit_typeenum(2)3 (l1_l2)回線種別: 1 = L1、2 = L2、3 = L1/L2。
source_idbytes(6)00 00 00 00 00 01送信元の System ID。
holding_timeuint(16)30保持時間(秒)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
reserved_priuint(1)0
priorityuint(7)64代表 IS 選出の優先度(0〜127)。
lan_idbytes(7)00 00 00 00 00 01 01LAN ID: 代表 IS の System ID と擬似ノード ID。
tlvstlv — PDU の残りすべて3 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
pdu_length を Manual にすると、その長さまで padding の項目で詰めます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 27
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type16 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)27固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)16 (l2_lan_hello)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
reserved_ctuint(6)0
circuit_typeenum(2)3 (l1_l2)回線種別: 1 = L1、2 = L2、3 = L1/L2。
source_idbytes(6)00 00 00 00 00 01送信元の System ID。
holding_timeuint(16)30保持時間(秒)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
reserved_priuint(1)0
priorityuint(7)64代表 IS 選出の優先度(0〜127)。
lan_idbytes(7)00 00 00 00 00 01 01LAN ID: 代表 IS の System ID と擬似ノード ID。
tlvstlv — PDU の残りすべて3 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
pdu_length を Manual にすると、その長さまで padding の項目で詰めます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 27
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type17 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)20固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)17 (p2p_hello)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
reserved_ctuint(6)0
circuit_typeenum(2)3 (l1_l2)回線種別: 1 = L1、2 = L2、3 = L1/L2。
source_idbytes(6)00 00 00 00 00 01送信元の System ID。
holding_timeuint(16)30保持時間(秒)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
local_circuit_iduint(8)1ローカル回線 ID。
tlvstlv — PDU の残りすべて4 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
pdu_length を Manual にすると、その長さまで padding の項目で詰めます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 20
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type18 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)27固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)18 (l1_lsp)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
remaining_lifetimeuint(16)1199LSP の残り寿命(秒、チェックサム対象外)。
lsp_idbytes(8)00 00 00 00 00 01 00 00LSP ID: System ID、擬似ノード ID、フラグメント番号。
sequence_numberuint(32)1LSP シーケンス番号。
checksumuint(16)ヘッダとそれ以降すべてに対するFletcher チェックサム; irpd, header_length, version_ext, id_length, reserved, pdu_type, version, reserved2, max_area_addresses, pdu_length, remaining_lifetime は 0 として計算 LSP ID から PDU 末尾までの Fletcher チェックサム(Auto)。
partition_repairuint(1)0P ビット: パーティション修復対応。
attachedflags(4)0x0ATT ビット: 他エリアへの接続(default / delay / expense / error メトリック)。
overloaduint(1)0OL ビット: LSP データベース過負荷。
is_typeenum(2)1 (l1)IS 種別: 1 = L1、3 = L1/L2。
tlvstlv — PDU の残りすべて6 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
ビット マスク 名前
0 1 default
1 2 delay
2 4 expense
3 8 error
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 27
isis-l1-lsp — templates/protocols/routing/isis-l1-lsp.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type20 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)27固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)20 (l2_lsp)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
remaining_lifetimeuint(16)1199LSP の残り寿命(秒、チェックサム対象外)。
lsp_idbytes(8)00 00 00 00 00 01 00 00LSP ID: System ID、擬似ノード ID、フラグメント番号。
sequence_numberuint(32)1LSP シーケンス番号。
checksumuint(16)ヘッダとそれ以降すべてに対するFletcher チェックサム; irpd, header_length, version_ext, id_length, reserved, pdu_type, version, reserved2, max_area_addresses, pdu_length, remaining_lifetime は 0 として計算 LSP ID から PDU 末尾までの Fletcher チェックサム(Auto)。
partition_repairuint(1)0P ビット: パーティション修復対応。
attachedflags(4)0x0ATT ビット: 他エリアへの接続(default / delay / expense / error メトリック)。
overloaduint(1)0OL ビット: LSP データベース過負荷。
is_typeenum(2)3 (l1_l2)IS 種別: 1 = L1、3 = L1/L2。
tlvstlv — PDU の残りすべて6 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
ビット マスク 名前
0 1 default
1 2 delay
2 4 expense
3 8 error
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 27
isis-l2-lsp — templates/protocols/routing/isis-l2-lsp.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type24 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)33固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)24 (l1_csnp)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
source_idbytes(7)00 00 00 00 00 01 00送信元の System ID と回線 ID(0)。
start_lsp_idbytes(8)00 00 00 00 00 00 00 00CSNP が対象とする最初の LSP ID。
end_lsp_idbytes(8)ff ff ff ff ff ff ff ffCSNP が対象とする最後の LSP ID。
tlvstlv — PDU の残りすべて1 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 33
isis-l1-csnp — templates/protocols/routing/isis-l1-csnp.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type25 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)33固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)25 (l2_csnp)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
source_idbytes(7)00 00 00 00 00 01 00送信元の System ID と回線 ID(0)。
start_lsp_idbytes(8)00 00 00 00 00 00 00 00CSNP が対象とする最初の LSP ID。
end_lsp_idbytes(8)ff ff ff ff ff ff ff ffCSNP が対象とする最後の LSP ID。
tlvstlv — PDU の残りすべて1 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 33
isis-l2-csnp — templates/protocols/routing/isis-l2-csnp.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type26 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)17固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)26 (l1_psnp)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
source_idbytes(7)00 00 00 00 00 01 00送信元の System ID と回線 ID(0)。
tlvstlv — PDU の残りすべて1 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 17
isis-l1-psnp — templates/protocols/routing/isis-l1-psnp.wpg.yaml
下位レイヤ 判別フィールド 値
llcdsap = 254 (0xfe) のときのペイロード先頭 8 ビット131 (0x83)
pppprotocol = 35 (0x0023) のときのペイロード先頭 8 ビット131 (0x83)
isispdu_type27 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
irpdenum(8)131 (isis)ドメイン内ルーティングプロトコル識別子(0x83 = IS-IS)。
header_lengthuint(8)17固定ヘッダの長さ(オクテット)。PDU 種別ごとに一定(LAN Hello / LSP 27、P2P Hello 20、CSNP 33、PSNP 17)。
version_extuint(8)1バージョン / プロトコル ID 拡張(1)。
id_lengthuint(8)0System ID の長さ(0 = 6 オクテット)。
reserveduint(3)0
pdu_typeenum(5)27 (l2_psnp)PDU 種別(15/16 LAN Hello L1/L2、17 P2P Hello、18/20 LSP L1/L2、24/25 CSNP、26/27 PSNP)。
versionuint(8)1バージョン(1)。
reserved2uint(8)0
max_area_addressesuint(8)0エリアアドレスの最大数(0 = 3)。
pdu_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) PDU 全体の長さ(Auto)。Hello で Manual 値を指定すると Padding TLV でその長さまで埋めます(例: MTU 1500 なら 1497)。
source_idbytes(7)00 00 00 00 00 01 00送信元の System ID と回線 ID(0)。
tlvstlv — PDU の残りすべて1 要素 TLV(8 ビットコード / 8 ビット長)とそのサブ TLV。
値 名前
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
フィールド 型 既定値 Auto 説明
addresseslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
addressnsap
フィールド 型 既定値 Auto 説明
virtual_flaguint(8)
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
フィールド 型 既定値 Auto 説明
neighborslist<mac> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
entrieslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
フィールド 型 既定値 Auto 説明
auth_typeenum(8)
valuebytes — PDU の残りすべて
値 名前
1 (0x01) cleartext
54 (0x36) hmac_md5
フィールド 型 既定値 Auto 説明
neighborslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
フィールド 型 既定値 Auto 説明
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
フィールド 型 既定値 Auto 説明
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
フィールド 型 既定値 Auto 説明
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
フィールド 型 既定値 Auto 説明
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
フィールド 型 既定値 Auto 説明
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — PDU の残りすべて
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
ビット マスク 名前
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
nlpidslist<enum(8)> — PDU の残りすべて
値 名前
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
router_idipv4
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hostnamebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
prefixeslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)sub_tlv_block の要素数
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
sub_tlv_blocklist<struct> — sub_tlvs_present 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
sub_tlvs_lengthuint(8)sub_tlvs のオクテット長
sub_tlvstlv — sub_tlvs_length オクテット
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
フィールド 型 既定値 Auto 説明
tagslist<uint(32)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
フィールド 型 既定値 Auto 説明
tagslist<uint(64)> — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
フィールド 型 既定値 Auto 説明
flagsflags(8)
algorithmuint(8)
sidbytes — PDU の残りすべて
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
ビット マスク 名前
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
フィールド 型 既定値 Auto 説明
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
値 名前
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
フィールド 型 既定値 Auto 説明
router_idipv4
flagsflags(8)
sub_tlvstlv — PDU の残りすべて
ビット マスク 名前
0 1 (0x01) s
1 2 (0x02) d
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
フィールド 型 既定値 Auto 説明
flagsflags(8)
rangesbytes — PDU の残りすべて
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
ビット マスク 名前
7 128 (0x80) i
6 64 (0x40) v
フィールド 型 既定値 Auto 説明
algorithmslist<uint(8)> — PDU の残りすべて
レベル 規則
警告 header_length が 17
isis-l2-psnp — templates/protocols/routing/isis-l2-psnp.wpg.yaml
フィールド 型 既定値 Auto 説明
src_portuint(16)49152送信元ポート。
dst_portuint(16)80宛先ポート。次レイヤを選択する (179 = BGP、646 = LDP、3868 = Diameter、5060 = SIP)。
sequint(32)0先頭データオクテットのシーケンス番号 (SYN では初期シーケンス番号)。
ackuint(32)0確認応答番号。ACK フラグが立っているとき有効。
data_offsetuint(4)ヘッダの長さ (32 ビットワード単位) ヘッダ長 (32 ビット語単位、5〜15。Auto、オプションを含む)。
reserveduint(4)0予約ビット。0。
flagsflags(8)0x2制御フラグ: CWR、ECE、URG、ACK、PSH、RST、SYN、FIN (既定は SYN)。
windowuint(16)65535受信ウィンドウ (バイト。ウィンドウスケールオプションで拡大)。
checksumuint(16)ヘッダとそれ以降すべてに対する疑似ヘッダ付きインターネットチェックサム IPv4 / IPv6 擬似ヘッダを含むインターネットチェックサム (Auto)。
urgent_ptruint(16)0緊急ポインタ。URG フラグが立っているとき有効。
optionstlv — data_offset * 4 - 20 オクテットTCP オプション (TLV: EOL、NOP、MSS、ウィンドウスケール、SACK 許可、SACK、タイムスタンプ)。
paddingpadding(4)オプションを 32 ビット境界に揃えるゼロパディング (Auto)。
ビット マスク 名前
7 128 (0x80) cwr
6 64 (0x40) ece
5 32 (0x20) urg
4 16 (0x10) ack
3 8 (0x08) psh
2 4 (0x04) rst
1 2 (0x02) syn
0 1 (0x01) fin
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) eol(タイプのみ。長さと値なし)
1 (0x01) nop(タイプのみ。長さと値なし)
2 (0x02) mssvalue
3 (0x03) wsshift
4 (0x04) sack_permitted
5 (0x05) sackblocks
8 (0x08) timestampstsval, tsecr
フィールド 型 既定値 Auto 説明
valueuint(16)
フィールド 型 既定値 Auto 説明
shiftuint(8)
フィールド 型 既定値 Auto 説明
blockslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
leftuint(32)
rightuint(32)
フィールド 型 既定値 Auto 説明
tsvaluint(32)
tsecruint(32)
次レイヤは dst_port で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。 デコード時は、最初のフィールドがどの項目にも一致しなければ src_port も参照します。
レベル 規則
エラー data_offset が 5..15 の範囲
フィールド 型 既定値 Auto 説明
src_portuint(16)49152送信元ポート。
dst_portuint(16)9宛先ポート。Auto のとき次レイヤを選択する (53 = DNS、67 / 68 = DHCP、4789 = VXLAN など)。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダとペイロードの長さ (バイト、Auto)。
checksumuint(16)ヘッダとそれ以降すべてに対する疑似ヘッダ付きインターネットチェックサム; 計算結果の 0 は全ビット 1 で送出 IPv4 / IPv6 擬似ヘッダを含むインターネットチェックサム (Auto。0 は 0xffff になる)。
次レイヤは dst_port で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。 デコード時は、最初のフィールドがどの項目にも一致しなければ src_port も参照します。
レベル 規則
警告 ヘッダとペイロードが 8 オクテット以上
レイヤ : L4 (トランスポート)
ヘッダ : 8 オクテット (固定長)
補足 : カプセル化・トンネル
下位レイヤ 判別フィールド 値
udpdst_port / src_port2152 (0x0868)
フィールド 型 既定値 Auto 説明
versionuint(3)1GTP バージョン (1)。
protocol_typeuint(1)1プロトコルタイプ (1 = GTP、0 = GTP’)。
spareuint(1)0
e_flaguint(1)0拡張ヘッダ存在フラグ。
s_flaguint(1)0シーケンス番号存在フラグ。
pn_flaguint(1)0N-PDU 番号存在フラグ。
message_typeenum(8)255 (g_pdu)GTP-U メッセージ種別 (255 = G-PDU)。
lengthuint(16)ペイロードの長さ (オクテット単位) 必須ヘッダ以降のペイロード長 (オクテット、自動)。
teiduint(32)0トンネルエンドポイント識別子。
値 名前
1 (0x01) echo_request
2 (0x02) echo_response
26 (0x1a) error_indication
31 (0x1f) supported_extension_headers
254 (0xfe) end_marker
255 (0xff) g_pdu
次レイヤは message_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
message_type = 255 (0xff) のときのペイロード先頭 4 ビット
gtpu-ipv4 — templates/protocols/encap/gtpu-ipv4.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port1701 (0x06a5)
フィールド 型 既定値 Auto 説明
flagsflags(16)0x2L2TP フラグとバージョン (type、length、sequence、offset、priority ビット)。
bodybytes — PDU の残りすべて""L2TP ボディ (存在条件付きフィールド + ペイロード)。不透明オクテット。
ビット マスク 名前
15 32768 (0x8000) type_control
14 16384 (0x4000) length_present
9 512 (0x0200) sequence_present
7 128 (0x0080) offset_present
3 8 (0x0008) priority
l2tpv2 — templates/protocols/encap/l2tpv2.wpg.yaml
フィールド 型 既定値 Auto 説明
session_iduint(32)0L2TPv3 セッション ID。
bodybytes — PDU の残りすべて""L2TP ボディ (存在条件付きフィールド + ペイロード)。不透明オクテット。
l2tpv3 — templates/protocols/encap/l2tpv3.wpg.yaml
フィールド 型 既定値 Auto 説明
src_portuint(16)49152送信元ポート。
dst_portuint(16)9宛先ポート。
verification_taguint(32)0検証タグ: 相手の Initiate Tag(INIT を含むパケットでは 0)。
checksumuint(32)ヘッダとそれ以降すべてに対するCRC-32C このフィールドを 0 とした SCTP パケット全体の CRC32c(Auto)。下位オクテットから送出。
chunkstlv — PDU の残りすべて1 要素 チャンク(8 ビット型、8 ビットフラグ、4 オクテットのヘッダを含む 16 ビット長、4 オクテット境界までゼロ詰め): DATA、INIT、INIT ACK、SACK、HEARTBEAT、ABORT、SHUTDOWN、ERROR、COOKIE ECHO / ACK、AUTH、I-DATA、ASCONF、RE-CONFIG、FORWARD TSN、PAD。長さ・詰め物・SACK の件数は Auto。
タイプ 8 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
値の先頭 1 オクテットはタイプと長さの間にあります。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) dataflags, tsn, stream_identifier, stream_sequence_number, payload_protocol_identifier, user_data
1 (0x01) initflags, initiate_tag, a_rwnd, outbound_streams, inbound_streams, initial_tsn, parameters
2 (0x02) init_ackflags, initiate_tag, a_rwnd, outbound_streams, inbound_streams, initial_tsn, parameters
3 (0x03) sackflags, cumulative_tsn_ack, a_rwnd, number_of_gap_ack_blocks, number_of_duplicate_tsns, gap_ack_blocks, duplicate_tsns
4 (0x04) heartbeatflags, parameters
5 (0x05) heartbeat_ackflags, parameters
6 (0x06) abortflags, causes
7 (0x07) shutdownflags, cumulative_tsn_ack
8 (0x08) shutdown_ackflags
9 (0x09) errorflags, causes
10 (0x0a) cookie_echoflags, cookie
11 (0x0b) cookie_ackflags
14 (0x0e) shutdown_completeflags
15 (0x0f) authflags, shared_key_identifier, hmac_identifier, hmac
64 (0x40) i_dataflags, tsn, stream_identifier, reserved, message_identifier, ppid_or_fsn, user_data
128 (0x80) asconf_ackflags, serial_number, parameters
130 (0x82) re_configflags, parameters
132 (0x84) padflags, padding
192 (0xc0) forward_tsnflags, new_cumulative_tsn, streams
193 (0xc1) asconfflags, serial_number, parameters
フィールド 型 既定値 Auto 説明
flagsflags(8)0x3
tsnuint(32)1
stream_identifieruint(16)
stream_sequence_numberuint(16)
payload_protocol_identifieruint(32)
user_databytes — PDU の残りすべて00 00 00 00
ビット マスク 名前
3 8 (0x08) i
2 4 (0x04) u
1 2 (0x02) b
0 1 (0x01) e
フィールド 型 既定値 Auto 説明
flagsuint(8)0
initiate_taguint(32)1
a_rwnduint(32)106496
outbound_streamsuint(16)10
inbound_streamsuint(16)65535
initial_tsnuint(32)1
parameterstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
1 (0x0001) heartbeat_infoinfo
7 (0x0007) state_cookiecookie
8 (0x0008) unrecognized_parameterparameter
9 (0x0009) cookie_preservativeincrement_ms
11 (0x000b) host_name_addresshost_name
12 (0x000c) supported_address_typestypes
13 (0x000d) outgoing_ssn_reset_requestrequest_sequence, response_sequence, last_tsn, streams
14 (0x000e) incoming_ssn_reset_requestrequest_sequence, streams
15 (0x000f) ssn_tsn_reset_requestrequest_sequence
16 (0x0010) reconfiguration_responseresponse_sequence, result, tsns
17 (0x0011) add_outgoing_streams_requestrequest_sequence, number_of_new_streams, reserved
18 (0x0012) add_incoming_streams_requestrequest_sequence, number_of_new_streams, reserved
32768 (0x8000) ecn_capable
32770 (0x8002) randomrandom
32771 (0x8003) chunk_listchunk_types
32772 (0x8004) requested_hmac_algorithmhmac_identifiers
32773 (0x8005) paddingpadding
32776 (0x8008) supported_extensionschunk_types
49152 (0xc000) forward_tsn_supported
49153 (0xc001) add_ip_addresscorrelation_id, address
49154 (0xc002) delete_ip_addresscorrelation_id, address
49155 (0xc003) error_cause_indicationcorrelation_id, causes
49156 (0xc004) set_primary_addresscorrelation_id, address
49157 (0xc005) success_indicationcorrelation_id
49158 (0xc006) adaptation_layer_indicationindication
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
infobytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parameterbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
increment_msuint(32)
フィールド 型 既定値 Auto 説明
host_namebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
typeslist<enum(16)> — PDU の残りすべて
chunks › init › parameters › supported_address_types › types
値 名前
5 (0x0005) ipv4
6 (0x0006) ipv6
11 (0x000b) host_name
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
response_sequenceuint(32)
last_tsnuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
フィールド 型 既定値 Auto 説明
response_sequenceuint(32)
resultenum(32)
tsnsbytes — PDU の残りすべて
chunks › init › parameters › reconfiguration_response › result
値 名前
0 (0x00000000) success_nothing_to_do
1 (0x00000001) success_performed
2 (0x00000002) denied
3 (0x00000003) error_wrong_ssn
4 (0x00000004) error_request_already_in_progress
5 (0x00000005) error_bad_sequence_number
6 (0x00000006) in_progress
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
randombytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifierslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › init › parameters › add_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › init › parameters › add_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › init › parameters › add_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › init › parameters › delete_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › init › parameters › delete_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › init › parameters › delete_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
causestlv — PDU の残りすべて
chunks › init › parameters › error_cause_indication › causes
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
chunks › init › parameters › error_cause_indication › causes › invalid_stream_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
chunks › init › parameters › error_cause_indication › causes › missing_mandatory_parameter
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
chunks › init › parameters › error_cause_indication › causes › stale_cookie
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
chunks › init › parameters › error_cause_indication › causes › unresolvable_address
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
chunks › init › parameters › error_cause_indication › causes › unrecognized_chunk_type
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
chunks › init › parameters › error_cause_indication › causes › unrecognized_parameters
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
chunks › init › parameters › error_cause_indication › causes › no_user_data
フィールド 型 既定値 Auto 説明
tsnuint(32)
chunks › init › parameters › error_cause_indication › causes › restart_with_new_addresses
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
chunks › init › parameters › error_cause_indication › causes › user_initiated_abort
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
chunks › init › parameters › error_cause_indication › causes › protocol_violation
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
chunks › init › parameters › error_cause_indication › causes › unsupported_hmac_identifier
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › init › parameters › set_primary_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › init › parameters › set_primary_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › init › parameters › set_primary_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
フィールド 型 既定値 Auto 説明
indicationuint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
initiate_taguint(32)2
a_rwnduint(32)106496
outbound_streamsuint(16)10
inbound_streamsuint(16)65535
initial_tsnuint(32)2
parameterstlv — PDU の残りすべて1 要素
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
1 (0x0001) heartbeat_infoinfo
7 (0x0007) state_cookiecookie
8 (0x0008) unrecognized_parameterparameter
9 (0x0009) cookie_preservativeincrement_ms
11 (0x000b) host_name_addresshost_name
12 (0x000c) supported_address_typestypes
13 (0x000d) outgoing_ssn_reset_requestrequest_sequence, response_sequence, last_tsn, streams
14 (0x000e) incoming_ssn_reset_requestrequest_sequence, streams
15 (0x000f) ssn_tsn_reset_requestrequest_sequence
16 (0x0010) reconfiguration_responseresponse_sequence, result, tsns
17 (0x0011) add_outgoing_streams_requestrequest_sequence, number_of_new_streams, reserved
18 (0x0012) add_incoming_streams_requestrequest_sequence, number_of_new_streams, reserved
32768 (0x8000) ecn_capable
32770 (0x8002) randomrandom
32771 (0x8003) chunk_listchunk_types
32772 (0x8004) requested_hmac_algorithmhmac_identifiers
32773 (0x8005) paddingpadding
32776 (0x8008) supported_extensionschunk_types
49152 (0xc000) forward_tsn_supported
49153 (0xc001) add_ip_addresscorrelation_id, address
49154 (0xc002) delete_ip_addresscorrelation_id, address
49155 (0xc003) error_cause_indicationcorrelation_id, causes
49156 (0xc004) set_primary_addresscorrelation_id, address
49157 (0xc005) success_indicationcorrelation_id
49158 (0xc006) adaptation_layer_indicationindication
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
infobytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parameterbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
increment_msuint(32)
フィールド 型 既定値 Auto 説明
host_namebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
typeslist<enum(16)> — PDU の残りすべて
chunks › init_ack › parameters › supported_address_types › types
値 名前
5 (0x0005) ipv4
6 (0x0006) ipv6
11 (0x000b) host_name
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
response_sequenceuint(32)
last_tsnuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
フィールド 型 既定値 Auto 説明
response_sequenceuint(32)
resultenum(32)
tsnsbytes — PDU の残りすべて
chunks › init_ack › parameters › reconfiguration_response › result
値 名前
0 (0x00000000) success_nothing_to_do
1 (0x00000001) success_performed
2 (0x00000002) denied
3 (0x00000003) error_wrong_ssn
4 (0x00000004) error_request_already_in_progress
5 (0x00000005) error_bad_sequence_number
6 (0x00000006) in_progress
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
randombytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifierslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › init_ack › parameters › add_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › init_ack › parameters › add_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › init_ack › parameters › add_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › init_ack › parameters › delete_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › init_ack › parameters › delete_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › init_ack › parameters › delete_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
causestlv — PDU の残りすべて
chunks › init_ack › parameters › error_cause_indication › causes
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
chunks › init_ack › parameters › error_cause_indication › causes › invalid_stream_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
chunks › init_ack › parameters › error_cause_indication › causes › missing_mandatory_parameter
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
chunks › init_ack › parameters › error_cause_indication › causes › stale_cookie
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
chunks › init_ack › parameters › error_cause_indication › causes › unresolvable_address
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
chunks › init_ack › parameters › error_cause_indication › causes › unrecognized_chunk_type
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
chunks › init_ack › parameters › error_cause_indication › causes › unrecognized_parameters
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
chunks › init_ack › parameters › error_cause_indication › causes › no_user_data
フィールド 型 既定値 Auto 説明
tsnuint(32)
chunks › init_ack › parameters › error_cause_indication › causes › restart_with_new_addresses
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
chunks › init_ack › parameters › error_cause_indication › causes › user_initiated_abort
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
chunks › init_ack › parameters › error_cause_indication › causes › protocol_violation
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
chunks › init_ack › parameters › error_cause_indication › causes › unsupported_hmac_identifier
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › init_ack › parameters › set_primary_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › init_ack › parameters › set_primary_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › init_ack › parameters › set_primary_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
フィールド 型 既定値 Auto 説明
indicationuint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
cumulative_tsn_ackuint(32)1
a_rwnduint(32)106496
number_of_gap_ack_blocksuint(16)gap_ack_blocks の要素数
number_of_duplicate_tsnsuint(16)duplicate_tsns の要素数
gap_ack_blockslist<struct> — number_of_gap_ack_blocks 個の要素
duplicate_tsnslist<uint(32)> — number_of_duplicate_tsns 個の要素
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
startuint(16)
enduint(16)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
parameterstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
1 (0x0001) heartbeat_infoinfo
7 (0x0007) state_cookiecookie
8 (0x0008) unrecognized_parameterparameter
9 (0x0009) cookie_preservativeincrement_ms
11 (0x000b) host_name_addresshost_name
12 (0x000c) supported_address_typestypes
13 (0x000d) outgoing_ssn_reset_requestrequest_sequence, response_sequence, last_tsn, streams
14 (0x000e) incoming_ssn_reset_requestrequest_sequence, streams
15 (0x000f) ssn_tsn_reset_requestrequest_sequence
16 (0x0010) reconfiguration_responseresponse_sequence, result, tsns
17 (0x0011) add_outgoing_streams_requestrequest_sequence, number_of_new_streams, reserved
18 (0x0012) add_incoming_streams_requestrequest_sequence, number_of_new_streams, reserved
32768 (0x8000) ecn_capable
32770 (0x8002) randomrandom
32771 (0x8003) chunk_listchunk_types
32772 (0x8004) requested_hmac_algorithmhmac_identifiers
32773 (0x8005) paddingpadding
32776 (0x8008) supported_extensionschunk_types
49152 (0xc000) forward_tsn_supported
49153 (0xc001) add_ip_addresscorrelation_id, address
49154 (0xc002) delete_ip_addresscorrelation_id, address
49155 (0xc003) error_cause_indicationcorrelation_id, causes
49156 (0xc004) set_primary_addresscorrelation_id, address
49157 (0xc005) success_indicationcorrelation_id
49158 (0xc006) adaptation_layer_indicationindication
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
infobytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parameterbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
increment_msuint(32)
フィールド 型 既定値 Auto 説明
host_namebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
typeslist<enum(16)> — PDU の残りすべて
chunks › heartbeat › parameters › supported_address_types › types
値 名前
5 (0x0005) ipv4
6 (0x0006) ipv6
11 (0x000b) host_name
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
response_sequenceuint(32)
last_tsnuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
フィールド 型 既定値 Auto 説明
response_sequenceuint(32)
resultenum(32)
tsnsbytes — PDU の残りすべて
chunks › heartbeat › parameters › reconfiguration_response › result
値 名前
0 (0x00000000) success_nothing_to_do
1 (0x00000001) success_performed
2 (0x00000002) denied
3 (0x00000003) error_wrong_ssn
4 (0x00000004) error_request_already_in_progress
5 (0x00000005) error_bad_sequence_number
6 (0x00000006) in_progress
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
randombytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifierslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › heartbeat › parameters › add_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › heartbeat › parameters › add_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › heartbeat › parameters › add_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › heartbeat › parameters › delete_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › heartbeat › parameters › delete_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › heartbeat › parameters › delete_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
causestlv — PDU の残りすべて
chunks › heartbeat › parameters › error_cause_indication › causes
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
chunks › heartbeat › parameters › error_cause_indication › causes › invalid_stream_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
chunks › heartbeat › parameters › error_cause_indication › causes › missing_mandatory_parameter
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
chunks › heartbeat › parameters › error_cause_indication › causes › stale_cookie
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
chunks › heartbeat › parameters › error_cause_indication › causes › unresolvable_address
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
chunks › heartbeat › parameters › error_cause_indication › causes › unrecognized_chunk_type
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
chunks › heartbeat › parameters › error_cause_indication › causes › unrecognized_parameters
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
chunks › heartbeat › parameters › error_cause_indication › causes › no_user_data
フィールド 型 既定値 Auto 説明
tsnuint(32)
chunks › heartbeat › parameters › error_cause_indication › causes › restart_with_new_addresses
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
chunks › heartbeat › parameters › error_cause_indication › causes › user_initiated_abort
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
chunks › heartbeat › parameters › error_cause_indication › causes › protocol_violation
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
chunks › heartbeat › parameters › error_cause_indication › causes › unsupported_hmac_identifier
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › heartbeat › parameters › set_primary_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › heartbeat › parameters › set_primary_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › heartbeat › parameters › set_primary_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
フィールド 型 既定値 Auto 説明
indicationuint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
parameterstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
1 (0x0001) heartbeat_infoinfo
7 (0x0007) state_cookiecookie
8 (0x0008) unrecognized_parameterparameter
9 (0x0009) cookie_preservativeincrement_ms
11 (0x000b) host_name_addresshost_name
12 (0x000c) supported_address_typestypes
13 (0x000d) outgoing_ssn_reset_requestrequest_sequence, response_sequence, last_tsn, streams
14 (0x000e) incoming_ssn_reset_requestrequest_sequence, streams
15 (0x000f) ssn_tsn_reset_requestrequest_sequence
16 (0x0010) reconfiguration_responseresponse_sequence, result, tsns
17 (0x0011) add_outgoing_streams_requestrequest_sequence, number_of_new_streams, reserved
18 (0x0012) add_incoming_streams_requestrequest_sequence, number_of_new_streams, reserved
32768 (0x8000) ecn_capable
32770 (0x8002) randomrandom
32771 (0x8003) chunk_listchunk_types
32772 (0x8004) requested_hmac_algorithmhmac_identifiers
32773 (0x8005) paddingpadding
32776 (0x8008) supported_extensionschunk_types
49152 (0xc000) forward_tsn_supported
49153 (0xc001) add_ip_addresscorrelation_id, address
49154 (0xc002) delete_ip_addresscorrelation_id, address
49155 (0xc003) error_cause_indicationcorrelation_id, causes
49156 (0xc004) set_primary_addresscorrelation_id, address
49157 (0xc005) success_indicationcorrelation_id
49158 (0xc006) adaptation_layer_indicationindication
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
infobytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parameterbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
increment_msuint(32)
フィールド 型 既定値 Auto 説明
host_namebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
typeslist<enum(16)> — PDU の残りすべて
chunks › heartbeat_ack › parameters › supported_address_types › types
値 名前
5 (0x0005) ipv4
6 (0x0006) ipv6
11 (0x000b) host_name
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
response_sequenceuint(32)
last_tsnuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
フィールド 型 既定値 Auto 説明
response_sequenceuint(32)
resultenum(32)
tsnsbytes — PDU の残りすべて
chunks › heartbeat_ack › parameters › reconfiguration_response › result
値 名前
0 (0x00000000) success_nothing_to_do
1 (0x00000001) success_performed
2 (0x00000002) denied
3 (0x00000003) error_wrong_ssn
4 (0x00000004) error_request_already_in_progress
5 (0x00000005) error_bad_sequence_number
6 (0x00000006) in_progress
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
randombytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifierslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › heartbeat_ack › parameters › add_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › heartbeat_ack › parameters › add_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › heartbeat_ack › parameters › add_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › heartbeat_ack › parameters › delete_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › heartbeat_ack › parameters › delete_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › heartbeat_ack › parameters › delete_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
causestlv — PDU の残りすべて
chunks › heartbeat_ack › parameters › error_cause_indication › causes
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
chunks › heartbeat_ack › parameters › error_cause_indication › causes › invalid_stream_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
chunks › heartbeat_ack › parameters › error_cause_indication › causes › missing_mandatory_parameter
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
chunks › heartbeat_ack › parameters › error_cause_indication › causes › stale_cookie
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
chunks › heartbeat_ack › parameters › error_cause_indication › causes › unresolvable_address
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
chunks › heartbeat_ack › parameters › error_cause_indication › causes › unrecognized_chunk_type
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
chunks › heartbeat_ack › parameters › error_cause_indication › causes › unrecognized_parameters
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
chunks › heartbeat_ack › parameters › error_cause_indication › causes › no_user_data
フィールド 型 既定値 Auto 説明
tsnuint(32)
chunks › heartbeat_ack › parameters › error_cause_indication › causes › restart_with_new_addresses
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
chunks › heartbeat_ack › parameters › error_cause_indication › causes › user_initiated_abort
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
chunks › heartbeat_ack › parameters › error_cause_indication › causes › protocol_violation
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
chunks › heartbeat_ack › parameters › error_cause_indication › causes › unsupported_hmac_identifier
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › heartbeat_ack › parameters › set_primary_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › heartbeat_ack › parameters › set_primary_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › heartbeat_ack › parameters › set_primary_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
フィールド 型 既定値 Auto 説明
indicationuint(32)
フィールド 型 既定値 Auto 説明
flagsflags(8)0x0
causestlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
tsnuint(32)
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
cumulative_tsn_ackuint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
フィールド 型 既定値 Auto 説明
flagsuint(8)0
causestlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
tsnuint(32)
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
flagsuint(8)0
フィールド 型 既定値 Auto 説明
flagsflags(8)0x0
フィールド 型 既定値 Auto 説明
flagsuint(8)0
shared_key_identifieruint(16)
hmac_identifieruint(16)1
hmacbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
flagsflags(8)0x3
tsnuint(32)1
stream_identifieruint(16)
reserveduint(16)0
message_identifieruint(32)
ppid_or_fsnuint(32)
user_databytes — PDU の残りすべて00 00 00 00
ビット マスク 名前
3 8 (0x08) i
2 4 (0x04) u
1 2 (0x02) b
0 1 (0x01) e
フィールド 型 既定値 Auto 説明
flagsuint(8)0
serial_numberuint(32)
parameterstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
1 (0x0001) heartbeat_infoinfo
7 (0x0007) state_cookiecookie
8 (0x0008) unrecognized_parameterparameter
9 (0x0009) cookie_preservativeincrement_ms
11 (0x000b) host_name_addresshost_name
12 (0x000c) supported_address_typestypes
13 (0x000d) outgoing_ssn_reset_requestrequest_sequence, response_sequence, last_tsn, streams
14 (0x000e) incoming_ssn_reset_requestrequest_sequence, streams
15 (0x000f) ssn_tsn_reset_requestrequest_sequence
16 (0x0010) reconfiguration_responseresponse_sequence, result, tsns
17 (0x0011) add_outgoing_streams_requestrequest_sequence, number_of_new_streams, reserved
18 (0x0012) add_incoming_streams_requestrequest_sequence, number_of_new_streams, reserved
32768 (0x8000) ecn_capable
32770 (0x8002) randomrandom
32771 (0x8003) chunk_listchunk_types
32772 (0x8004) requested_hmac_algorithmhmac_identifiers
32773 (0x8005) paddingpadding
32776 (0x8008) supported_extensionschunk_types
49152 (0xc000) forward_tsn_supported
49153 (0xc001) add_ip_addresscorrelation_id, address
49154 (0xc002) delete_ip_addresscorrelation_id, address
49155 (0xc003) error_cause_indicationcorrelation_id, causes
49156 (0xc004) set_primary_addresscorrelation_id, address
49157 (0xc005) success_indicationcorrelation_id
49158 (0xc006) adaptation_layer_indicationindication
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
infobytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parameterbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
increment_msuint(32)
フィールド 型 既定値 Auto 説明
host_namebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
typeslist<enum(16)> — PDU の残りすべて
chunks › asconf_ack › parameters › supported_address_types › types
値 名前
5 (0x0005) ipv4
6 (0x0006) ipv6
11 (0x000b) host_name
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
response_sequenceuint(32)
last_tsnuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
フィールド 型 既定値 Auto 説明
response_sequenceuint(32)
resultenum(32)
tsnsbytes — PDU の残りすべて
chunks › asconf_ack › parameters › reconfiguration_response › result
値 名前
0 (0x00000000) success_nothing_to_do
1 (0x00000001) success_performed
2 (0x00000002) denied
3 (0x00000003) error_wrong_ssn
4 (0x00000004) error_request_already_in_progress
5 (0x00000005) error_bad_sequence_number
6 (0x00000006) in_progress
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
randombytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifierslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › asconf_ack › parameters › add_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › asconf_ack › parameters › add_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › asconf_ack › parameters › add_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › asconf_ack › parameters › delete_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › asconf_ack › parameters › delete_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › asconf_ack › parameters › delete_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
causestlv — PDU の残りすべて
chunks › asconf_ack › parameters › error_cause_indication › causes
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
chunks › asconf_ack › parameters › error_cause_indication › causes › invalid_stream_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
chunks › asconf_ack › parameters › error_cause_indication › causes › missing_mandatory_parameter
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
chunks › asconf_ack › parameters › error_cause_indication › causes › stale_cookie
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
chunks › asconf_ack › parameters › error_cause_indication › causes › unresolvable_address
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
chunks › asconf_ack › parameters › error_cause_indication › causes › unrecognized_chunk_type
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
chunks › asconf_ack › parameters › error_cause_indication › causes › unrecognized_parameters
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
chunks › asconf_ack › parameters › error_cause_indication › causes › no_user_data
フィールド 型 既定値 Auto 説明
tsnuint(32)
chunks › asconf_ack › parameters › error_cause_indication › causes › restart_with_new_addresses
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
chunks › asconf_ack › parameters › error_cause_indication › causes › user_initiated_abort
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
chunks › asconf_ack › parameters › error_cause_indication › causes › protocol_violation
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
chunks › asconf_ack › parameters › error_cause_indication › causes › unsupported_hmac_identifier
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › asconf_ack › parameters › set_primary_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › asconf_ack › parameters › set_primary_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › asconf_ack › parameters › set_primary_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
フィールド 型 既定値 Auto 説明
indicationuint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
parameterstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
1 (0x0001) heartbeat_infoinfo
7 (0x0007) state_cookiecookie
8 (0x0008) unrecognized_parameterparameter
9 (0x0009) cookie_preservativeincrement_ms
11 (0x000b) host_name_addresshost_name
12 (0x000c) supported_address_typestypes
13 (0x000d) outgoing_ssn_reset_requestrequest_sequence, response_sequence, last_tsn, streams
14 (0x000e) incoming_ssn_reset_requestrequest_sequence, streams
15 (0x000f) ssn_tsn_reset_requestrequest_sequence
16 (0x0010) reconfiguration_responseresponse_sequence, result, tsns
17 (0x0011) add_outgoing_streams_requestrequest_sequence, number_of_new_streams, reserved
18 (0x0012) add_incoming_streams_requestrequest_sequence, number_of_new_streams, reserved
32768 (0x8000) ecn_capable
32770 (0x8002) randomrandom
32771 (0x8003) chunk_listchunk_types
32772 (0x8004) requested_hmac_algorithmhmac_identifiers
32773 (0x8005) paddingpadding
32776 (0x8008) supported_extensionschunk_types
49152 (0xc000) forward_tsn_supported
49153 (0xc001) add_ip_addresscorrelation_id, address
49154 (0xc002) delete_ip_addresscorrelation_id, address
49155 (0xc003) error_cause_indicationcorrelation_id, causes
49156 (0xc004) set_primary_addresscorrelation_id, address
49157 (0xc005) success_indicationcorrelation_id
49158 (0xc006) adaptation_layer_indicationindication
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
infobytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parameterbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
increment_msuint(32)
フィールド 型 既定値 Auto 説明
host_namebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
typeslist<enum(16)> — PDU の残りすべて
chunks › re_config › parameters › supported_address_types › types
値 名前
5 (0x0005) ipv4
6 (0x0006) ipv6
11 (0x000b) host_name
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
response_sequenceuint(32)
last_tsnuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
フィールド 型 既定値 Auto 説明
response_sequenceuint(32)
resultenum(32)
tsnsbytes — PDU の残りすべて
chunks › re_config › parameters › reconfiguration_response › result
値 名前
0 (0x00000000) success_nothing_to_do
1 (0x00000001) success_performed
2 (0x00000002) denied
3 (0x00000003) error_wrong_ssn
4 (0x00000004) error_request_already_in_progress
5 (0x00000005) error_bad_sequence_number
6 (0x00000006) in_progress
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
randombytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifierslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › re_config › parameters › add_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › re_config › parameters › add_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › re_config › parameters › add_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › re_config › parameters › delete_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › re_config › parameters › delete_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › re_config › parameters › delete_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
causestlv — PDU の残りすべて
chunks › re_config › parameters › error_cause_indication › causes
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
chunks › re_config › parameters › error_cause_indication › causes › invalid_stream_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
chunks › re_config › parameters › error_cause_indication › causes › missing_mandatory_parameter
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
chunks › re_config › parameters › error_cause_indication › causes › stale_cookie
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
chunks › re_config › parameters › error_cause_indication › causes › unresolvable_address
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
chunks › re_config › parameters › error_cause_indication › causes › unrecognized_chunk_type
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
chunks › re_config › parameters › error_cause_indication › causes › unrecognized_parameters
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
chunks › re_config › parameters › error_cause_indication › causes › no_user_data
フィールド 型 既定値 Auto 説明
tsnuint(32)
chunks › re_config › parameters › error_cause_indication › causes › restart_with_new_addresses
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
chunks › re_config › parameters › error_cause_indication › causes › user_initiated_abort
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
chunks › re_config › parameters › error_cause_indication › causes › protocol_violation
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
chunks › re_config › parameters › error_cause_indication › causes › unsupported_hmac_identifier
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › re_config › parameters › set_primary_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › re_config › parameters › set_primary_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › re_config › parameters › set_primary_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
フィールド 型 既定値 Auto 説明
indicationuint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
flagsuint(8)0
new_cumulative_tsnuint(32)
streamslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
streamuint(16)
stream_sequenceuint(16)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
serial_numberuint(32)
parameterstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
1 (0x0001) heartbeat_infoinfo
7 (0x0007) state_cookiecookie
8 (0x0008) unrecognized_parameterparameter
9 (0x0009) cookie_preservativeincrement_ms
11 (0x000b) host_name_addresshost_name
12 (0x000c) supported_address_typestypes
13 (0x000d) outgoing_ssn_reset_requestrequest_sequence, response_sequence, last_tsn, streams
14 (0x000e) incoming_ssn_reset_requestrequest_sequence, streams
15 (0x000f) ssn_tsn_reset_requestrequest_sequence
16 (0x0010) reconfiguration_responseresponse_sequence, result, tsns
17 (0x0011) add_outgoing_streams_requestrequest_sequence, number_of_new_streams, reserved
18 (0x0012) add_incoming_streams_requestrequest_sequence, number_of_new_streams, reserved
32768 (0x8000) ecn_capable
32770 (0x8002) randomrandom
32771 (0x8003) chunk_listchunk_types
32772 (0x8004) requested_hmac_algorithmhmac_identifiers
32773 (0x8005) paddingpadding
32776 (0x8008) supported_extensionschunk_types
49152 (0xc000) forward_tsn_supported
49153 (0xc001) add_ip_addresscorrelation_id, address
49154 (0xc002) delete_ip_addresscorrelation_id, address
49155 (0xc003) error_cause_indicationcorrelation_id, causes
49156 (0xc004) set_primary_addresscorrelation_id, address
49157 (0xc005) success_indicationcorrelation_id
49158 (0xc006) adaptation_layer_indicationindication
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
infobytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
cookiebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
parameterbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
increment_msuint(32)
フィールド 型 既定値 Auto 説明
host_namebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
typeslist<enum(16)> — PDU の残りすべて
chunks › asconf › parameters › supported_address_types › types
値 名前
5 (0x0005) ipv4
6 (0x0006) ipv6
11 (0x000b) host_name
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
response_sequenceuint(32)
last_tsnuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
streamslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
フィールド 型 既定値 Auto 説明
response_sequenceuint(32)
resultenum(32)
tsnsbytes — PDU の残りすべて
chunks › asconf › parameters › reconfiguration_response › result
値 名前
0 (0x00000000) success_nothing_to_do
1 (0x00000001) success_performed
2 (0x00000002) denied
3 (0x00000003) error_wrong_ssn
4 (0x00000004) error_request_already_in_progress
5 (0x00000005) error_bad_sequence_number
6 (0x00000006) in_progress
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
request_sequenceuint(32)
number_of_new_streamsuint(16)
reserveduint(16)0
フィールド 型 既定値 Auto 説明
randombytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hmac_identifierslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
paddingbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
chunk_typeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › asconf › parameters › add_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › asconf › parameters › add_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › asconf › parameters › add_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › asconf › parameters › delete_ip_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › asconf › parameters › delete_ip_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › asconf › parameters › delete_ip_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
causestlv — PDU の残りすべて
chunks › asconf › parameters › error_cause_indication › causes
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) invalid_stream_identifierstream_identifier, reserved
2 (0x0002) missing_mandatory_parameternumber_of_missing_parameters, missing_parameters
3 (0x0003) stale_cookiestaleness_us
4 (0x0004) out_of_resource
5 (0x0005) unresolvable_addressaddress
6 (0x0006) unrecognized_chunk_typechunk
7 (0x0007) invalid_mandatory_parameter
8 (0x0008) unrecognized_parametersparameters
9 (0x0009) no_user_datatsn
10 (0x000a) cookie_received_while_shutting_down
11 (0x000b) restart_with_new_addressesaddresses
12 (0x000c) user_initiated_abortreason
13 (0x000d) protocol_violationinformation
160 (0x00a0) request_to_delete_last_address
161 (0x00a1) operation_refused
162 (0x00a2) request_to_delete_source_address
163 (0x00a3) illegal_asconf_ack
164 (0x00a4) request_refused
261 (0x0105) unsupported_hmac_identifierhmac_identifier
chunks › asconf › parameters › error_cause_indication › causes › invalid_stream_identifier
フィールド 型 既定値 Auto 説明
stream_identifieruint(16)
reserveduint(16)0
chunks › asconf › parameters › error_cause_indication › causes › missing_mandatory_parameter
フィールド 型 既定値 Auto 説明
number_of_missing_parametersuint(32)missing_parameters の要素数
missing_parameterslist<uint(16)> — number_of_missing_parameters 個の要素
chunks › asconf › parameters › error_cause_indication › causes › stale_cookie
フィールド 型 既定値 Auto 説明
staleness_usuint(32)
chunks › asconf › parameters › error_cause_indication › causes › unresolvable_address
フィールド 型 既定値 Auto 説明
addressbytes — PDU の残りすべて
chunks › asconf › parameters › error_cause_indication › causes › unrecognized_chunk_type
フィールド 型 既定値 Auto 説明
chunkbytes — PDU の残りすべて
chunks › asconf › parameters › error_cause_indication › causes › unrecognized_parameters
フィールド 型 既定値 Auto 説明
parametersbytes — PDU の残りすべて
chunks › asconf › parameters › error_cause_indication › causes › no_user_data
フィールド 型 既定値 Auto 説明
tsnuint(32)
chunks › asconf › parameters › error_cause_indication › causes › restart_with_new_addresses
フィールド 型 既定値 Auto 説明
addressesbytes — PDU の残りすべて
chunks › asconf › parameters › error_cause_indication › causes › user_initiated_abort
フィールド 型 既定値 Auto 説明
reasonbytes — PDU の残りすべて
chunks › asconf › parameters › error_cause_indication › causes › protocol_violation
フィールド 型 既定値 Auto 説明
informationbytes — PDU の残りすべて
chunks › asconf › parameters › error_cause_indication › causes › unsupported_hmac_identifier
フィールド 型 既定値 Auto 説明
hmac_identifieruint(16)
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
addresstlv — PDU の残りすべて
chunks › asconf › parameters › set_primary_address › address
タイプ 16 ビット、長さ 16 ビット。
長さはタイプと長さのフィールドも含みます。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない); 最後の項目は詰めない
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ipv4_addressaddress
6 (0x0006) ipv6_addressaddress
chunks › asconf › parameters › set_primary_address › address › ipv4_address
フィールド 型 既定値 Auto 説明
addressipv4
chunks › asconf › parameters › set_primary_address › address › ipv6_address
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
correlation_iduint(32)
フィールド 型 既定値 Auto 説明
indicationuint(32)
レベル 規則
警告 ヘッダとペイロードが 12 オクテット以上
sctp-abort — templates/protocols/l4/sctp-abort.wpg.yaml
sctp-data — templates/protocols/l4/sctp-data.wpg.yaml
sctp-heartbeat — templates/protocols/l4/sctp-heartbeat.wpg.yaml
sctp-init-ack — templates/protocols/l4/sctp-init-ack.wpg.yaml
sctp-init — templates/protocols/l4/sctp-init.wpg.yaml
sctp-over-udp — templates/protocols/l4/sctp-over-udp.wpg.yaml
sctp-sack — templates/protocols/l4/sctp-sack.wpg.yaml
sctp-shutdown — templates/protocols/l4/sctp-shutdown.wpg.yaml
フィールド 型 既定値 Auto 説明
versionuint(4)1RSVP バージョン(1)。
flagsflags(4)0x0フラグ(ビット 0: リフレッシュ削減対応、RFC 2961)。
msg_typeenum(8)1 (path)メッセージ種別(1 Path、2 Resv、3 PathErr、4 ResvErr、5 PathTear、6 ResvTear、7 ResvConf、12 Bundle、13 Ack、15 Srefresh、20 Hello)。
checksumuint(16)ヘッダに対するインターネットチェックサム このフィールドを 0 としたメッセージ全体のインターネットチェックサム(Auto)。
send_ttluint(8)64メッセージ送出時の IP TTL。
reserveduint(8)0予約(0)。
lengthuint(16)ヘッダの長さ (オクテット単位) 共通ヘッダを含むメッセージ全体のオクテット長(Auto)。
objectstlv — length - 8 オクテット7 要素 オブジェクト(4 オクテットのヘッダを含む 16 ビット長、Class-Num、C-Type): SESSION、RSVP_HOP、TIME_VALUES、ERROR_SPEC、SCOPE、STYLE、FLOWSPEC、FILTER_SPEC、SENDER_TEMPLATE、SENDER_TSPEC、RESV_CONFIRM、LABEL、LABEL_REQUEST、EXPLICIT_ROUTE、RECORD_ROUTE、HELLO、MESSAGE_ID、SESSION_ATTRIBUTE。長さ・セッション名の長さと詰め物は Auto。
ビット マスク 名前
0 1 refresh_reduction_capable
値 名前
1 (0x01) path
2 (0x02) resv
3 (0x03) path_err
4 (0x04) resv_err
5 (0x05) path_tear
6 (0x06) resv_tear
7 (0x07) resv_conf
12 (0x0c) bundle
13 (0x0d) ack
15 (0x0f) srefresh
20 (0x14) hello
タイプ 16 ビット、長さ 16 ビット。
長さがタイプより前にあります。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
257 (0x0101) session_ipv4destination, protocol_id, flags, destination_port
258 (0x0102) session_ipv6destination, protocol_id, flags, destination_port
263 (0x0107) session_lsp_tunnel_ipv4tunnel_endpoint, reserved, tunnel_id, extended_tunnel_id
264 (0x0108) session_lsp_tunnel_ipv6tunnel_endpoint, reserved, tunnel_id, extended_tunnel_id
769 (0x0301) rsvp_hop_ipv4address, logical_interface_handle
770 (0x0302) rsvp_hop_ipv6address, logical_interface_handle
1281 (0x0501) time_valuesrefresh_period
1537 (0x0601) error_spec_ipv4node_address, flags, error_code, error_value
1538 (0x0602) error_spec_ipv6node_address, flags, error_code, error_value
1793 (0x0701) scope_ipv4addresses
2049 (0x0801) styleflags, reserved, sharing, sender_selection
2306 (0x0902) flowspecversion, reserved, overall_length, service_number, service_reserved, service_length, parameter_id, parameter_flags, parameter_length, token_bucket_rate, token_bucket_size, peak_data_rate, minimum_policed_unit, maximum_packet_size, parameters
2561 (0x0a01) filter_spec_ipv4source_address, reserved, source_port
2567 (0x0a07) filter_spec_lsp_tunnel_ipv4sender_address, reserved, lsp_id
2568 (0x0a08) filter_spec_lsp_tunnel_ipv6sender_address, reserved, lsp_id
2817 (0x0b01) sender_template_ipv4source_address, reserved, source_port
2823 (0x0b07) sender_template_lsp_tunnel_ipv4sender_address, reserved, lsp_id
2824 (0x0b08) sender_template_lsp_tunnel_ipv6sender_address, reserved, lsp_id
3074 (0x0c02) sender_tspecversion, reserved, overall_length, service_number, service_reserved, service_length, parameter_id, parameter_flags, parameter_length, token_bucket_rate, token_bucket_size, peak_data_rate, minimum_policed_unit, maximum_packet_size, parameters
3841 (0x0f01) resv_confirm_ipv4receiver_address
4097 (0x1001) labellabel
4865 (0x1301) label_requestreserved, l3pid
5121 (0x1401) explicit_routesubobjects
5377 (0x1501) record_routesubobjects
5633 (0x1601) hello_requestsource_instance, destination_instance
5634 (0x1602) hello_acksource_instance, destination_instance
5889 (0x1701) message_idflags, epoch, message_id
6145 (0x1801) message_id_ackflags, epoch, message_id
6146 (0x1802) message_id_nackflags, epoch, message_id
52993 (0xcf01) session_attribute_raexclude_any, include_any, include_all, setup_priority, holding_priority, flags, name_length, name, padding
52999 (0xcf07) session_attributesetup_priority, holding_priority, flags, name_length, name, padding
フィールド 型 既定値 Auto 説明
destinationipv4192.0.2.2
protocol_iduint(8)17
flagsuint(8)0
destination_portuint(16)
フィールド 型 既定値 Auto 説明
destinationipv6
protocol_iduint(8)17
flagsuint(8)0
destination_portuint(16)
フィールド 型 既定値 Auto 説明
tunnel_endpointipv4192.0.2.2
reserveduint(16)0
tunnel_iduint(16)1
extended_tunnel_idipv4192.0.2.1
フィールド 型 既定値 Auto 説明
tunnel_endpointipv6
reserveduint(16)0
tunnel_iduint(16)1
extended_tunnel_idipv6
フィールド 型 既定値 Auto 説明
addressipv4192.0.2.1
logical_interface_handleuint(32)
フィールド 型 既定値 Auto 説明
addressipv6
logical_interface_handleuint(32)
フィールド 型 既定値 Auto 説明
refresh_perioduint(32)30000
フィールド 型 既定値 Auto 説明
node_addressipv4192.0.2.2
flagsuint(8)0
error_codeenum(8)0 (confirmation)
error_valueuint(16)
値 名前
0 (0x00) confirmation
1 (0x01) admission_control_failure
2 (0x02) policy_control_failure
3 (0x03) no_path_information
4 (0x04) no_sender_information
5 (0x05) conflicting_reservation_style
6 (0x06) unknown_reservation_style
7 (0x07) conflicting_destination_ports
8 (0x08) conflicting_sender_ports
12 (0x0c) service_preempted
13 (0x0d) unknown_object_class
14 (0x0e) unknown_object_c_type
20 (0x14) api_error
21 (0x15) traffic_control_error
22 (0x16) traffic_control_system_error
23 (0x17) rsvp_system_error
24 (0x18) routing_problem
25 (0x19) notify
フィールド 型 既定値 Auto 説明
node_addressipv6
flagsuint(8)0
error_codeenum(8)0 (confirmation)
error_valueuint(16)
値 名前
0 (0x00) confirmation
1 (0x01) admission_control_failure
2 (0x02) policy_control_failure
3 (0x03) no_path_information
4 (0x04) no_sender_information
5 (0x05) conflicting_reservation_style
6 (0x06) unknown_reservation_style
7 (0x07) conflicting_destination_ports
8 (0x08) conflicting_sender_ports
12 (0x0c) service_preempted
13 (0x0d) unknown_object_class
14 (0x0e) unknown_object_c_type
20 (0x14) api_error
21 (0x15) traffic_control_error
22 (0x16) traffic_control_system_error
23 (0x17) rsvp_system_error
24 (0x18) routing_problem
25 (0x19) notify
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
flagsuint(8)0
reserveduint(19)0
sharingenum(2)2 (shared)
sender_selectionenum(3)2 (explicit)
フィールド 型 既定値 Auto 説明
versionuint(4)0
reserveduint(12)0
overall_lengthuint(16)7
service_numberuint(8)5
service_reserveduint(8)0
service_lengthuint(16)6
parameter_iduint(8)127
parameter_flagsuint(8)0
parameter_lengthuint(16)5
token_bucket_rateuint(32)1207182336
token_bucket_sizeuint(32)1148846080
peak_data_rateuint(32)2139095040
minimum_policed_unituint(32)0
maximum_packet_sizeuint(32)1500
parametersbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
source_addressipv4192.0.2.1
reserveduint(16)0
source_portuint(16)
フィールド 型 既定値 Auto 説明
sender_addressipv4192.0.2.1
reserveduint(16)0
lsp_iduint(16)1
フィールド 型 既定値 Auto 説明
sender_addressipv6
reserveduint(16)0
lsp_iduint(16)1
フィールド 型 既定値 Auto 説明
source_addressipv4192.0.2.1
reserveduint(16)0
source_portuint(16)
フィールド 型 既定値 Auto 説明
sender_addressipv4192.0.2.1
reserveduint(16)0
lsp_iduint(16)1
フィールド 型 既定値 Auto 説明
sender_addressipv6
reserveduint(16)0
lsp_iduint(16)1
フィールド 型 既定値 Auto 説明
versionuint(4)0
reserveduint(12)0
overall_lengthuint(16)7
service_numberuint(8)1
service_reserveduint(8)0
service_lengthuint(16)6
parameter_iduint(8)127
parameter_flagsuint(8)0
parameter_lengthuint(16)5
token_bucket_rateuint(32)1207182336
token_bucket_sizeuint(32)1148846080
peak_data_rateuint(32)2139095040
minimum_policed_unituint(32)0
maximum_packet_sizeuint(32)1500
parametersbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
receiver_addressipv4192.0.2.2
フィールド 型 既定値 Auto 説明
labeluint(32)16
フィールド 型 既定値 Auto 説明
reserveduint(16)0
l3piduint(16)2048
フィールド 型 既定値 Auto 説明
subobjectstlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) ipv4_prefixaddress, prefix_length, reserved
129 (0x81) ipv4_prefix_looseaddress, prefix_length, reserved
2 (0x02) ipv6_prefixaddress, prefix_length, reserved
130 (0x82) ipv6_prefix_looseaddress, prefix_length, reserved
4 (0x04) unnumbered_interfacereserved, router_id, interface_id
132 (0x84) unnumbered_interface_loosereserved, router_id, interface_id
32 (0x20) as_numberas_number
160 (0xa0) as_number_looseas_number
フィールド 型 既定値 Auto 説明
addressipv4192.0.2.2
prefix_lengthuint(8)32
reserveduint(8)0
フィールド 型 既定値 Auto 説明
addressipv4192.0.2.2
prefix_lengthuint(8)32
reserveduint(8)0
フィールド 型 既定値 Auto 説明
addressipv6
prefix_lengthuint(8)128
reserveduint(8)0
フィールド 型 既定値 Auto 説明
addressipv6
prefix_lengthuint(8)128
reserveduint(8)0
フィールド 型 既定値 Auto 説明
reserveduint(16)0
router_idipv4192.0.2.2
interface_iduint(32)
フィールド 型 既定値 Auto 説明
reserveduint(16)0
router_idipv4192.0.2.2
interface_iduint(32)
フィールド 型 既定値 Auto 説明
as_numberuint(16)
フィールド 型 既定値 Auto 説明
as_numberuint(16)
フィールド 型 既定値 Auto 説明
subobjectstlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) ipv4_addressaddress, prefix_length, flags
2 (0x02) ipv6_addressaddress, prefix_length, flags
3 (0x03) labelflags, c_type, label
4 (0x04) unnumbered_interfaceflags, reserved, router_id, interface_id
フィールド 型 既定値 Auto 説明
addressipv4192.0.2.1
prefix_lengthuint(8)32
flagsuint(8)0
フィールド 型 既定値 Auto 説明
addressipv6
prefix_lengthuint(8)128
flagsuint(8)0
フィールド 型 既定値 Auto 説明
flagsuint(8)1
c_typeuint(8)1
labeluint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
reserveduint(8)0
router_idipv4192.0.2.1
interface_iduint(32)
フィールド 型 既定値 Auto 説明
source_instanceuint(32)
destination_instanceuint(32)
フィールド 型 既定値 Auto 説明
source_instanceuint(32)
destination_instanceuint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
epochuint(24)
message_iduint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
epochuint(24)
message_iduint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)0
epochuint(24)
message_iduint(32)
フィールド 型 既定値 Auto 説明
exclude_anyuint(32)
include_anyuint(32)
include_alluint(32)
setup_priorityuint(8)7
holding_priorityuint(8)7
flagsflags(8)0x4
name_lengthuint(8)name のオクテット長
namebytes — name_length オクテット74 75 6e 6e 65 6c 31
paddingpadding(4)
ビット マスク 名前
0 1 (0x01) local_protection_desired
1 2 (0x02) label_recording_desired
2 4 (0x04) se_style_desired
3 8 (0x08) bandwidth_protection_desired
4 16 (0x10) node_protection_desired
フィールド 型 既定値 Auto 説明
setup_priorityuint(8)7
holding_priorityuint(8)7
flagsflags(8)0x4
name_lengthuint(8)name のオクテット長
namebytes — name_length オクテット74 75 6e 6e 65 6c 31
paddingpadding(4)
ビット マスク 名前
0 1 (0x01) local_protection_desired
1 2 (0x02) label_recording_desired
2 4 (0x04) se_style_desired
3 8 (0x08) bandwidth_protection_desired
4 16 (0x10) node_protection_desired
レベル 規則
警告 version が 1
エラー ヘッダが 8 オクテット以上
rsvp-hello — templates/protocols/mpls/rsvp-hello.wpg.yaml
rsvp-path-err — templates/protocols/mpls/rsvp-path-err.wpg.yaml
rsvp-path-tear — templates/protocols/mpls/rsvp-path-tear.wpg.yaml
rsvp-te-path — templates/protocols/mpls/rsvp-te-path.wpg.yaml
rsvp-te-resv — templates/protocols/mpls/rsvp-te-resv.wpg.yaml
下位レイヤ 判別フィールド 値
tcpdst_port / src_port179 (0x00b3)
フィールド 型 既定値 Auto 説明
markerbytes(16)ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff16 オクテットのマーカ (すべて 1)。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) ヘッダを含む BGP メッセージ長 (オクテット、自動)。
typeenum(8)4 (keepalive)次レイヤのプロトコル番号 (「次レイヤ」参照) BGP メッセージタイプ (OPEN / UPDATE / NOTIFICATION / KEEPALIVE / ROUTE-REFRESH。次レイヤから自動)。
値 名前
1 (0x01) open
2 (0x02) update
3 (0x03) notification
4 (0x04) keepalive
5 (0x05) route_refresh
次レイヤは type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レベル 規則
エラー ヘッダとペイロードが 19 オクテット以上
警告 ヘッダとペイロードが 4096 オクテット以下
レイヤ : アプリケーション・制御
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
bgptype1 (0x01)
フィールド 型 既定値 Auto 説明
versionuint(8)4BGP バージョン (4)。
my_asuint(16)65001送信側の AS 番号 (4 オクテット AS では 23456 = AS_TRANS)。
hold_timeuint(16)180提案するホールドタイム (秒。0 または 3 以上)。
bgp_identifieripv4192.0.2.1送信側の BGP 識別子 (ルータ ID)。
opt_params_lengthuint(8)ヘッダの長さ (オクテット単位) (-10) オプションパラメータ長 (オクテット、自動)。
opt_paramstlv — opt_params_length オクテット1 要素 オプションパラメータ (タイプ 2 = Capabilities)。
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) capabilitiescapabilities
フィールド 型 既定値 Auto 説明
capabilitiestlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) multiprotocolafi, reserved, safi
2 (0x02) route_refresh
64 (0x40) graceful_restartrestart_flags, restart_time, address_families
65 (0x41) four_octet_asasn
69 (0x45) add_pathaddress_families
70 (0x46) enhanced_route_refresh
128 (0x80) route_refresh_cisco
フィールド 型 既定値 Auto 説明
afiuint(16)
reserveduint(8)
safiuint(8)
フィールド 型 既定値 Auto 説明
restart_flagsuint(4)
restart_timeuint(12)
address_familiesbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
asnuint(32)
フィールド 型 既定値 Auto 説明
address_familiesbytes — PDU の残りすべて
bgp-open — templates/protocols/routing/bgp-open.wpg.yaml
レイヤ : アプリケーション・制御
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
bgptype2 (0x02)
フィールド 型 既定値 Auto 説明
withdrawn_routes_lengthuint(16)withdrawn_routes のオクテット長撤回経路の長さ (オクテット、自動)。
withdrawn_routeslist<struct> — withdrawn_routes_length オクテット[]撤回する IPv4 経路 (ビット単位のプレフィックス長, プレフィックス)。
total_path_attribute_lengthuint(16)path_attributes のオクテット長パス属性の長さ (オクテット、自動)。
path_attributestlv — total_path_attribute_length オクテット3 要素 パス属性 (フラグ + タイプコード。Extended Length フラグ付きなら長さは 16 ビットで、255 オクテットを超えると自動で付く)。
nlrilist<struct> — PDU の残りすべて1 要素 広告する IPv4 経路 (ビット単位のプレフィックス長, プレフィックス)。他のファミリは MP_REACH_NLRI に入れる。
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
prefixbytes — (length + 7) / 8 オクテット
タイプ 16 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
タイプのビット 0x1000 が立つと長さは 16 ビットになります。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
16385 (0x4001) originorigin
16386 (0x4002) as_pathsegments
16387 (0x4003) next_hopnext_hop
32772 (0x8004) multi_exit_discmed
16389 (0x4005) local_preflocal_pref
16390 (0x4006) atomic_aggregate
49159 (0xc007) aggregatorasn, address
49160 (0xc008) communitiesvalues
32782 (0x800e) mp_reach_ipv4_unicastafi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 01 01 で始まるとき
32782 (0x800e) mp_reach_ipv6_unicastafi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 02 01 で始まるとき
32782 (0x800e) mp_reach_vpnv4afi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 01 80 で始まるとき
32782 (0x800e) mp_reach_vpnv6afi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 02 80 で始まるとき
32782 (0x800e) mp_reach_evpnafi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 19 46 で始まるとき
32782 (0x800e) mp_reach_nlriafi, safi, next_hop_length, next_hop, reserved, nlri
32783 (0x800f) mp_unreach_ipv4_unicastafi, safi, withdrawn; 値が 00 01 01 で始まるとき
32783 (0x800f) mp_unreach_ipv6_unicastafi, safi, withdrawn; 値が 00 02 01 で始まるとき
32783 (0x800f) mp_unreach_vpnv4afi, safi, withdrawn; 値が 00 01 80 で始まるとき
32783 (0x800f) mp_unreach_vpnv6afi, safi, withdrawn; 値が 00 02 80 で始まるとき
32783 (0x800f) mp_unreach_evpnafi, safi, withdrawn; 値が 00 19 46 で始まるとき
32783 (0x800f) mp_unreach_nlriafi, safi, withdrawn
49168 (0xc010) extended_communitiesvalues
49184 (0xc020) large_communitiesvalues
49174 (0xc016) pmsi_tunnelflags, tunnel_type, mpls_label, tunnel_id
フィールド 型 既定値 Auto 説明
originuint(8)
フィールド 型 既定値 Auto 説明
segmentslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
segment_typeenum(8)
segment_lengthuint(8)
asnslist<uint(32)> — segment_length * 4 オクテット
値 名前
1 (0x01) as_set
2 (0x02) as_sequence
フィールド 型 既定値 Auto 説明
next_hopipv4
フィールド 型 既定値 Auto 説明
meduint(32)
フィールド 型 既定値 Auto 説明
local_prefuint(32)
フィールド 型 既定値 Auto 説明
asnuint(32)
addressipv4
フィールド 型 既定値 Auto 説明
valueslist<uint(32)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
afiuint(16)1
safiuint(8)1
next_hop_lengthuint(8)next_hop のオクテット長
next_hoplist<ipv4> — next_hop_length オクテット
reserveduint(8)
nlrilist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
prefixbytes — (length + 7) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)2
safiuint(8)1
next_hop_lengthuint(8)next_hop のオクテット長
next_hoplist<ipv6> — next_hop_length オクテット
reserveduint(8)
nlrilist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
prefixbytes — (length + 7) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)1
safiuint(8)128
next_hop_lengthuint(8)next_hop のオクテット長
next_hoplist<struct> — next_hop_length オクテット
reserveduint(8)
nlrilist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
rdbytes(8)
addressipv4
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
labeluint(20)
expuint(3)
bosuint(1)
rdbytes(8)
prefixbytes — (length - 81) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)2
safiuint(8)128
next_hop_lengthuint(8)next_hop のオクテット長
next_hoplist<struct> — next_hop_length オクテット
reserveduint(8)
nlrilist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
rdbytes(8)
addressipv6
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
labeluint(20)
expuint(3)
bosuint(1)
rdbytes(8)
prefixbytes — (length - 81) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)25
safiuint(8)70
next_hop_lengthuint(8)next_hop のオクテット長
next_hopbytes — next_hop_length オクテット
reserveduint(8)
nlritlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) ethernet_adrd, esi, ethernet_tag, mpls_label
2 (0x02) mac_iprd, esi, ethernet_tag, mac_length, mac, ip_length, ip_address, labels
3 (0x03) inclusive_multicastrd, ethernet_tag, ip_length, originating_ip
4 (0x04) ethernet_segmentrd, esi, ip_length, originating_ip
5 (0x05) ip_prefixrd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 34 オクテットのとき
5 (0x05) ipv6_prefixrd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 58 オクテットのとき
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
mpls_labeluint(24)
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
mac_lengthuint(8)
macmac
ip_lengthuint(8)
ip_addressbytes — ip_length / 8 オクテット
labelslist<uint(24)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
rdbytes(8)
ethernet_taguint(32)
ip_lengthuint(8)
originating_ipbytes — ip_length / 8 オクテット
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ip_lengthuint(8)
originating_ipbytes — ip_length / 8 オクテット
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
ip_prefix_lengthuint(8)
ip_prefixipv4
gatewayipv4
mpls_labeluint(24)
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
ip_prefix_lengthuint(8)
ip_prefixipv6
gatewayipv6
mpls_labeluint(24)
フィールド 型 既定値 Auto 説明
afiuint(16)
safiuint(8)
next_hop_lengthuint(8)next_hop のオクテット長
next_hopbytes — next_hop_length オクテット
reserveduint(8)
nlribytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
afiuint(16)1
safiuint(8)1
withdrawnlist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
prefixbytes — (length + 7) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)2
safiuint(8)1
withdrawnlist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
prefixbytes — (length + 7) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)1
safiuint(8)128
withdrawnlist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
labeluint(20)
expuint(3)
bosuint(1)
rdbytes(8)
prefixbytes — (length - 81) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)2
safiuint(8)128
withdrawnlist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
labeluint(20)
expuint(3)
bosuint(1)
rdbytes(8)
prefixbytes — (length - 81) / 8 オクテット
フィールド 型 既定値 Auto 説明
afiuint(16)25
safiuint(8)70
withdrawntlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) ethernet_adrd, esi, ethernet_tag, mpls_label
2 (0x02) mac_iprd, esi, ethernet_tag, mac_length, mac, ip_length, ip_address, labels
3 (0x03) inclusive_multicastrd, ethernet_tag, ip_length, originating_ip
4 (0x04) ethernet_segmentrd, esi, ip_length, originating_ip
5 (0x05) ip_prefixrd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 34 オクテットのとき
5 (0x05) ipv6_prefixrd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 58 オクテットのとき
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
mpls_labeluint(24)
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
mac_lengthuint(8)
macmac
ip_lengthuint(8)
ip_addressbytes — ip_length / 8 オクテット
labelslist<uint(24)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
rdbytes(8)
ethernet_taguint(32)
ip_lengthuint(8)
originating_ipbytes — ip_length / 8 オクテット
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ip_lengthuint(8)
originating_ipbytes — ip_length / 8 オクテット
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
ip_prefix_lengthuint(8)
ip_prefixipv4
gatewayipv4
mpls_labeluint(24)
フィールド 型 既定値 Auto 説明
rdbytes(8)
esibytes(10)
ethernet_taguint(32)
ip_prefix_lengthuint(8)
ip_prefixipv6
gatewayipv6
mpls_labeluint(24)
フィールド 型 既定値 Auto 説明
afiuint(16)
safiuint(8)
withdrawnbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueslist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueslist<struct> — PDU の残りすべて
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
global_adminuint(32)
local_data1uint(32)
local_data2uint(32)
フィールド 型 既定値 Auto 説明
flagsuint(8)
tunnel_typeenum(8)
mpls_labeluint(24)
tunnel_idbytes — PDU の残りすべて
値 名前
0 (0x00) none
1 (0x01) rsvp_te_p2mp
2 (0x02) mldp_p2mp
3 (0x03) pim_ssm
4 (0x04) pim_sm
5 (0x05) bidir_pim
6 (0x06) ingress_replication
7 (0x07) mldp_mp2mp
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)
prefixbytes — (length + 7) / 8 オクテット
レイヤ : アプリケーション・制御
ヘッダ : 可変長
下位レイヤ 判別フィールド 値
bgptype3 (0x03)
フィールド 型 既定値 Auto 説明
error_codeenum(8)6 (cease)NOTIFICATION のエラーコード。
error_subcodeuint(8)2NOTIFICATION のエラーサブコード。
databytes — PDU の残りすべて""NOTIFICATION の診断データ。
値 名前
1 (0x01) message_header_error
2 (0x02) open_message_error
3 (0x03) update_message_error
4 (0x04) hold_timer_expired
5 (0x05) fsm_error
6 (0x06) cease
7 (0x07) route_refresh_message_error
レイヤ : アプリケーション・制御
ヘッダ : 4 オクテット (固定長)
下位レイヤ 判別フィールド 値
bgptype5 (0x05)
フィールド 型 既定値 Auto 説明
afiuint(16)1アドレスファミリ識別子 (1 = IPv4、2 = IPv6)。
subtypeenum(8)0 (normal)ROUTE-REFRESH サブタイプ (0 = 通常、1 = BoRR、2 = EoRR)。
safiuint(8)1サブアドレスファミリ識別子 (1 = ユニキャスト、2 = マルチキャスト)。
値 名前
0 (0x00) normal
1 (0x01) borr
2 (0x02) eorr
下位レイヤ 判別フィールド 値
udpdst_port / src_port520 (0x0208)
フィールド 型 既定値 Auto 説明
commandenum(8)2 (response)RIP コマンド (1 = 要求、2 = 応答)。
versionuint(8)2RIP バージョン (1 または 2。RIPng は 1)。
zerouint(16)0
entrieslist<struct> — PDU の残りすべて1 要素 経路エントリ (AFI、ルートタグ、アドレス、マスク、ネクストホップ、メトリック)。
値 名前
1 (0x01) request
2 (0x02) response
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
afiuint(16)
route_taguint(16)
addressipv4
subnet_maskipv4
next_hopipv4
metricuint(32)
レベル 規則
警告 version が 1..2 の範囲
下位レイヤ 判別フィールド 値
udpdst_port / src_port521 (0x0209)
フィールド 型 既定値 Auto 説明
commandenum(8)2 (response)RIP コマンド (1 = 要求、2 = 応答)。
versionuint(8)1RIP バージョン (1 または 2。RIPng は 1)。
reserveduint(16)0
entrieslist<struct> — PDU の残りすべて1 要素 経路テーブルエントリ (プレフィックス、ルートタグ、プレフィックス長、メトリック。0xff = ネクストホップ)。
値 名前
1 (0x01) request
2 (0x02) response
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
prefixipv6
route_taguint(16)
prefix_lengthuint(8)
metricuint(8)
下位レイヤ 判別フィールド 値
udpdst_port / src_port1985 (0x07c1)
フィールド 型 既定値 Auto 説明
versionuint(8)0HSRP バージョン (HSRPv1 は 0)。
op_codeenum(8)0 (hello)HSRP オペレーション (0 = Hello、1 = Coup、2 = Resign、3 = Advertise)。
stateenum(8)16 (active)送信者の状態 (1 = Learn、2 = Listen、4 = Speak、8 = Standby、16 = Active)。
hello_timeuint(8)3Hello 送信間隔 (秒)。
hold_timeuint(8)10Hello の有効時間 (秒)。
priorityuint(8)100グループ内のルータ優先度。
groupuint(8)0スタンバイグループ番号。
reserveduint(8)0
auth_databytes(8)63 69 73 63 6f 00 00 00平文認証パスワード (8 オクテット、既定値 “cisco”)。
virtual_ipipv4192.0.2.254グループの仮想 IPv4 アドレス。
値 名前
0 (0x00) hello
1 (0x01) coup
2 (0x02) resign
3 (0x03) advertise
値 名前
0 (0x00) initial
1 (0x01) learn
2 (0x02) listen
4 (0x04) speak
8 (0x08) standby
16 (0x10) active
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
値 プロトコル 備考
1 (0x01) hsrpv2このレイヤを読み直す
hsrpv1 — templates/protocols/fhrp/hsrpv1.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port1985 (0x07c1)
udpdst_port / src_port2029 (0x07ed)
hsrpversion1 (0x01) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
tlvstlv — PDU の残りすべて1 要素 HSRPv2 TLV (Group State、Interface State、テキスト / MD5 認証。8 ビットのタイプと長さ)。
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) group_stateversion, op_code, state, ip_version, group, identifier, priority, hello_time, hold_time, virtual_ip
2 (0x02) interface_stateactive_groups, passive_groups
3 (0x03) text_authauth_data
4 (0x04) md5_auth
フィールド 型 既定値 Auto 説明
versionuint(8)2
op_codeuint(8)0
stateuint(8)6
ip_versionuint(8)4
groupuint(16)0
identifiermac02:00:00:00:00:01
priorityuint(32)100
hello_timeuint(32)3000
hold_timeuint(32)10000
virtual_ipbytes(16)c0 00 02 fe 00 00 00 00 00 00 00 00 00 00 00 00
フィールド 型 既定値 Auto 説明
active_groupsuint(16)1
passive_groupsuint(16)0
フィールド 型 既定値 Auto 説明
auth_databytes(8)63 69 73 63 6f 00 00 00
hsrpv2 — templates/protocols/fhrp/hsrpv2.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port3222 (0x0c96)
フィールド 型 既定値 Auto 説明
versionuint(8)1GLBP バージョン (1)。
unknown1uint(8)0
groupuint(16)1GLBP グループ番号。
unknown2uint(16)0
owner_idmac02:00:00:00:00:01送信ルータの MAC アドレス。
tlvstlv — PDU の残りすべて1 要素 GLBP TLV (Hello、Request/Response、認証。長さはヘッダを含む)。
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) hellounknown1, vg_state, unknown2, priority, unknown3, hello_interval, hold_interval, redirect, timeout, unknown4, address_type, address_length, virtual_ip
2 (0x02) request_response
3 (0x03) auth
フィールド 型 既定値 Auto 説明
unknown1uint(8)0
vg_stateuint(8)32
unknown2uint(8)0
priorityuint(8)100
unknown3uint(16)0
hello_intervaluint(32)3000
hold_intervaluint(32)10000
redirectuint(16)600
timeoutuint(16)14400
unknown4uint(16)0
address_typeuint(8)1
address_lengthuint(8)4
virtual_ipipv4192.0.2.254
glbp — templates/protocols/fhrp/glbp.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port67 (0x0043)
udpdst_port / src_port68 (0x0044)
フィールド 型 既定値 Auto 説明
openum(8)1 (boot_request)BOOTP メッセージ種別 (1 = BOOTREQUEST、2 = BOOTREPLY)。
htypeuint(8)1ハードウェアアドレス種別 (1 = Ethernet)。
hlenuint(8)6ハードウェアアドレス長 (オクテット、Ethernet は 6)。
hopsuint(8)0リレーホップ数 (リレーエージェントごとに加算)。
xiduint(32)305419896クライアントが選ぶトランザクション ID。
secsuint(16)0クライアントが取得を開始してからの経過秒数。
flagsflags(16)0x0BOOTP フラグ (ビット 15 = ブロードキャスト応答を要求)。
ciaddripv40.0.0.0クライアント IP アドレス (割り当て済みの場合)。
yiaddripv40.0.0.0サーバが割り当てるクライアント (“your”) IP アドレス。
siaddripv40.0.0.0次に使うサーバ (ブートサーバ) の IP アドレス。
giaddripv40.0.0.0リレーエージェント (ゲートウェイ) の IP アドレス。リレー時は非 0。
chaddrmac02:00:00:00:00:01クライアントのハードウェア (MAC) アドレス。後ろに 10 オクテットのパディング。
chaddr_paddingbytes(10)00 00 00 00 00 00 00 00 00 00
snamebytes(64)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00サーバホスト名 (任意、64 オクテット、NUL 埋め)。
filebytes(128)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00ブートファイル名 (128 オクテット、NUL 埋め)。
magic_cookieuint(32)1669485411DHCP マジッククッキー (0x63825363)。
optionstlv — PDU の残りすべて2 要素 DHCP オプション (8 ビットコード / 長さ。Pad、End、Message Type、Relay Agent Information など)。
値 名前
1 (0x01) boot_request
2 (0x02) boot_reply
ビット マスク 名前
15 32768 (0x8000) broadcast
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
0 (0x00) pad(タイプのみ。長さと値なし)
1 (0x01) subnet_maskmask
3 (0x03) routeraddresses
6 (0x06) dns_serversaddresses
12 (0x0c) host_name
15 (0x0f) domain_name
50 (0x32) requested_ipaddress
51 (0x33) lease_timeseconds
53 (0x35) message_typetype
54 (0x36) server_idaddress
55 (0x37) parameter_request_listcodes
58 (0x3a) renewal_timeseconds
59 (0x3b) rebinding_timeseconds
61 (0x3d) client_id
82 (0x52) relay_agent_infosuboptions
255 (0xff) end(タイプのみ。長さと値なし)
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
secondsuint(32)
フィールド 型 既定値 Auto 説明
typeenum(8)
値 名前
1 (0x01) discover
2 (0x02) offer
3 (0x03) request
4 (0x04) decline
5 (0x05) ack
6 (0x06) nak
7 (0x07) release
8 (0x08) inform
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
codeslist<uint(8)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
secondsuint(32)
フィールド 型 既定値 Auto 説明
secondsuint(32)
フィールド 型 既定値 Auto 説明
suboptionstlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) circuit_id
2 (0x02) remote_id
5 (0x05) link_selectionaddress
11 (0x0b) server_id_overrideaddress
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
addressipv4
レベル 規則
警告 magic_cookie が 1669485411
下位レイヤ 判別フィールド 値
udpdst_port / src_port546 (0x0222)
udpdst_port / src_port547 (0x0223)
フィールド 型 既定値 Auto 説明
msg_typeenum(8)1 (solicit)DHCPv6 メッセージ種別 (Solicit、Advertise、Request、Reply、Relay-Forward など)。
transaction_iduint(24)466024 ビットのトランザクション ID。
optionstlv — PDU の残りすべて3 要素 DHCPv6 オプション (16 ビットコード / 長さ。Client ID、IA_NA、Relay Message など)。
値 名前
1 (0x01) solicit
2 (0x02) advertise
3 (0x03) request
4 (0x04) confirm
5 (0x05) renew
6 (0x06) rebind
7 (0x07) reply
8 (0x08) release
9 (0x09) decline
10 (0x0a) reconfigure
11 (0x0b) information_request
12 (0x0c) relay_forw
13 (0x0d) relay_repl
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) client_id
2 (0x0002) server_id
3 (0x0003) ia_naiaid, t1, t2, options
4 (0x0004) ia_taiaid, options
6 (0x0006) orocodes
7 (0x0007) preferencevalue
8 (0x0008) elapsed_timetime
9 (0x0009) relay_message
13 (0x000d) status_codecode, message
14 (0x000e) rapid_commit
18 (0x0012) interface_id
23 (0x0017) dns_serversaddresses
24 (0x0018) domain_list
25 (0x0019) ia_pdiaid, t1, t2, options
37 (0x0025) remote_identerprise, id
フィールド 型 既定値 Auto 説明
iaiduint(32)
t1uint(32)
t2uint(32)
optionstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
iaiduint(32)
optionstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
codeslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(8)
フィールド 型 既定値 Auto 説明
timeuint(16)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
iaiduint(32)
t1uint(32)
t2uint(32)
optionstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
enterpriseuint(32)
idbytes — PDU の残りすべて
次レイヤは msg_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
下位レイヤ 判別フィールド 値
dhcpv6msg_type12 (0x0c) (このレイヤを読み直す)
dhcpv6msg_type13 (0x0d) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
msg_typeenum(8)12 (relay_forw)DHCPv6 メッセージ種別 (Solicit、Advertise、Request、Reply、Relay-Forward など)。
hop_countuint(8)0このメッセージを中継したリレーエージェントの数。
link_addressipv6::クライアントのリンクを識別するアドレス (リレー)。
peer_addressipv6fe80::1メッセージの送信元クライアントまたはリレーのアドレス。
optionstlv — PDU の残りすべて1 要素 DHCPv6 オプション (16 ビットコード / 長さ。Client ID、IA_NA、Relay Message など)。
値 名前
12 (0x0c) relay_forw
13 (0x0d) relay_repl
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) client_id
2 (0x0002) server_id
3 (0x0003) ia_naiaid, t1, t2, options
4 (0x0004) ia_taiaid, options
6 (0x0006) orocodes
7 (0x0007) preferencevalue
8 (0x0008) elapsed_timetime
9 (0x0009) relay_messagemsg_type, transaction_id, options
13 (0x000d) status_codecode, message
14 (0x000e) rapid_commit
18 (0x0012) interface_id
23 (0x0017) dns_serversaddresses
24 (0x0018) domain_list
25 (0x0019) ia_pdiaid, t1, t2, options
37 (0x0025) remote_identerprise, id
フィールド 型 既定値 Auto 説明
iaiduint(32)
t1uint(32)
t2uint(32)
optionstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
iaiduint(32)
optionstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
codeslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(8)
フィールド 型 既定値 Auto 説明
timeuint(16)
フィールド 型 既定値 Auto 説明
msg_typeenum(8)
transaction_iduint(24)
optionstlv — PDU の残りすべて
値 名前
1 (0x01) solicit
2 (0x02) advertise
3 (0x03) request
4 (0x04) confirm
5 (0x05) renew
6 (0x06) rebind
7 (0x07) reply
8 (0x08) release
9 (0x09) decline
10 (0x0a) reconfigure
11 (0x0b) information_request
12 (0x0c) relay_forw
13 (0x0d) relay_repl
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) client_id
2 (0x0002) server_id
3 (0x0003) ia_naiaid, t1, t2, options
4 (0x0004) ia_taiaid, options
6 (0x0006) orocodes
7 (0x0007) preferencevalue
8 (0x0008) elapsed_timetime
9 (0x0009) relay_message
13 (0x000d) status_codecode, message
14 (0x000e) rapid_commit
18 (0x0012) interface_id
23 (0x0017) dns_serversaddresses
24 (0x0018) domain_list
25 (0x0019) ia_pdiaid, t1, t2, options
37 (0x0025) remote_identerprise, id
フィールド 型 既定値 Auto 説明
iaiduint(32)
t1uint(32)
t2uint(32)
optionstlv — PDU の残りすべて
options › relay_message › options › ia_na › options
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
options › relay_message › options › ia_na › options › ia_addr
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
options › relay_message › options › ia_na › options › status_code
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
options › relay_message › options › ia_na › options › ia_prefix
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
iaiduint(32)
optionstlv — PDU の残りすべて
options › relay_message › options › ia_ta › options
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
options › relay_message › options › ia_ta › options › ia_addr
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
options › relay_message › options › ia_ta › options › status_code
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
options › relay_message › options › ia_ta › options › ia_prefix
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
codeslist<uint(16)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(8)
フィールド 型 既定値 Auto 説明
timeuint(16)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
iaiduint(32)
t1uint(32)
t2uint(32)
optionstlv — PDU の残りすべて
options › relay_message › options › ia_pd › options
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
options › relay_message › options › ia_pd › options › ia_addr
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
options › relay_message › options › ia_pd › options › status_code
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
options › relay_message › options › ia_pd › options › ia_prefix
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
enterpriseuint(32)
idbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
iaiduint(32)
t1uint(32)
t2uint(32)
optionstlv — PDU の残りすべて
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
5 (0x0005) ia_addraddress, preferred_lifetime, valid_lifetime
13 (0x000d) status_codecode, message
26 (0x001a) ia_prefixpreferred_lifetime, valid_lifetime, prefix_length, prefix
フィールド 型 既定値 Auto 説明
addressipv6
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
フィールド 型 既定値 Auto 説明
codeuint(16)
messagebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
preferred_lifetimeuint(32)
valid_lifetimeuint(32)
prefix_lengthuint(8)
prefixipv6
フィールド 型 既定値 Auto 説明
enterpriseuint(32)
idbytes — PDU の残りすべて
レベル 規則
警告 msg_type が 12..13 の範囲
下位レイヤ 判別フィールド 値
udpdst_port / src_port53 (0x0035)
フィールド 型 既定値 Auto 説明
iduint(16)4660クエリ識別子 (応答にコピーされる)。
qrenum(1)0 (query)クエリ (0) または応答 (1)。
opcodeenum(4)0 (query)クエリ種別 (0 = 標準クエリ、4 = NOTIFY、5 = UPDATE)。
aauint(1)0権威応答フラグ。
tcuint(1)0切り詰め (トランケーション) フラグ。
rduint(1)1再帰要求フラグ。
rauint(1)0再帰可能フラグ。
zuint(1)0予約ビット (0 でなければならない)。
aduint(1)0認証済みデータフラグ (DNSSEC)。
cduint(1)0検証無効フラグ (DNSSEC)。
rcodeenum(4)0 (no_error)応答コード (0 = NOERROR、3 = NXDOMAIN など)。
qdcountuint(16)1質問セクションのエントリ数。
ancountuint(16)0回答セクションのリソースレコード数。
nscountuint(16)0権威セクションのリソースレコード数。
arcountuint(16)0追加セクションのリソースレコード数。
sectionsbytes — PDU の残りすべて07 65 78 61 6d 70 6c 65 03 63 6f 6d 00 00 01 00 01質問 / 回答 / 権威 / 追加セクション (長さ付きラベル形式の名前)。不透明なオクテット列。
値 名前
0 query
1 iquery
2 status
4 notify
5 update
値 名前
0 no_error
1 format_error
2 server_failure
3 nx_domain
4 not_implemented
5 refused
レベル 規則
警告 z が 0
警告 ヘッダとペイロードが 512 オクテット以下
dns-query — templates/protocols/app/dns-query.wpg.yaml
dns-response — templates/protocols/app/dns-response.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port123 (0x007b)
フィールド 型 既定値 Auto 説明
lienum(2)0 (no_warning)うるう秒指示子 (3 = 時刻未同期)。
versionuint(3)4NTP バージョン番号 (4)。
modeenum(3)3 (client)アソシエーションモード (3 = クライアント、4 = サーバ、5 = ブロードキャスト)。
stratumuint(8)0階層 (0 = 未指定、1 = 一次参照、2-15 = 二次)。
pollint(8)6最大ポーリング間隔 (log2 秒、符号付き)。
precisionint(8)-20クロック精度 (log2 秒、符号付き)。
root_delayuint(32)0参照クロックまでの往復遅延 (16.16 固定小数点秒)。
root_dispersionuint(32)0参照クロックまでの分散 (16.16 固定小数点秒)。
reference_idbytes(4)00 00 00 00参照 ID (階層 1 は ASCII コード、それ以外は IPv4 アドレスまたはハッシュ)。
reference_tsuint(64)0システムクロックを最後に設定した時刻 (64 ビット NTP タイムスタンプ)。
origin_tsuint(64)0サーバが返すクライアント送信時刻 (64 ビット NTP タイムスタンプ)。
receive_tsuint(64)0要求がサーバに到着した時刻 (64 ビット NTP タイムスタンプ)。
transmit_tsuint(64)0パケットが送信元を出た時刻 (64 ビット NTP タイムスタンプ)。
extensionsbytes — PDU の残りすべて""拡張フィールドと MAC。不透明なオクテット列。
値 名前
0 no_warning
1 last_minute_61
2 last_minute_59
3 unsynchronized
値 名前
0 reserved
1 symmetric_active
2 symmetric_passive
3 client
4 server
5 broadcast
6 control
7 private
レベル 規則
警告 version が 1..4 の範囲
ntp-client — templates/protocols/app/ntp-client.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port161 (0x00a1)
udpdst_port / src_port162 (0x00a2)
フィールド 型 既定値 Auto 説明
msg_taguint(8)48BER タグオクテット (0x30 SEQUENCE、0x02 INTEGER、0x04 OCTET STRING)。
msg_lengthuint(8)ヘッダとペイロードの長さ (オクテット単位) (-2) SNMP メッセージ SEQUENCE の BER 長 (自動。短形式、128 未満)。
version_taguint(8)2BER タグオクテット (0x30 SEQUENCE、0x02 INTEGER、0x04 OCTET STRING)。
version_lengthuint(8)1バージョン INTEGER の BER 長 (1)。
versionenum(8)1 (v2c)SNMP バージョン (0 = v1、1 = v2c)。
community_taguint(8)4BER タグオクテット (0x30 SEQUENCE、0x02 INTEGER、0x04 OCTET STRING)。
community_lengthuint(8)6コミュニティ文字列の BER 長 (オクテット)。
communitybytes — community_length オクテット70 75 62 6c 69 63コミュニティ文字列 (例: “public”)。
値 名前
0 (0x00) v1
1 (0x01) v2c
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レベル 規則
警告 msg_tag が 48
警告 ヘッダとペイロードが 129 オクテット以下
下位レイヤ 判別フィールド 値
snmpversion(その他の値)
フィールド 型 既定値 Auto 説明
pdu_typeenum(8)160 (get_request)PDU タグ (0xa0 GetRequest、0xa2 Response、0xa4 v1 Trap、0xa7 SNMPv2-Trap など)。
pdu_lengthuint(8)ヘッダとペイロードの長さ (オクテット単位) (-2) PDU 内容の BER 長 (自動。短形式、128 未満)。
bodytlv — PDU の残りすべて4 要素 BER TLV で表した PDU 内容: request-id、error-status、error-index と variable-bindings SEQUENCE。
値 名前
160 (0xa0) get_request
161 (0xa1) get_next_request
162 (0xa2) response
163 (0xa3) set_request
165 (0xa5) get_bulk_request
166 (0xa6) inform_request
167 (0xa7) snmpv2_trap
168 (0xa8) report
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) integer
4 (0x04) octet_string
5 (0x05) null
6 (0x06) object_identifier
64 (0x40) ip_addressaddress
65 (0x41) counter32
66 (0x42) gauge32
67 (0x43) timeticks
68 (0x44) opaque
70 (0x46) counter64
128 (0x80) no_such_object
129 (0x81) no_such_instance
130 (0x82) end_of_mib_view
48 (0x30) sequenceitems
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
itemstlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) integer
4 (0x04) octet_string
5 (0x05) null
6 (0x06) object_identifier
64 (0x40) ip_addressaddress
65 (0x41) counter32
66 (0x42) gauge32
67 (0x43) timeticks
68 (0x44) opaque
70 (0x46) counter64
128 (0x80) no_such_object
129 (0x81) no_such_instance
130 (0x82) end_of_mib_view
48 (0x30) sequenceitems
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
itemstlv — PDU の残りすべて
body › sequence › items › sequence › items
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) integer
4 (0x04) octet_string
5 (0x05) null
6 (0x06) object_identifier
64 (0x40) ip_addressaddress
65 (0x41) counter32
66 (0x42) gauge32
67 (0x43) timeticks
68 (0x44) opaque
70 (0x46) counter64
128 (0x80) no_such_object
129 (0x81) no_such_instance
130 (0x82) end_of_mib_view
body › sequence › items › sequence › items › ip_address
フィールド 型 既定値 Auto 説明
addressipv4
次レイヤは pdu_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
レベル 規則
警告 ヘッダとペイロードが 129 オクテット以下
下位レイヤ 判別フィールド 値
snmp_pdupdu_type164 (0xa4) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
pdu_typeenum(8)164 (trap)PDU タグ (0xa0 GetRequest、0xa2 Response、0xa4 v1 Trap、0xa7 SNMPv2-Trap など)。
pdu_lengthuint(8)ヘッダとペイロードの長さ (オクテット単位) (-2) PDU 内容の BER 長 (自動。短形式、128 未満)。
bodytlv — PDU の残りすべて6 要素 BER TLV で表した Trap 内容: enterprise、agent-addr、generic-trap、specific-trap、time-stamp と variable-bindings。
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) integer
4 (0x04) octet_string
5 (0x05) null
6 (0x06) object_identifier
64 (0x40) ip_addressaddress
65 (0x41) counter32
66 (0x42) gauge32
67 (0x43) timeticks
68 (0x44) opaque
70 (0x46) counter64
128 (0x80) no_such_object
129 (0x81) no_such_instance
130 (0x82) end_of_mib_view
48 (0x30) sequenceitems
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
itemstlv — PDU の残りすべて
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) integer
4 (0x04) octet_string
5 (0x05) null
6 (0x06) object_identifier
64 (0x40) ip_addressaddress
65 (0x41) counter32
66 (0x42) gauge32
67 (0x43) timeticks
68 (0x44) opaque
70 (0x46) counter64
128 (0x80) no_such_object
129 (0x81) no_such_instance
130 (0x82) end_of_mib_view
48 (0x30) sequenceitems
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
itemstlv — PDU の残りすべて
body › sequence › items › sequence › items
タイプ 8 ビット、長さ 8 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
2 (0x02) integer
4 (0x04) octet_string
5 (0x05) null
6 (0x06) object_identifier
64 (0x40) ip_addressaddress
65 (0x41) counter32
66 (0x42) gauge32
67 (0x43) timeticks
68 (0x44) opaque
70 (0x46) counter64
128 (0x80) no_such_object
129 (0x81) no_such_instance
130 (0x82) end_of_mib_view
body › sequence › items › sequence › items › ip_address
フィールド 型 既定値 Auto 説明
addressipv4
レベル 規則
警告 pdu_type が 164
警告 ヘッダとペイロードが 129 オクテット以下
snmp-trap-v1 — templates/protocols/app/snmp-trap-v1.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port514 (0x0202)
フィールド 型 既定値 Auto 説明
messagebytes — PDU の残りすべて3c 33 34 3e 31 20 32 30 32 36 2d 30 31 2d 30 31 54 30 30 3a 30 30 3a 30 30 5a 20 68 6f 73 74 20 61 70 70 20 2d 20 2d 20 2d 20 68 65 6c 6c 6f<PRI> (ファシリティ * 8 + 重大度) で始まる Syslog メッセージ本文。
syslog — templates/protocols/app/syslog.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port1812 (0x0714)
udpdst_port / src_port1813 (0x0715)
フィールド 型 既定値 Auto 説明
codeenum(8)1 (access_request)RADIUS パケット種別 (Access-Request、Access-Accept、Accounting-Request など)。
identifieruint(8)0要求と応答を対応付ける識別子。
lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) RADIUS パケット全体の長さ (オクテット、自動)。
authenticatorbytes(16)00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0016 オクテットの Request / Response Authenticator (手動)。
attributestlv — length - 20 オクテット2 要素 RADIUS 属性 (8 ビット型、ヘッダを含む 8 ビット長)。
値 名前
1 (0x01) access_request
2 (0x02) access_accept
3 (0x03) access_reject
4 (0x04) accounting_request
5 (0x05) accounting_response
11 (0x0b) access_challenge
12 (0x0c) status_server
40 (0x28) disconnect_request
41 (0x29) disconnect_ack
42 (0x2a) disconnect_nak
43 (0x2b) coa_request
44 (0x2c) coa_ack
45 (0x2d) coa_nak
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) user_name
2 (0x02) user_password
3 (0x03) chap_password
4 (0x04) nas_ip_addressaddress
5 (0x05) nas_portvalue
6 (0x06) service_typevalue
7 (0x07) framed_protocolvalue
8 (0x08) framed_ip_addressaddress
18 (0x12) reply_message
24 (0x18) state
25 (0x19) class
26 (0x1a) vendor_specificvendor_id, value
27 (0x1b) session_timeoutvalue
30 (0x1e) called_station_id
31 (0x1f) calling_station_id
32 (0x20) nas_identifier
40 (0x28) acct_status_typevalue
44 (0x2c) acct_session_id
61 (0x3d) nas_port_typevalue
79 (0x4f) eap_message
80 (0x50) message_authenticator
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
valueuint(32)
フィールド 型 既定値 Auto 説明
valueuint(32)
フィールド 型 既定値 Auto 説明
valueuint(32)
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
vendor_iduint(32)
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
valueuint(32)
フィールド 型 既定値 Auto 説明
valueuint(32)
フィールド 型 既定値 Auto 説明
valueuint(32)
レベル 規則
警告 length が 20..4096 の範囲
下位レイヤ 判別フィールド 値
udpdst_port / src_port69 (0x0045)
フィールド 型 既定値 Auto 説明
opcodeenum(16)1 (rrq)TFTP オペコード (1 = RRQ、2 = WRQ、3 = DATA、4 = ACK、5 = ERROR、6 = OACK)。
filenamecstring"boot.bin"ファイル名 (NUL 終端)。
modecstring"octet"転送モード: netascii、octet、mail (NUL 終端)。
optionslist<struct> — PDU の残りすべて[]オプション名 / 値の文字列ペア (RFC 2347): blksize、timeout、tsize、windowsize など。
値 名前
1 (0x0001) rrq
2 (0x0002) wrq
3 (0x0003) data
4 (0x0004) ack
5 (0x0005) error
6 (0x0006) oack
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
namecstring"blksize"
valuecstring"1428"
次レイヤは opcode で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
tftp-rrq — templates/protocols/app/tftp-rrq.wpg.yaml
下位レイヤ 判別フィールド 値
tftpopcode3 (0x0003) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
opcodeenum(16)3 (data)TFTP オペコード (1 = RRQ、2 = WRQ、3 = DATA、4 = ACK、5 = ERROR、6 = OACK)。
blockuint(16)1ブロック番号 (1 から開始)。
databytes — PDU の残りすべて""データオクテット (ブロックあたり 512。短いブロックで転送終了)。
値 名前
1 (0x0001) rrq
2 (0x0002) wrq
3 (0x0003) data
4 (0x0004) ack
5 (0x0005) error
6 (0x0006) oack
tftp-data — templates/protocols/app/tftp-data.wpg.yaml
下位レイヤ 判別フィールド 値
tftpopcode4 (0x0004) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
opcodeenum(16)4 (ack)TFTP オペコード (1 = RRQ、2 = WRQ、3 = DATA、4 = ACK、5 = ERROR、6 = OACK)。
blockuint(16)1ブロック番号 (1 から開始)。
値 名前
1 (0x0001) rrq
2 (0x0002) wrq
3 (0x0003) data
4 (0x0004) ack
5 (0x0005) error
6 (0x0006) oack
tftp-ack — templates/protocols/app/tftp-ack.wpg.yaml
下位レイヤ 判別フィールド 値
tftpopcode5 (0x0005) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
opcodeenum(16)5 (error)TFTP オペコード (1 = RRQ、2 = WRQ、3 = DATA、4 = ACK、5 = ERROR、6 = OACK)。
error_codeenum(16)1 (file_not_found)TFTP エラーコード (1 = ファイルなし、2 = アクセス違反 など)。
messagecstring"File not found"エラーメッセージ (NUL 終端)。
値 名前
1 (0x0001) rrq
2 (0x0002) wrq
3 (0x0003) data
4 (0x0004) ack
5 (0x0005) error
6 (0x0006) oack
値 名前
0 (0x0000) not_defined
1 (0x0001) file_not_found
2 (0x0002) access_violation
3 (0x0003) disk_full
4 (0x0004) illegal_operation
5 (0x0005) unknown_tid
6 (0x0006) file_exists
7 (0x0007) no_such_user
8 (0x0008) option_negotiation
tftp-error — templates/protocols/app/tftp-error.wpg.yaml
下位レイヤ 判別フィールド 値
tftpopcode6 (0x0006) (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
opcodeenum(16)6 (oack)TFTP オペコード (1 = RRQ、2 = WRQ、3 = DATA、4 = ACK、5 = ERROR、6 = OACK)。
optionslist<struct> — PDU の残りすべて1 要素 オプション名 / 値の文字列ペア (RFC 2347): blksize、timeout、tsize、windowsize など。
値 名前
1 (0x0001) rrq
2 (0x0002) wrq
3 (0x0003) data
4 (0x0004) ack
5 (0x0005) error
6 (0x0006) oack
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
namecstring"blksize"
valuecstring"1428"
tftp-oack — templates/protocols/app/tftp-oack.wpg.yaml
下位レイヤ 判別フィールド 値
tcpdst_port / src_port646 (0x0286)
udpdst_port / src_port646 (0x0286)
フィールド 型 既定値 Auto 説明
versionuint(16)1LDP バージョン(1)。
pdu_lengthuint(16)ヘッダの長さ (オクテット単位) (-4) バージョンと PDU 長を除く PDU の長さ(Auto)。
lsr_idipv4192.0.2.1LSR ID: LDP 識別子の先頭 4 オクテット。
label_spaceuint(16)0ラベル空間 ID: LDP 識別子の末尾 2 オクテット(0 = プラットフォーム共通)。
messagestlv — pdu_length - 6 オクテット1 要素 メッセージ(U ビットを含む 16 ビット型、値の 16 ビット長、メッセージ ID、TLV): Notification、Hello、Initialization、KeepAlive、Address / Address Withdraw、Label Mapping / Request / Withdraw / Release / Abort Request。TLV: FEC、Address List、Hop Count、Path Vector、Generic Label、Status、Common Hello / Session Parameters、トランスポートアドレス、Configuration Sequence Number。長さは Auto。
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) notificationmessage_id, tlvs
256 (0x0100) hellomessage_id, tlvs
512 (0x0200) initializationmessage_id, tlvs
513 (0x0201) keepalivemessage_id, tlvs
768 (0x0300) addressmessage_id, tlvs
769 (0x0301) address_withdrawmessage_id, tlvs
1024 (0x0400) label_mappingmessage_id, tlvs
1025 (0x0401) label_requestmessage_id, tlvs
1026 (0x0402) label_withdrawmessage_id, tlvs
1027 (0x0403) label_releasemessage_id, tlvs
1028 (0x0404) label_abort_requestmessage_id, tlvs
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて1 要素
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › notification › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › notification › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › notification › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて1 要素
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › hello › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › hello › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › hello › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて1 要素
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › initialization › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › initialization › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › initialization › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › keepalive › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › keepalive › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › keepalive › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › address › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › address › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › address › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › address_withdraw › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › address_withdraw › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › address_withdraw › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › label_mapping › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › label_mapping › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › label_mapping › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › label_request › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › label_request › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › label_request › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › label_withdraw › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › label_withdraw › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › label_withdraw › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › label_release › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › label_release › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › label_release › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
フィールド 型 既定値 Auto 説明
message_iduint(32)1
tlvstlv — PDU の残りすべて[]
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
256 (0x0100) fec_wildcardelement_type; 値が 01 で始まるとき
256 (0x0100) fecelements
257 (0x0101) address_listaddress_family, addresses; 値が 00 01 で始まるとき
257 (0x0101) address_list_ipv6address_family, addresses; 値が 00 02 で始まるとき
259 (0x0103) hop_counthop_count
260 (0x0104) path_vectorlsr_ids
512 (0x0200) generic_labelreserved, label
768 (0x0300) statuse, f, status_code, message_id, message_type
1024 (0x0400) common_hello_parametershold_time, t, r, g, reserved
1025 (0x0401) ipv4_transport_addressaddress
1026 (0x0402) configuration_sequence_numbersequence_number
1027 (0x0403) ipv6_transport_addressaddress
1280 (0x0500) common_session_parametersprotocol_version, keepalive_time, a, d, reserved, pv_lim, max_pdu_length, receiver_lsr_id, receiver_label_space
1536 (0x0600) label_request_message_idmessage_id
フィールド 型 既定値 Auto 説明
element_typeuint(8)1
フィールド 型 既定値 Auto 説明
elementslist<struct> — PDU の残りすべて
messages › label_abort_request › tlvs › fec › elements
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
element_typeuint(8)2
address_familyenum(16)1 (ipv4)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 オクテット
messages › label_abort_request › tlvs › fec › elements › address_family
値 名前
1 (0x0001) ipv4
2 (0x0002) ipv6
フィールド 型 既定値 Auto 説明
address_familyuint(16)1
addresseslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
address_familyuint(16)2
addresseslist<ipv6> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
hop_countuint(8)1
フィールド 型 既定値 Auto 説明
lsr_idslist<ipv4> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
reserveduint(12)0
labeluint(20)16
フィールド 型 既定値 Auto 説明
euint(1)0
fuint(1)0
status_codeenum(30)0 (success)
message_iduint(32)
message_typeuint(16)
messages › label_abort_request › tlvs › status › status_code
値 名前
0 (0x00000000) success
1 (0x00000001) bad_ldp_identifier
2 (0x00000002) bad_protocol_version
3 (0x00000003) bad_pdu_length
4 (0x00000004) unknown_message_type
5 (0x00000005) bad_message_length
6 (0x00000006) unknown_tlv
7 (0x00000007) bad_tlv_length
8 (0x00000008) malformed_tlv_value
9 (0x00000009) hold_timer_expired
10 (0x0000000a) shutdown
11 (0x0000000b) loop_detected
12 (0x0000000c) unknown_fec
13 (0x0000000d) no_route
14 (0x0000000e) no_label_resources
15 (0x0000000f) label_resources_available
16 (0x00000010) session_rejected_no_hello
17 (0x00000011) session_rejected_advertisement_mode
18 (0x00000012) session_rejected_max_pdu_length
19 (0x00000013) session_rejected_label_range
20 (0x00000014) keepalive_timer_expired
21 (0x00000015) label_request_aborted
22 (0x00000016) missing_message_parameters
23 (0x00000017) unsupported_address_family
24 (0x00000018) session_rejected_bad_keepalive_time
25 (0x00000019) internal_error
フィールド 型 既定値 Auto 説明
hold_timeuint(16)15
tuint(1)0
ruint(1)0
guint(1)0
reserveduint(13)0
フィールド 型 既定値 Auto 説明
addressipv4
フィールド 型 既定値 Auto 説明
sequence_numberuint(32)1
フィールド 型 既定値 Auto 説明
addressipv6
フィールド 型 既定値 Auto 説明
protocol_versionuint(16)1
keepalive_timeuint(16)180
auint(1)0
duint(1)0
reserveduint(6)0
pv_limuint(8)0
max_pdu_lengthuint(16)0
receiver_lsr_idipv4192.0.2.2
receiver_label_spaceuint(16)0
フィールド 型 既定値 Auto 説明
message_iduint(32)
レベル 規則
警告 version が 1
エラー ヘッダが 10 オクテット以上
警告 ヘッダが 4096 オクテット以下
下位レイヤ 判別フィールド 値
udpdst_port / src_port3784 (0x0ec8)
udpdst_port / src_port4784 (0x12b0)
udpdst_port / src_port6784 (0x1a80)
フィールド 型 既定値 Auto 説明
versionuint(3)1BFD バージョン(1)。
diagenum(5)0 (no_diagnostic)診断コード: ローカルセッションが最後に状態を変えた理由。
stateenum(2)1 (down)セッション状態: 0 AdminDown、1 Down、2 Init、3 Up。
puint(1)0P ビット: Poll(パラメータ変更。相手は F で応答)。
fuint(1)0F ビット: Final(Poll への応答)。
cuint(1)0C ビット: コントロールプレーン非依存。
auint(1)authentication の要素数A ビット: 認証あり(Auto: 認証セクションがあれば 1)。
duint(1)0D ビット: デマンドモード。
muint(1)0M ビット: マルチポイント(0)。
detect_multuint(8)3検出時間の乗数。
lengthuint(8)ヘッダの長さ (オクテット単位) 認証セクションを含む制御パケットのオクテット長(Auto)。
my_discriminatoruint(32)1My Discriminator: 送信側でセッションを一意に表す 0 以外の値。
your_discriminatoruint(32)0Your Discriminator: 相手の Discriminator(不明な間は 0)。
desired_min_tx_intervaluint(32)1000000希望する最小送信間隔(マイクロ秒)。
required_min_rx_intervaluint(32)1000000要求する最小受信間隔(マイクロ秒)。
required_min_echo_rx_intervaluint(32)0要求する最小エコー受信間隔(マイクロ秒、0 = エコーなし)。
authenticationtlv — length - 24 オクテット認証セクション(8 ビット型、ヘッダを含む 8 ビット長): 簡易パスワード、Keyed MD5 / SHA1 とその Meticulous 版。ダイジェスト / ハッシュは手動。
値 名前
0 no_diagnostic
1 control_detection_time_expired
2 echo_function_failed
3 neighbor_signaled_session_down
4 forwarding_plane_reset
5 path_down
6 concatenated_path_down
7 administratively_down
8 reverse_concatenated_path_down
9 mis_connectivity_defect
値 名前
0 admin_down
1 down
2 init
3 up
タイプ 8 ビット、長さ 8 ビット。
長さはタイプと長さのフィールドも含みます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) simple_passwordkey_id, password
2 (0x02) keyed_md5key_id, reserved, sequence_number, digest
3 (0x03) meticulous_keyed_md5key_id, reserved, sequence_number, digest
4 (0x04) keyed_sha1key_id, reserved, sequence_number, hash
5 (0x05) meticulous_keyed_sha1key_id, reserved, sequence_number, hash
フィールド 型 既定値 Auto 説明
key_iduint(8)1
passwordbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
digestbytes(16)
フィールド 型 既定値 Auto 説明
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
digestbytes(16)
フィールド 型 既定値 Auto 説明
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
hashbytes(20)
フィールド 型 既定値 Auto 説明
key_iduint(8)1
reserveduint(8)0
sequence_numberuint(32)
hashbytes(20)
レベル 規則
警告 version が 1
警告 detect_mult が 0 以外
警告 my_discriminator が 0 以外
エラー ヘッダが 24 オクテット以上
下位レイヤ 判別フィールド 値
udpdst_port / src_port2123 (0x084b)
gtpv2p1 (残り 8 オクテット以上)
フィールド 型 既定値 Auto 説明
versionuint(3)2GTP バージョン(2)。
puint(1)0P フラグ: ピギーバックされたメッセージが続く(次の GTPv2-C レイヤ)。
tuint(1)teid の要素数T フラグ: TEID フィールドあり(Auto: TEID を指定すると 1)。
mpuint(1)0MP フラグ: メッセージ優先度あり。
spareuint(2)0
message_typeenum(8)32 (create_session_request)メッセージ種別(Echo、Create / Modify / Delete Session、Create / Update / Delete Bearer など)。
message_lengthuint(16)ヘッダの長さ (オクテット単位) (-4) 先頭 4 オクテットを除くメッセージ長(Auto)。
teidlist<uint(32)> — t 個の要素1 要素 受信側の Tunnel Endpoint Identifier(Echo メッセージにはない。最初の要求では 0)。
sequence_numberuint(24)1応答と要求を対応付けるシーケンス番号(24 ビット)。
message_priorityuint(4)0メッセージ優先度(0 が最高)。MP が 1 のときに使用。
spare2uint(4)0
iestlv — グループ先頭から message_length + 4 オクテットまで6 要素 情報要素(8 ビット型、データの 16 ビット長、スペア / インスタンスの 1 オクテット): IMSI、Cause、Recovery、APN、AMBR、EBI、IP Address、MEI、MSISDN、PAA、Bearer QoS、RAT Type、Serving Network、F-TEID、Bearer Context(グループ化)、PDN Type など。長さは Auto。
値 名前
1 (0x01) echo_request
2 (0x02) echo_response
3 (0x03) version_not_supported
32 (0x20) create_session_request
33 (0x21) create_session_response
34 (0x22) modify_bearer_request
35 (0x23) modify_bearer_response
36 (0x24) delete_session_request
37 (0x25) delete_session_response
95 (0x5f) create_bearer_request
96 (0x60) create_bearer_response
97 (0x61) update_bearer_request
98 (0x62) update_bearer_response
99 (0x63) delete_bearer_request
100 (0x64) delete_bearer_response
170 (0xaa) release_access_bearers_request
171 (0xab) release_access_bearers_response
176 (0xb0) downlink_data_notification
177 (0xb1) downlink_data_notification_ack
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
長さの直後にある値の先頭 1 オクテットは長さに数えません。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) imsispare, instance, digits
2 (0x02) causespare, instance, cause, spare2, pce, bce, cs, offending_ie
3 (0x03) recoveryspare, instance, restart_counter
71 (0x47) apnspare, instance, apn
72 (0x48) ambrspare, instance, uplink, downlink
73 (0x49) ebispare, instance, spare2, ebi
74 (0x4a) ip_addressspare, instance, address; 値が 5 オクテットのとき
74 (0x4a) ip_address_ipv6spare, instance, address; 値が 17 オクテットのとき
75 (0x4b) meispare, instance, digits
76 (0x4c) msisdnspare, instance, digits
77 (0x4d) indicationspare, instance, flags
78 (0x4e) pcospare, instance, data
79 (0x4f) paaspare, instance, spare2, pdn_type, ipv4; 値が 6 オクテットのとき
79 (0x4f) paa_ipv6spare, instance, spare2, pdn_type, ipv6_prefix_length, ipv6; 値が 19 オクテットのとき
79 (0x4f) paa_ipv4v6spare, instance, spare2, pdn_type, ipv6_prefix_length, ipv6, ipv4; 値が 23 オクテットのとき
80 (0x50) bearer_qosspare, instance, spare2, pci, pl, spare3, pvi, qci, mbr_uplink, mbr_downlink, gbr_uplink, gbr_downlink
82 (0x52) rat_typespare, instance, rat_type
83 (0x53) serving_networkspare, instance, mcc_digit2, mcc_digit1, mnc_digit3, mcc_digit3, mnc_digit2, mnc_digit1
84 (0x54) bearer_tftspare, instance, tft
86 (0x56) ulispare, instance, data
87 (0x57) fteidspare, instance, v4, v6, interface_type, teid, ipv4; 値が 10 オクテットのとき
87 (0x57) fteid_ipv6spare, instance, v4, v6, interface_type, teid, ipv6; 値が 22 オクテットのとき
87 (0x57) fteid_ipv4v6spare, instance, v4, v6, interface_type, teid, ipv4, ipv6; 値が 26 オクテットのとき
94 (0x5e) charging_idspare, instance, charging_id
95 (0x5f) charging_characteristicsspare, instance, value
99 (0x63) pdn_typespare, instance, spare2, pdn_type
114 (0x72) ue_time_zonespare, instance, time_zone, spare2, daylight_saving_time
127 (0x7f) apn_restrictionspare, instance, restriction
128 (0x80) selection_modespare, instance, spare2, selection_mode
255 (0xff) private_extensionspare, instance, enterprise_id, value
93 (0x5d) bearer_contextspare, instance, ies
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
digitsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
causeenum(8)16 (request_accepted)
spare2uint(5)0
pceuint(1)0
bceuint(1)0
csuint(1)0
offending_iebytes — PDU の残りすべて
値 名前
2 (0x02) local_detach
3 (0x03) complete_detach
4 (0x04) rat_changed_from_3gpp_to_non_3gpp
8 (0x08) isr_deactivation
16 (0x10) request_accepted
17 (0x11) request_accepted_partially
18 (0x12) new_pdn_type_due_to_network_preference
19 (0x13) new_pdn_type_due_to_single_address_bearer_only
64 (0x40) context_not_found
65 (0x41) invalid_message_format
66 (0x42) version_not_supported_by_next_peer
67 (0x43) invalid_length
68 (0x44) service_not_supported
69 (0x45) mandatory_ie_incorrect
70 (0x46) mandatory_ie_missing
72 (0x48) system_failure
73 (0x49) no_resources_available
78 (0x4e) missing_or_unknown_apn
83 (0x53) preferred_pdn_type_not_supported
84 (0x54) all_dynamic_addresses_are_occupied
89 (0x59) service_denied
92 (0x5c) user_authentication_failed
93 (0x5d) apn_access_denied_no_subscription
94 (0x5e) request_rejected
100 (0x64) remote_peer_not_responding
110 (0x6e) temporarily_rejected_due_to_handover_in_progress
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
restart_counteruint(8)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
apnbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
uplinkuint(32)1000
downlinkuint(32)1000
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(4)0
ebiuint(4)5
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
addressipv4
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
addressipv6
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
digitsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
digitsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeuint(3)1
ipv4ipv4
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeuint(3)2
ipv6_prefix_lengthuint(8)64
ipv6ipv6::
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeuint(3)3
ipv6_prefix_lengthuint(8)64
ipv6ipv6::
ipv4ipv4
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(1)0
pciuint(1)0
pluint(4)15
spare3uint(1)0
pviuint(1)0
qciuint(8)9
mbr_uplinkuint(40)0
mbr_downlinkuint(40)0
gbr_uplinkuint(40)0
gbr_downlinkuint(40)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
rat_typeenum(8)6 (eutran)
値 名前
1 (0x01) utran
2 (0x02) geran
3 (0x03) wlan
4 (0x04) gan
5 (0x05) hspa_evolution
6 (0x06) eutran
7 (0x07) virtual
8 (0x08) eutran_nb_iot
9 (0x09) lte_m
10 (0x0a) nr
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
mcc_digit2uint(4)0
mcc_digit1uint(4)0
mnc_digit3uint(4)15
mcc_digit3uint(4)1
mnc_digit2uint(4)1
mnc_digit1uint(4)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
tftbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
v4uint(1)1
v6uint(1)0
interface_typeenum(6)10 (s11_mme_gtp_c)
teiduint(32)1
ipv4ipv4192.0.2.1
値 名前
0 s1_u_enodeb_gtp_u
1 s1_u_sgw_gtp_u
2 s12_rnc_gtp_u
3 s12_sgw_gtp_u
4 s5_s8_sgw_gtp_u
5 s5_s8_pgw_gtp_u
6 s5_s8_sgw_gtp_c
7 s5_s8_pgw_gtp_c
10 s11_mme_gtp_c
11 s11_s4_sgw_gtp_c
16 s2b_epdg_gtp_c
17 s2b_u_epdg_gtp_u
18 s2b_pgw_gtp_c
19 s2b_u_pgw_gtp_u
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
v4uint(1)0
v6uint(1)1
interface_typeenum(6)10 (s11_mme_gtp_c)
teiduint(32)1
ipv6ipv62001:db8::1
値 名前
0 s1_u_enodeb_gtp_u
1 s1_u_sgw_gtp_u
2 s12_rnc_gtp_u
3 s12_sgw_gtp_u
4 s5_s8_sgw_gtp_u
5 s5_s8_pgw_gtp_u
6 s5_s8_sgw_gtp_c
7 s5_s8_pgw_gtp_c
10 s11_mme_gtp_c
11 s11_s4_sgw_gtp_c
16 s2b_epdg_gtp_c
17 s2b_u_epdg_gtp_u
18 s2b_pgw_gtp_c
19 s2b_u_pgw_gtp_u
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
v4uint(1)1
v6uint(1)1
interface_typeenum(6)10 (s11_mme_gtp_c)
teiduint(32)1
ipv4ipv4192.0.2.1
ipv6ipv62001:db8::1
値 名前
0 s1_u_enodeb_gtp_u
1 s1_u_sgw_gtp_u
2 s12_rnc_gtp_u
3 s12_sgw_gtp_u
4 s5_s8_sgw_gtp_u
5 s5_s8_pgw_gtp_u
6 s5_s8_sgw_gtp_c
7 s5_s8_pgw_gtp_c
10 s11_mme_gtp_c
11 s11_s4_sgw_gtp_c
16 s2b_epdg_gtp_c
17 s2b_u_epdg_gtp_u
18 s2b_pgw_gtp_c
19 s2b_u_pgw_gtp_u
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
charging_iduint(32)1
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
valueuint(16)2048
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeenum(3)1 (ipv4)
値 名前
1 ipv4
2 ipv6
3 ipv4v6
4 non_ip
5 ethernet
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
time_zoneuint(8)0
spare2uint(6)0
daylight_saving_timeuint(2)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
restrictionuint(8)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(6)0
selection_modeuint(2)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
enterprise_iduint(16)0
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
iestlv — PDU の残りすべて1 要素
タイプ 8 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
長さの直後にある値の先頭 1 オクテットは長さに数えません。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x01) imsispare, instance, digits
2 (0x02) causespare, instance, cause, spare2, pce, bce, cs, offending_ie
3 (0x03) recoveryspare, instance, restart_counter
71 (0x47) apnspare, instance, apn
72 (0x48) ambrspare, instance, uplink, downlink
73 (0x49) ebispare, instance, spare2, ebi
74 (0x4a) ip_addressspare, instance, address; 値が 5 オクテットのとき
74 (0x4a) ip_address_ipv6spare, instance, address; 値が 17 オクテットのとき
75 (0x4b) meispare, instance, digits
76 (0x4c) msisdnspare, instance, digits
77 (0x4d) indicationspare, instance, flags
78 (0x4e) pcospare, instance, data
79 (0x4f) paaspare, instance, spare2, pdn_type, ipv4; 値が 6 オクテットのとき
79 (0x4f) paa_ipv6spare, instance, spare2, pdn_type, ipv6_prefix_length, ipv6; 値が 19 オクテットのとき
79 (0x4f) paa_ipv4v6spare, instance, spare2, pdn_type, ipv6_prefix_length, ipv6, ipv4; 値が 23 オクテットのとき
80 (0x50) bearer_qosspare, instance, spare2, pci, pl, spare3, pvi, qci, mbr_uplink, mbr_downlink, gbr_uplink, gbr_downlink
82 (0x52) rat_typespare, instance, rat_type
83 (0x53) serving_networkspare, instance, mcc_digit2, mcc_digit1, mnc_digit3, mcc_digit3, mnc_digit2, mnc_digit1
84 (0x54) bearer_tftspare, instance, tft
86 (0x56) ulispare, instance, data
87 (0x57) fteidspare, instance, v4, v6, interface_type, teid, ipv4; 値が 10 オクテットのとき
87 (0x57) fteid_ipv6spare, instance, v4, v6, interface_type, teid, ipv6; 値が 22 オクテットのとき
87 (0x57) fteid_ipv4v6spare, instance, v4, v6, interface_type, teid, ipv4, ipv6; 値が 26 オクテットのとき
94 (0x5e) charging_idspare, instance, charging_id
95 (0x5f) charging_characteristicsspare, instance, value
99 (0x63) pdn_typespare, instance, spare2, pdn_type
114 (0x72) ue_time_zonespare, instance, time_zone, spare2, daylight_saving_time
127 (0x7f) apn_restrictionspare, instance, restriction
128 (0x80) selection_modespare, instance, spare2, selection_mode
255 (0xff) private_extensionspare, instance, enterprise_id, value
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
digitsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
causeenum(8)16 (request_accepted)
spare2uint(5)0
pceuint(1)0
bceuint(1)0
csuint(1)0
offending_iebytes — PDU の残りすべて
ies › bearer_context › ies › cause › cause
値 名前
2 (0x02) local_detach
3 (0x03) complete_detach
4 (0x04) rat_changed_from_3gpp_to_non_3gpp
8 (0x08) isr_deactivation
16 (0x10) request_accepted
17 (0x11) request_accepted_partially
18 (0x12) new_pdn_type_due_to_network_preference
19 (0x13) new_pdn_type_due_to_single_address_bearer_only
64 (0x40) context_not_found
65 (0x41) invalid_message_format
66 (0x42) version_not_supported_by_next_peer
67 (0x43) invalid_length
68 (0x44) service_not_supported
69 (0x45) mandatory_ie_incorrect
70 (0x46) mandatory_ie_missing
72 (0x48) system_failure
73 (0x49) no_resources_available
78 (0x4e) missing_or_unknown_apn
83 (0x53) preferred_pdn_type_not_supported
84 (0x54) all_dynamic_addresses_are_occupied
89 (0x59) service_denied
92 (0x5c) user_authentication_failed
93 (0x5d) apn_access_denied_no_subscription
94 (0x5e) request_rejected
100 (0x64) remote_peer_not_responding
110 (0x6e) temporarily_rejected_due_to_handover_in_progress
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
restart_counteruint(8)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
apnbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
uplinkuint(32)1000
downlinkuint(32)1000
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(4)0
ebiuint(4)5
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
addressipv4
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
addressipv6
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
digitsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
digitsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
flagsbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeuint(3)1
ipv4ipv4
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeuint(3)2
ipv6_prefix_lengthuint(8)64
ipv6ipv6::
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeuint(3)3
ipv6_prefix_lengthuint(8)64
ipv6ipv6::
ipv4ipv4
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(1)0
pciuint(1)0
pluint(4)15
spare3uint(1)0
pviuint(1)0
qciuint(8)9
mbr_uplinkuint(40)0
mbr_downlinkuint(40)0
gbr_uplinkuint(40)0
gbr_downlinkuint(40)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
rat_typeenum(8)6 (eutran)
ies › bearer_context › ies › rat_type › rat_type
値 名前
1 (0x01) utran
2 (0x02) geran
3 (0x03) wlan
4 (0x04) gan
5 (0x05) hspa_evolution
6 (0x06) eutran
7 (0x07) virtual
8 (0x08) eutran_nb_iot
9 (0x09) lte_m
10 (0x0a) nr
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
mcc_digit2uint(4)0
mcc_digit1uint(4)0
mnc_digit3uint(4)15
mcc_digit3uint(4)1
mnc_digit2uint(4)1
mnc_digit1uint(4)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
tftbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
databytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
v4uint(1)1
v6uint(1)0
interface_typeenum(6)10 (s11_mme_gtp_c)
teiduint(32)1
ipv4ipv4192.0.2.1
ies › bearer_context › ies › fteid › interface_type
値 名前
0 s1_u_enodeb_gtp_u
1 s1_u_sgw_gtp_u
2 s12_rnc_gtp_u
3 s12_sgw_gtp_u
4 s5_s8_sgw_gtp_u
5 s5_s8_pgw_gtp_u
6 s5_s8_sgw_gtp_c
7 s5_s8_pgw_gtp_c
10 s11_mme_gtp_c
11 s11_s4_sgw_gtp_c
16 s2b_epdg_gtp_c
17 s2b_u_epdg_gtp_u
18 s2b_pgw_gtp_c
19 s2b_u_pgw_gtp_u
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
v4uint(1)0
v6uint(1)1
interface_typeenum(6)10 (s11_mme_gtp_c)
teiduint(32)1
ipv6ipv62001:db8::1
ies › bearer_context › ies › fteid_ipv6 › interface_type
値 名前
0 s1_u_enodeb_gtp_u
1 s1_u_sgw_gtp_u
2 s12_rnc_gtp_u
3 s12_sgw_gtp_u
4 s5_s8_sgw_gtp_u
5 s5_s8_pgw_gtp_u
6 s5_s8_sgw_gtp_c
7 s5_s8_pgw_gtp_c
10 s11_mme_gtp_c
11 s11_s4_sgw_gtp_c
16 s2b_epdg_gtp_c
17 s2b_u_epdg_gtp_u
18 s2b_pgw_gtp_c
19 s2b_u_pgw_gtp_u
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
v4uint(1)1
v6uint(1)1
interface_typeenum(6)10 (s11_mme_gtp_c)
teiduint(32)1
ipv4ipv4192.0.2.1
ipv6ipv62001:db8::1
ies › bearer_context › ies › fteid_ipv4v6 › interface_type
値 名前
0 s1_u_enodeb_gtp_u
1 s1_u_sgw_gtp_u
2 s12_rnc_gtp_u
3 s12_sgw_gtp_u
4 s5_s8_sgw_gtp_u
5 s5_s8_pgw_gtp_u
6 s5_s8_sgw_gtp_c
7 s5_s8_pgw_gtp_c
10 s11_mme_gtp_c
11 s11_s4_sgw_gtp_c
16 s2b_epdg_gtp_c
17 s2b_u_epdg_gtp_u
18 s2b_pgw_gtp_c
19 s2b_u_pgw_gtp_u
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
charging_iduint(32)1
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
valueuint(16)2048
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(5)0
pdn_typeenum(3)1 (ipv4)
ies › bearer_context › ies › pdn_type › pdn_type
値 名前
1 ipv4
2 ipv6
3 ipv4v6
4 non_ip
5 ethernet
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
time_zoneuint(8)0
spare2uint(6)0
daylight_saving_timeuint(2)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
restrictionuint(8)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
spare2uint(6)0
selection_modeuint(2)0
フィールド 型 既定値 Auto 説明
spareuint(4)0
instanceuint(4)0
enterprise_iduint(16)0
valuebytes — PDU の残りすべて
次レイヤは p で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
値 プロトコル 備考
1 gtpv2残り 8 オクテット以上
レベル 規則
警告 version が 2
エラー ヘッダが 8 オクテット以上
下位レイヤ 判別フィールド 値
tcpdst_port / src_port3868 (0x0f1c)
フィールド 型 既定値 Auto 説明
versionuint(8)1Diameter バージョン(1)。
message_lengthuint(24)ヘッダの長さ (オクテット単位) ヘッダと AVP の詰め物を含むメッセージ長(Auto)。
ruint(1)1R フラグ: 要求(0 = 応答)。
puint(1)0P フラグ: プロキシ可能。
euint(1)0E フラグ: 応答がプロトコルエラーを含む。
tuint(1)0T フラグ: 再送の可能性があるメッセージ。
reserveduint(4)0
command_codeenum(24)257 (capabilities_exchange)コマンドコード(Capabilities-Exchange、Device-Watchdog、Credit-Control など)。
application_iduint(32)0Application-ID(0 = Diameter 共通メッセージ)。
hop_by_hopuint(32)11 つのコネクション上で応答と要求を対応付ける Hop-by-Hop 識別子。
end_to_enduint(32)1重複した要求を検出する End-to-End 識別子。
avpstlv — グループ先頭から message_length オクテットまで5 要素 AVP(32 ビットコード、V / M / P フラグ、詰め物を含まない 24 ビット長、省略可能な Vendor-ID、4 オクテット境界まで詰めたデータ): 基本プロトコルと Credit-Control の AVP、1 段のグループ化 AVP。長さ・詰め物・V フラグは Auto。
値 名前
257 (0x000101) capabilities_exchange
258 (0x000102) re_auth
271 (0x00010f) accounting
272 (0x000110) credit_control
274 (0x000112) abort_session
275 (0x000113) session_termination
280 (0x000118) device_watchdog
282 (0x00011a) disconnect_peer
316 (0x00013c) update_location
317 (0x00013d) cancel_location
318 (0x00013e) authentication_information
319 (0x00013f) insert_subscriber_data
320 (0x000140) delete_subscriber_data
321 (0x000141) purge_ue
323 (0x000143) notify
タイプ 32 ビット、長さ 24 ビット。
長さはタイプと長さのフィールドも含みます。
値の先頭 1 オクテットはタイプと長さの間にあります。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x00000001) user_namev, m, p, reserved, vendor_id, value
25 (0x00000019) classv, m, p, reserved, vendor_id, value
27 (0x0000001b) session_timeoutv, m, p, reserved, vendor_id, value
33 (0x00000021) proxy_statev, m, p, reserved, vendor_id, value
44 (0x0000002c) accounting_session_idv, m, p, reserved, vendor_id, value
50 (0x00000032) acct_multi_session_idv, m, p, reserved, vendor_id, value
55 (0x00000037) event_timestampv, m, p, reserved, vendor_id, value
85 (0x00000055) acct_interim_intervalv, m, p, reserved, vendor_id, value
258 (0x00000102) auth_application_idv, m, p, reserved, vendor_id, value
259 (0x00000103) acct_application_idv, m, p, reserved, vendor_id, value
262 (0x00000106) redirect_max_cache_timev, m, p, reserved, vendor_id, value
263 (0x00000107) session_idv, m, p, reserved, vendor_id, value
264 (0x00000108) origin_hostv, m, p, reserved, vendor_id, value
265 (0x00000109) supported_vendor_idv, m, p, reserved, vendor_id, value
266 (0x0000010a) vendor_idv, m, p, reserved, vendor_id, value
267 (0x0000010b) firmware_revisionv, m, p, reserved, vendor_id, value
268 (0x0000010c) result_codev, m, p, reserved, vendor_id, value
269 (0x0000010d) product_namev, m, p, reserved, vendor_id, value
270 (0x0000010e) session_bindingv, m, p, reserved, vendor_id, value
272 (0x00000110) multi_round_time_outv, m, p, reserved, vendor_id, value
273 (0x00000111) disconnect_causev, m, p, reserved, vendor_id, value
274 (0x00000112) auth_request_typev, m, p, reserved, vendor_id, value
276 (0x00000114) auth_grace_periodv, m, p, reserved, vendor_id, value
277 (0x00000115) auth_session_statev, m, p, reserved, vendor_id, value
278 (0x00000116) origin_state_idv, m, p, reserved, vendor_id, value
280 (0x00000118) proxy_hostv, m, p, reserved, vendor_id, value
281 (0x00000119) error_messagev, m, p, reserved, vendor_id, value
282 (0x0000011a) route_recordv, m, p, reserved, vendor_id, value
283 (0x0000011b) destination_realmv, m, p, reserved, vendor_id, value
285 (0x0000011d) re_auth_request_typev, m, p, reserved, vendor_id, value
287 (0x0000011f) accounting_sub_session_idv, m, p, reserved, vendor_id, value
291 (0x00000123) authorization_lifetimev, m, p, reserved, vendor_id, value
292 (0x00000124) redirect_hostv, m, p, reserved, vendor_id, value
293 (0x00000125) destination_hostv, m, p, reserved, vendor_id, value
294 (0x00000126) error_reporting_hostv, m, p, reserved, vendor_id, value
295 (0x00000127) termination_causev, m, p, reserved, vendor_id, value
296 (0x00000128) origin_realmv, m, p, reserved, vendor_id, value
298 (0x0000012a) experimental_result_codev, m, p, reserved, vendor_id, value
299 (0x0000012b) inband_security_idv, m, p, reserved, vendor_id, value
415 (0x0000019f) cc_request_numberv, m, p, reserved, vendor_id, value
416 (0x000001a0) cc_request_typev, m, p, reserved, vendor_id, value
444 (0x000001bc) subscription_id_datav, m, p, reserved, vendor_id, value
450 (0x000001c2) subscription_id_typev, m, p, reserved, vendor_id, value
455 (0x000001c7) multiple_services_indicatorv, m, p, reserved, vendor_id, value
461 (0x000001cd) service_context_idv, m, p, reserved, vendor_id, value
480 (0x000001e0) accounting_record_typev, m, p, reserved, vendor_id, value
485 (0x000001e5) accounting_record_numberv, m, p, reserved, vendor_id, value
257 (0x00000101) host_ip_addressv, m, p, reserved, vendor_id, address_family, address; 値が 7 オクテットのとき
257 (0x00000101) host_ip_address_ipv6v, m, p, reserved, vendor_id, address_family, address; 値が 19 オクテットのとき
260 (0x00000104) vendor_specific_application_idv, m, p, reserved, vendor_id, avps
279 (0x00000117) failed_avpv, m, p, reserved, vendor_id, avps
284 (0x0000011c) proxy_infov, m, p, reserved, vendor_id, avps
297 (0x00000129) experimental_resultv, m, p, reserved, vendor_id, avps
443 (0x000001bb) subscription_idv, m, p, reserved, vendor_id, avps
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)2001 (success)
値 名前
1001 (0x000003e9) multi_round_auth
2001 (0x000007d1) success
2002 (0x000007d2) limited_success
3001 (0x00000bb9) command_unsupported
3002 (0x00000bba) unable_to_deliver
3003 (0x00000bbb) realm_not_served
3004 (0x00000bbc) too_busy
3005 (0x00000bbd) loop_detected
3006 (0x00000bbe) redirect_indication
3007 (0x00000bbf) application_unsupported
3008 (0x00000bc0) invalid_hdr_bits
3009 (0x00000bc1) invalid_avp_bits
3010 (0x00000bc2) unknown_peer
4001 (0x00000fa1) authentication_rejected
4002 (0x00000fa2) out_of_space
4003 (0x00000fa3) election_lost
5001 (0x00001389) avp_unsupported
5002 (0x0000138a) unknown_session_id
5003 (0x0000138b) authorization_rejected
5004 (0x0000138c) invalid_avp_value
5005 (0x0000138d) missing_avp
5006 (0x0000138e) resources_exceeded
5007 (0x0000138f) contradicting_avps
5008 (0x00001390) avp_not_allowed
5009 (0x00001391) avp_occurs_too_many_times
5010 (0x00001392) no_common_application
5011 (0x00001393) unsupported_version
5012 (0x00001394) unable_to_comply
5013 (0x00001395) invalid_bit_in_header
5014 (0x00001396) invalid_avp_length
5015 (0x00001397) invalid_message_length
5016 (0x00001398) invalid_avp_bit_combo
5017 (0x00001399) no_common_security
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (rebooting)
値 名前
0 (0x00000000) rebooting
1 (0x00000001) busy
2 (0x00000002) do_not_want_to_talk_to_you
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)3 (authorize_authenticate)
値 名前
1 (0x00000001) authenticate_only
2 (0x00000002) authorize_only
3 (0x00000003) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (no_state_maintained)
値 名前
0 (0x00000000) state_maintained
1 (0x00000001) no_state_maintained
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (authorize_only)
値 名前
0 (0x00000000) authorize_only
1 (0x00000001) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(64)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (logout)
値 名前
1 (0x00000001) logout
2 (0x00000002) service_not_provided
3 (0x00000003) bad_answer
4 (0x00000004) administrative
5 (0x00000005) link_broken
6 (0x00000006) auth_expired
7 (0x00000007) user_moved
8 (0x00000008) session_timeout
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (initial_request)
値 名前
1 (0x00000001) initial_request
2 (0x00000002) update_request
3 (0x00000003) termination_request
4 (0x00000004) event_request
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (end_user_e164)
値 名前
0 (0x00000000) end_user_e164
1 (0x00000001) end_user_imsi
2 (0x00000002) end_user_sip_uri
3 (0x00000003) end_user_nai
4 (0x00000004) end_user_private
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (not_supported)
値 名前
0 (0x00000000) not_supported
1 (0x00000001) supported
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (event_record)
値 名前
1 (0x00000001) event_record
2 (0x00000002) start_record
3 (0x00000003) interim_record
4 (0x00000004) stop_record
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)1
addressipv4192.0.2.1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)2
addressipv62001:db8::1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
avpstlv — PDU の残りすべて2 要素
タイプ 32 ビット、長さ 24 ビット。
長さはタイプと長さのフィールドも含みます。
値の先頭 1 オクテットはタイプと長さの間にあります。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x00000001) user_namev, m, p, reserved, vendor_id, value
25 (0x00000019) classv, m, p, reserved, vendor_id, value
27 (0x0000001b) session_timeoutv, m, p, reserved, vendor_id, value
33 (0x00000021) proxy_statev, m, p, reserved, vendor_id, value
44 (0x0000002c) accounting_session_idv, m, p, reserved, vendor_id, value
50 (0x00000032) acct_multi_session_idv, m, p, reserved, vendor_id, value
55 (0x00000037) event_timestampv, m, p, reserved, vendor_id, value
85 (0x00000055) acct_interim_intervalv, m, p, reserved, vendor_id, value
258 (0x00000102) auth_application_idv, m, p, reserved, vendor_id, value
259 (0x00000103) acct_application_idv, m, p, reserved, vendor_id, value
262 (0x00000106) redirect_max_cache_timev, m, p, reserved, vendor_id, value
263 (0x00000107) session_idv, m, p, reserved, vendor_id, value
264 (0x00000108) origin_hostv, m, p, reserved, vendor_id, value
265 (0x00000109) supported_vendor_idv, m, p, reserved, vendor_id, value
266 (0x0000010a) vendor_idv, m, p, reserved, vendor_id, value
267 (0x0000010b) firmware_revisionv, m, p, reserved, vendor_id, value
268 (0x0000010c) result_codev, m, p, reserved, vendor_id, value
269 (0x0000010d) product_namev, m, p, reserved, vendor_id, value
270 (0x0000010e) session_bindingv, m, p, reserved, vendor_id, value
272 (0x00000110) multi_round_time_outv, m, p, reserved, vendor_id, value
273 (0x00000111) disconnect_causev, m, p, reserved, vendor_id, value
274 (0x00000112) auth_request_typev, m, p, reserved, vendor_id, value
276 (0x00000114) auth_grace_periodv, m, p, reserved, vendor_id, value
277 (0x00000115) auth_session_statev, m, p, reserved, vendor_id, value
278 (0x00000116) origin_state_idv, m, p, reserved, vendor_id, value
280 (0x00000118) proxy_hostv, m, p, reserved, vendor_id, value
281 (0x00000119) error_messagev, m, p, reserved, vendor_id, value
282 (0x0000011a) route_recordv, m, p, reserved, vendor_id, value
283 (0x0000011b) destination_realmv, m, p, reserved, vendor_id, value
285 (0x0000011d) re_auth_request_typev, m, p, reserved, vendor_id, value
287 (0x0000011f) accounting_sub_session_idv, m, p, reserved, vendor_id, value
291 (0x00000123) authorization_lifetimev, m, p, reserved, vendor_id, value
292 (0x00000124) redirect_hostv, m, p, reserved, vendor_id, value
293 (0x00000125) destination_hostv, m, p, reserved, vendor_id, value
294 (0x00000126) error_reporting_hostv, m, p, reserved, vendor_id, value
295 (0x00000127) termination_causev, m, p, reserved, vendor_id, value
296 (0x00000128) origin_realmv, m, p, reserved, vendor_id, value
298 (0x0000012a) experimental_result_codev, m, p, reserved, vendor_id, value
299 (0x0000012b) inband_security_idv, m, p, reserved, vendor_id, value
415 (0x0000019f) cc_request_numberv, m, p, reserved, vendor_id, value
416 (0x000001a0) cc_request_typev, m, p, reserved, vendor_id, value
444 (0x000001bc) subscription_id_datav, m, p, reserved, vendor_id, value
450 (0x000001c2) subscription_id_typev, m, p, reserved, vendor_id, value
455 (0x000001c7) multiple_services_indicatorv, m, p, reserved, vendor_id, value
461 (0x000001cd) service_context_idv, m, p, reserved, vendor_id, value
480 (0x000001e0) accounting_record_typev, m, p, reserved, vendor_id, value
485 (0x000001e5) accounting_record_numberv, m, p, reserved, vendor_id, value
257 (0x00000101) host_ip_addressv, m, p, reserved, vendor_id, address_family, address; 値が 7 オクテットのとき
257 (0x00000101) host_ip_address_ipv6v, m, p, reserved, vendor_id, address_family, address; 値が 19 オクテットのとき
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)2001 (success)
avps › vendor_specific_application_id › avps › result_code › value
値 名前
1001 (0x000003e9) multi_round_auth
2001 (0x000007d1) success
2002 (0x000007d2) limited_success
3001 (0x00000bb9) command_unsupported
3002 (0x00000bba) unable_to_deliver
3003 (0x00000bbb) realm_not_served
3004 (0x00000bbc) too_busy
3005 (0x00000bbd) loop_detected
3006 (0x00000bbe) redirect_indication
3007 (0x00000bbf) application_unsupported
3008 (0x00000bc0) invalid_hdr_bits
3009 (0x00000bc1) invalid_avp_bits
3010 (0x00000bc2) unknown_peer
4001 (0x00000fa1) authentication_rejected
4002 (0x00000fa2) out_of_space
4003 (0x00000fa3) election_lost
5001 (0x00001389) avp_unsupported
5002 (0x0000138a) unknown_session_id
5003 (0x0000138b) authorization_rejected
5004 (0x0000138c) invalid_avp_value
5005 (0x0000138d) missing_avp
5006 (0x0000138e) resources_exceeded
5007 (0x0000138f) contradicting_avps
5008 (0x00001390) avp_not_allowed
5009 (0x00001391) avp_occurs_too_many_times
5010 (0x00001392) no_common_application
5011 (0x00001393) unsupported_version
5012 (0x00001394) unable_to_comply
5013 (0x00001395) invalid_bit_in_header
5014 (0x00001396) invalid_avp_length
5015 (0x00001397) invalid_message_length
5016 (0x00001398) invalid_avp_bit_combo
5017 (0x00001399) no_common_security
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (rebooting)
avps › vendor_specific_application_id › avps › disconnect_cause › value
値 名前
0 (0x00000000) rebooting
1 (0x00000001) busy
2 (0x00000002) do_not_want_to_talk_to_you
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)3 (authorize_authenticate)
avps › vendor_specific_application_id › avps › auth_request_type › value
値 名前
1 (0x00000001) authenticate_only
2 (0x00000002) authorize_only
3 (0x00000003) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (no_state_maintained)
avps › vendor_specific_application_id › avps › auth_session_state › value
値 名前
0 (0x00000000) state_maintained
1 (0x00000001) no_state_maintained
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (authorize_only)
avps › vendor_specific_application_id › avps › re_auth_request_type › value
値 名前
0 (0x00000000) authorize_only
1 (0x00000001) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(64)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (logout)
avps › vendor_specific_application_id › avps › termination_cause › value
値 名前
1 (0x00000001) logout
2 (0x00000002) service_not_provided
3 (0x00000003) bad_answer
4 (0x00000004) administrative
5 (0x00000005) link_broken
6 (0x00000006) auth_expired
7 (0x00000007) user_moved
8 (0x00000008) session_timeout
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (initial_request)
avps › vendor_specific_application_id › avps › cc_request_type › value
値 名前
1 (0x00000001) initial_request
2 (0x00000002) update_request
3 (0x00000003) termination_request
4 (0x00000004) event_request
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (end_user_e164)
avps › vendor_specific_application_id › avps › subscription_id_type › value
値 名前
0 (0x00000000) end_user_e164
1 (0x00000001) end_user_imsi
2 (0x00000002) end_user_sip_uri
3 (0x00000003) end_user_nai
4 (0x00000004) end_user_private
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (not_supported)
avps › vendor_specific_application_id › avps › multiple_services_indicator › value
値 名前
0 (0x00000000) not_supported
1 (0x00000001) supported
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (event_record)
avps › vendor_specific_application_id › avps › accounting_record_type › value
値 名前
1 (0x00000001) event_record
2 (0x00000002) start_record
3 (0x00000003) interim_record
4 (0x00000004) stop_record
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)1
addressipv4192.0.2.1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)2
addressipv62001:db8::1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
avpstlv — PDU の残りすべて[]
タイプ 32 ビット、長さ 24 ビット。
長さはタイプと長さのフィールドも含みます。
値の先頭 1 オクテットはタイプと長さの間にあります。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x00000001) user_namev, m, p, reserved, vendor_id, value
25 (0x00000019) classv, m, p, reserved, vendor_id, value
27 (0x0000001b) session_timeoutv, m, p, reserved, vendor_id, value
33 (0x00000021) proxy_statev, m, p, reserved, vendor_id, value
44 (0x0000002c) accounting_session_idv, m, p, reserved, vendor_id, value
50 (0x00000032) acct_multi_session_idv, m, p, reserved, vendor_id, value
55 (0x00000037) event_timestampv, m, p, reserved, vendor_id, value
85 (0x00000055) acct_interim_intervalv, m, p, reserved, vendor_id, value
258 (0x00000102) auth_application_idv, m, p, reserved, vendor_id, value
259 (0x00000103) acct_application_idv, m, p, reserved, vendor_id, value
262 (0x00000106) redirect_max_cache_timev, m, p, reserved, vendor_id, value
263 (0x00000107) session_idv, m, p, reserved, vendor_id, value
264 (0x00000108) origin_hostv, m, p, reserved, vendor_id, value
265 (0x00000109) supported_vendor_idv, m, p, reserved, vendor_id, value
266 (0x0000010a) vendor_idv, m, p, reserved, vendor_id, value
267 (0x0000010b) firmware_revisionv, m, p, reserved, vendor_id, value
268 (0x0000010c) result_codev, m, p, reserved, vendor_id, value
269 (0x0000010d) product_namev, m, p, reserved, vendor_id, value
270 (0x0000010e) session_bindingv, m, p, reserved, vendor_id, value
272 (0x00000110) multi_round_time_outv, m, p, reserved, vendor_id, value
273 (0x00000111) disconnect_causev, m, p, reserved, vendor_id, value
274 (0x00000112) auth_request_typev, m, p, reserved, vendor_id, value
276 (0x00000114) auth_grace_periodv, m, p, reserved, vendor_id, value
277 (0x00000115) auth_session_statev, m, p, reserved, vendor_id, value
278 (0x00000116) origin_state_idv, m, p, reserved, vendor_id, value
280 (0x00000118) proxy_hostv, m, p, reserved, vendor_id, value
281 (0x00000119) error_messagev, m, p, reserved, vendor_id, value
282 (0x0000011a) route_recordv, m, p, reserved, vendor_id, value
283 (0x0000011b) destination_realmv, m, p, reserved, vendor_id, value
285 (0x0000011d) re_auth_request_typev, m, p, reserved, vendor_id, value
287 (0x0000011f) accounting_sub_session_idv, m, p, reserved, vendor_id, value
291 (0x00000123) authorization_lifetimev, m, p, reserved, vendor_id, value
292 (0x00000124) redirect_hostv, m, p, reserved, vendor_id, value
293 (0x00000125) destination_hostv, m, p, reserved, vendor_id, value
294 (0x00000126) error_reporting_hostv, m, p, reserved, vendor_id, value
295 (0x00000127) termination_causev, m, p, reserved, vendor_id, value
296 (0x00000128) origin_realmv, m, p, reserved, vendor_id, value
298 (0x0000012a) experimental_result_codev, m, p, reserved, vendor_id, value
299 (0x0000012b) inband_security_idv, m, p, reserved, vendor_id, value
415 (0x0000019f) cc_request_numberv, m, p, reserved, vendor_id, value
416 (0x000001a0) cc_request_typev, m, p, reserved, vendor_id, value
444 (0x000001bc) subscription_id_datav, m, p, reserved, vendor_id, value
450 (0x000001c2) subscription_id_typev, m, p, reserved, vendor_id, value
455 (0x000001c7) multiple_services_indicatorv, m, p, reserved, vendor_id, value
461 (0x000001cd) service_context_idv, m, p, reserved, vendor_id, value
480 (0x000001e0) accounting_record_typev, m, p, reserved, vendor_id, value
485 (0x000001e5) accounting_record_numberv, m, p, reserved, vendor_id, value
257 (0x00000101) host_ip_addressv, m, p, reserved, vendor_id, address_family, address; 値が 7 オクテットのとき
257 (0x00000101) host_ip_address_ipv6v, m, p, reserved, vendor_id, address_family, address; 値が 19 オクテットのとき
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)2001 (success)
avps › failed_avp › avps › result_code › value
値 名前
1001 (0x000003e9) multi_round_auth
2001 (0x000007d1) success
2002 (0x000007d2) limited_success
3001 (0x00000bb9) command_unsupported
3002 (0x00000bba) unable_to_deliver
3003 (0x00000bbb) realm_not_served
3004 (0x00000bbc) too_busy
3005 (0x00000bbd) loop_detected
3006 (0x00000bbe) redirect_indication
3007 (0x00000bbf) application_unsupported
3008 (0x00000bc0) invalid_hdr_bits
3009 (0x00000bc1) invalid_avp_bits
3010 (0x00000bc2) unknown_peer
4001 (0x00000fa1) authentication_rejected
4002 (0x00000fa2) out_of_space
4003 (0x00000fa3) election_lost
5001 (0x00001389) avp_unsupported
5002 (0x0000138a) unknown_session_id
5003 (0x0000138b) authorization_rejected
5004 (0x0000138c) invalid_avp_value
5005 (0x0000138d) missing_avp
5006 (0x0000138e) resources_exceeded
5007 (0x0000138f) contradicting_avps
5008 (0x00001390) avp_not_allowed
5009 (0x00001391) avp_occurs_too_many_times
5010 (0x00001392) no_common_application
5011 (0x00001393) unsupported_version
5012 (0x00001394) unable_to_comply
5013 (0x00001395) invalid_bit_in_header
5014 (0x00001396) invalid_avp_length
5015 (0x00001397) invalid_message_length
5016 (0x00001398) invalid_avp_bit_combo
5017 (0x00001399) no_common_security
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (rebooting)
avps › failed_avp › avps › disconnect_cause › value
値 名前
0 (0x00000000) rebooting
1 (0x00000001) busy
2 (0x00000002) do_not_want_to_talk_to_you
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)3 (authorize_authenticate)
avps › failed_avp › avps › auth_request_type › value
値 名前
1 (0x00000001) authenticate_only
2 (0x00000002) authorize_only
3 (0x00000003) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (no_state_maintained)
avps › failed_avp › avps › auth_session_state › value
値 名前
0 (0x00000000) state_maintained
1 (0x00000001) no_state_maintained
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (authorize_only)
avps › failed_avp › avps › re_auth_request_type › value
値 名前
0 (0x00000000) authorize_only
1 (0x00000001) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(64)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (logout)
avps › failed_avp › avps › termination_cause › value
値 名前
1 (0x00000001) logout
2 (0x00000002) service_not_provided
3 (0x00000003) bad_answer
4 (0x00000004) administrative
5 (0x00000005) link_broken
6 (0x00000006) auth_expired
7 (0x00000007) user_moved
8 (0x00000008) session_timeout
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (initial_request)
avps › failed_avp › avps › cc_request_type › value
値 名前
1 (0x00000001) initial_request
2 (0x00000002) update_request
3 (0x00000003) termination_request
4 (0x00000004) event_request
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (end_user_e164)
avps › failed_avp › avps › subscription_id_type › value
値 名前
0 (0x00000000) end_user_e164
1 (0x00000001) end_user_imsi
2 (0x00000002) end_user_sip_uri
3 (0x00000003) end_user_nai
4 (0x00000004) end_user_private
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (not_supported)
avps › failed_avp › avps › multiple_services_indicator › value
値 名前
0 (0x00000000) not_supported
1 (0x00000001) supported
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (event_record)
avps › failed_avp › avps › accounting_record_type › value
値 名前
1 (0x00000001) event_record
2 (0x00000002) start_record
3 (0x00000003) interim_record
4 (0x00000004) stop_record
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)1
addressipv4192.0.2.1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)2
addressipv62001:db8::1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
avpstlv — PDU の残りすべて2 要素
タイプ 32 ビット、長さ 24 ビット。
長さはタイプと長さのフィールドも含みます。
値の先頭 1 オクテットはタイプと長さの間にあります。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x00000001) user_namev, m, p, reserved, vendor_id, value
25 (0x00000019) classv, m, p, reserved, vendor_id, value
27 (0x0000001b) session_timeoutv, m, p, reserved, vendor_id, value
33 (0x00000021) proxy_statev, m, p, reserved, vendor_id, value
44 (0x0000002c) accounting_session_idv, m, p, reserved, vendor_id, value
50 (0x00000032) acct_multi_session_idv, m, p, reserved, vendor_id, value
55 (0x00000037) event_timestampv, m, p, reserved, vendor_id, value
85 (0x00000055) acct_interim_intervalv, m, p, reserved, vendor_id, value
258 (0x00000102) auth_application_idv, m, p, reserved, vendor_id, value
259 (0x00000103) acct_application_idv, m, p, reserved, vendor_id, value
262 (0x00000106) redirect_max_cache_timev, m, p, reserved, vendor_id, value
263 (0x00000107) session_idv, m, p, reserved, vendor_id, value
264 (0x00000108) origin_hostv, m, p, reserved, vendor_id, value
265 (0x00000109) supported_vendor_idv, m, p, reserved, vendor_id, value
266 (0x0000010a) vendor_idv, m, p, reserved, vendor_id, value
267 (0x0000010b) firmware_revisionv, m, p, reserved, vendor_id, value
268 (0x0000010c) result_codev, m, p, reserved, vendor_id, value
269 (0x0000010d) product_namev, m, p, reserved, vendor_id, value
270 (0x0000010e) session_bindingv, m, p, reserved, vendor_id, value
272 (0x00000110) multi_round_time_outv, m, p, reserved, vendor_id, value
273 (0x00000111) disconnect_causev, m, p, reserved, vendor_id, value
274 (0x00000112) auth_request_typev, m, p, reserved, vendor_id, value
276 (0x00000114) auth_grace_periodv, m, p, reserved, vendor_id, value
277 (0x00000115) auth_session_statev, m, p, reserved, vendor_id, value
278 (0x00000116) origin_state_idv, m, p, reserved, vendor_id, value
280 (0x00000118) proxy_hostv, m, p, reserved, vendor_id, value
281 (0x00000119) error_messagev, m, p, reserved, vendor_id, value
282 (0x0000011a) route_recordv, m, p, reserved, vendor_id, value
283 (0x0000011b) destination_realmv, m, p, reserved, vendor_id, value
285 (0x0000011d) re_auth_request_typev, m, p, reserved, vendor_id, value
287 (0x0000011f) accounting_sub_session_idv, m, p, reserved, vendor_id, value
291 (0x00000123) authorization_lifetimev, m, p, reserved, vendor_id, value
292 (0x00000124) redirect_hostv, m, p, reserved, vendor_id, value
293 (0x00000125) destination_hostv, m, p, reserved, vendor_id, value
294 (0x00000126) error_reporting_hostv, m, p, reserved, vendor_id, value
295 (0x00000127) termination_causev, m, p, reserved, vendor_id, value
296 (0x00000128) origin_realmv, m, p, reserved, vendor_id, value
298 (0x0000012a) experimental_result_codev, m, p, reserved, vendor_id, value
299 (0x0000012b) inband_security_idv, m, p, reserved, vendor_id, value
415 (0x0000019f) cc_request_numberv, m, p, reserved, vendor_id, value
416 (0x000001a0) cc_request_typev, m, p, reserved, vendor_id, value
444 (0x000001bc) subscription_id_datav, m, p, reserved, vendor_id, value
450 (0x000001c2) subscription_id_typev, m, p, reserved, vendor_id, value
455 (0x000001c7) multiple_services_indicatorv, m, p, reserved, vendor_id, value
461 (0x000001cd) service_context_idv, m, p, reserved, vendor_id, value
480 (0x000001e0) accounting_record_typev, m, p, reserved, vendor_id, value
485 (0x000001e5) accounting_record_numberv, m, p, reserved, vendor_id, value
257 (0x00000101) host_ip_addressv, m, p, reserved, vendor_id, address_family, address; 値が 7 オクテットのとき
257 (0x00000101) host_ip_address_ipv6v, m, p, reserved, vendor_id, address_family, address; 値が 19 オクテットのとき
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)2001 (success)
avps › proxy_info › avps › result_code › value
値 名前
1001 (0x000003e9) multi_round_auth
2001 (0x000007d1) success
2002 (0x000007d2) limited_success
3001 (0x00000bb9) command_unsupported
3002 (0x00000bba) unable_to_deliver
3003 (0x00000bbb) realm_not_served
3004 (0x00000bbc) too_busy
3005 (0x00000bbd) loop_detected
3006 (0x00000bbe) redirect_indication
3007 (0x00000bbf) application_unsupported
3008 (0x00000bc0) invalid_hdr_bits
3009 (0x00000bc1) invalid_avp_bits
3010 (0x00000bc2) unknown_peer
4001 (0x00000fa1) authentication_rejected
4002 (0x00000fa2) out_of_space
4003 (0x00000fa3) election_lost
5001 (0x00001389) avp_unsupported
5002 (0x0000138a) unknown_session_id
5003 (0x0000138b) authorization_rejected
5004 (0x0000138c) invalid_avp_value
5005 (0x0000138d) missing_avp
5006 (0x0000138e) resources_exceeded
5007 (0x0000138f) contradicting_avps
5008 (0x00001390) avp_not_allowed
5009 (0x00001391) avp_occurs_too_many_times
5010 (0x00001392) no_common_application
5011 (0x00001393) unsupported_version
5012 (0x00001394) unable_to_comply
5013 (0x00001395) invalid_bit_in_header
5014 (0x00001396) invalid_avp_length
5015 (0x00001397) invalid_message_length
5016 (0x00001398) invalid_avp_bit_combo
5017 (0x00001399) no_common_security
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (rebooting)
avps › proxy_info › avps › disconnect_cause › value
値 名前
0 (0x00000000) rebooting
1 (0x00000001) busy
2 (0x00000002) do_not_want_to_talk_to_you
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)3 (authorize_authenticate)
avps › proxy_info › avps › auth_request_type › value
値 名前
1 (0x00000001) authenticate_only
2 (0x00000002) authorize_only
3 (0x00000003) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (no_state_maintained)
avps › proxy_info › avps › auth_session_state › value
値 名前
0 (0x00000000) state_maintained
1 (0x00000001) no_state_maintained
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (authorize_only)
avps › proxy_info › avps › re_auth_request_type › value
値 名前
0 (0x00000000) authorize_only
1 (0x00000001) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(64)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (logout)
avps › proxy_info › avps › termination_cause › value
値 名前
1 (0x00000001) logout
2 (0x00000002) service_not_provided
3 (0x00000003) bad_answer
4 (0x00000004) administrative
5 (0x00000005) link_broken
6 (0x00000006) auth_expired
7 (0x00000007) user_moved
8 (0x00000008) session_timeout
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (initial_request)
avps › proxy_info › avps › cc_request_type › value
値 名前
1 (0x00000001) initial_request
2 (0x00000002) update_request
3 (0x00000003) termination_request
4 (0x00000004) event_request
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (end_user_e164)
avps › proxy_info › avps › subscription_id_type › value
値 名前
0 (0x00000000) end_user_e164
1 (0x00000001) end_user_imsi
2 (0x00000002) end_user_sip_uri
3 (0x00000003) end_user_nai
4 (0x00000004) end_user_private
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (not_supported)
avps › proxy_info › avps › multiple_services_indicator › value
値 名前
0 (0x00000000) not_supported
1 (0x00000001) supported
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (event_record)
avps › proxy_info › avps › accounting_record_type › value
値 名前
1 (0x00000001) event_record
2 (0x00000002) start_record
3 (0x00000003) interim_record
4 (0x00000004) stop_record
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)1
addressipv4192.0.2.1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)2
addressipv62001:db8::1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
avpstlv — PDU の残りすべて2 要素
タイプ 32 ビット、長さ 24 ビット。
長さはタイプと長さのフィールドも含みます。
値の先頭 1 オクテットはタイプと長さの間にあります。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x00000001) user_namev, m, p, reserved, vendor_id, value
25 (0x00000019) classv, m, p, reserved, vendor_id, value
27 (0x0000001b) session_timeoutv, m, p, reserved, vendor_id, value
33 (0x00000021) proxy_statev, m, p, reserved, vendor_id, value
44 (0x0000002c) accounting_session_idv, m, p, reserved, vendor_id, value
50 (0x00000032) acct_multi_session_idv, m, p, reserved, vendor_id, value
55 (0x00000037) event_timestampv, m, p, reserved, vendor_id, value
85 (0x00000055) acct_interim_intervalv, m, p, reserved, vendor_id, value
258 (0x00000102) auth_application_idv, m, p, reserved, vendor_id, value
259 (0x00000103) acct_application_idv, m, p, reserved, vendor_id, value
262 (0x00000106) redirect_max_cache_timev, m, p, reserved, vendor_id, value
263 (0x00000107) session_idv, m, p, reserved, vendor_id, value
264 (0x00000108) origin_hostv, m, p, reserved, vendor_id, value
265 (0x00000109) supported_vendor_idv, m, p, reserved, vendor_id, value
266 (0x0000010a) vendor_idv, m, p, reserved, vendor_id, value
267 (0x0000010b) firmware_revisionv, m, p, reserved, vendor_id, value
268 (0x0000010c) result_codev, m, p, reserved, vendor_id, value
269 (0x0000010d) product_namev, m, p, reserved, vendor_id, value
270 (0x0000010e) session_bindingv, m, p, reserved, vendor_id, value
272 (0x00000110) multi_round_time_outv, m, p, reserved, vendor_id, value
273 (0x00000111) disconnect_causev, m, p, reserved, vendor_id, value
274 (0x00000112) auth_request_typev, m, p, reserved, vendor_id, value
276 (0x00000114) auth_grace_periodv, m, p, reserved, vendor_id, value
277 (0x00000115) auth_session_statev, m, p, reserved, vendor_id, value
278 (0x00000116) origin_state_idv, m, p, reserved, vendor_id, value
280 (0x00000118) proxy_hostv, m, p, reserved, vendor_id, value
281 (0x00000119) error_messagev, m, p, reserved, vendor_id, value
282 (0x0000011a) route_recordv, m, p, reserved, vendor_id, value
283 (0x0000011b) destination_realmv, m, p, reserved, vendor_id, value
285 (0x0000011d) re_auth_request_typev, m, p, reserved, vendor_id, value
287 (0x0000011f) accounting_sub_session_idv, m, p, reserved, vendor_id, value
291 (0x00000123) authorization_lifetimev, m, p, reserved, vendor_id, value
292 (0x00000124) redirect_hostv, m, p, reserved, vendor_id, value
293 (0x00000125) destination_hostv, m, p, reserved, vendor_id, value
294 (0x00000126) error_reporting_hostv, m, p, reserved, vendor_id, value
295 (0x00000127) termination_causev, m, p, reserved, vendor_id, value
296 (0x00000128) origin_realmv, m, p, reserved, vendor_id, value
298 (0x0000012a) experimental_result_codev, m, p, reserved, vendor_id, value
299 (0x0000012b) inband_security_idv, m, p, reserved, vendor_id, value
415 (0x0000019f) cc_request_numberv, m, p, reserved, vendor_id, value
416 (0x000001a0) cc_request_typev, m, p, reserved, vendor_id, value
444 (0x000001bc) subscription_id_datav, m, p, reserved, vendor_id, value
450 (0x000001c2) subscription_id_typev, m, p, reserved, vendor_id, value
455 (0x000001c7) multiple_services_indicatorv, m, p, reserved, vendor_id, value
461 (0x000001cd) service_context_idv, m, p, reserved, vendor_id, value
480 (0x000001e0) accounting_record_typev, m, p, reserved, vendor_id, value
485 (0x000001e5) accounting_record_numberv, m, p, reserved, vendor_id, value
257 (0x00000101) host_ip_addressv, m, p, reserved, vendor_id, address_family, address; 値が 7 オクテットのとき
257 (0x00000101) host_ip_address_ipv6v, m, p, reserved, vendor_id, address_family, address; 値が 19 オクテットのとき
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)2001 (success)
avps › experimental_result › avps › result_code › value
値 名前
1001 (0x000003e9) multi_round_auth
2001 (0x000007d1) success
2002 (0x000007d2) limited_success
3001 (0x00000bb9) command_unsupported
3002 (0x00000bba) unable_to_deliver
3003 (0x00000bbb) realm_not_served
3004 (0x00000bbc) too_busy
3005 (0x00000bbd) loop_detected
3006 (0x00000bbe) redirect_indication
3007 (0x00000bbf) application_unsupported
3008 (0x00000bc0) invalid_hdr_bits
3009 (0x00000bc1) invalid_avp_bits
3010 (0x00000bc2) unknown_peer
4001 (0x00000fa1) authentication_rejected
4002 (0x00000fa2) out_of_space
4003 (0x00000fa3) election_lost
5001 (0x00001389) avp_unsupported
5002 (0x0000138a) unknown_session_id
5003 (0x0000138b) authorization_rejected
5004 (0x0000138c) invalid_avp_value
5005 (0x0000138d) missing_avp
5006 (0x0000138e) resources_exceeded
5007 (0x0000138f) contradicting_avps
5008 (0x00001390) avp_not_allowed
5009 (0x00001391) avp_occurs_too_many_times
5010 (0x00001392) no_common_application
5011 (0x00001393) unsupported_version
5012 (0x00001394) unable_to_comply
5013 (0x00001395) invalid_bit_in_header
5014 (0x00001396) invalid_avp_length
5015 (0x00001397) invalid_message_length
5016 (0x00001398) invalid_avp_bit_combo
5017 (0x00001399) no_common_security
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (rebooting)
avps › experimental_result › avps › disconnect_cause › value
値 名前
0 (0x00000000) rebooting
1 (0x00000001) busy
2 (0x00000002) do_not_want_to_talk_to_you
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)3 (authorize_authenticate)
avps › experimental_result › avps › auth_request_type › value
値 名前
1 (0x00000001) authenticate_only
2 (0x00000002) authorize_only
3 (0x00000003) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (no_state_maintained)
avps › experimental_result › avps › auth_session_state › value
値 名前
0 (0x00000000) state_maintained
1 (0x00000001) no_state_maintained
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (authorize_only)
avps › experimental_result › avps › re_auth_request_type › value
値 名前
0 (0x00000000) authorize_only
1 (0x00000001) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(64)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (logout)
avps › experimental_result › avps › termination_cause › value
値 名前
1 (0x00000001) logout
2 (0x00000002) service_not_provided
3 (0x00000003) bad_answer
4 (0x00000004) administrative
5 (0x00000005) link_broken
6 (0x00000006) auth_expired
7 (0x00000007) user_moved
8 (0x00000008) session_timeout
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (initial_request)
avps › experimental_result › avps › cc_request_type › value
値 名前
1 (0x00000001) initial_request
2 (0x00000002) update_request
3 (0x00000003) termination_request
4 (0x00000004) event_request
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (end_user_e164)
avps › experimental_result › avps › subscription_id_type › value
値 名前
0 (0x00000000) end_user_e164
1 (0x00000001) end_user_imsi
2 (0x00000002) end_user_sip_uri
3 (0x00000003) end_user_nai
4 (0x00000004) end_user_private
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (not_supported)
avps › experimental_result › avps › multiple_services_indicator › value
値 名前
0 (0x00000000) not_supported
1 (0x00000001) supported
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (event_record)
avps › experimental_result › avps › accounting_record_type › value
値 名前
1 (0x00000001) event_record
2 (0x00000002) start_record
3 (0x00000003) interim_record
4 (0x00000004) stop_record
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)1
addressipv4192.0.2.1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)2
addressipv62001:db8::1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
avpstlv — PDU の残りすべて2 要素
タイプ 32 ビット、長さ 24 ビット。
長さはタイプと長さのフィールドも含みます。
値の先頭 1 オクテットはタイプと長さの間にあります。
各項目は 4 オクテットの倍数までゼロで詰めます (長さには含めない)
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x00000001) user_namev, m, p, reserved, vendor_id, value
25 (0x00000019) classv, m, p, reserved, vendor_id, value
27 (0x0000001b) session_timeoutv, m, p, reserved, vendor_id, value
33 (0x00000021) proxy_statev, m, p, reserved, vendor_id, value
44 (0x0000002c) accounting_session_idv, m, p, reserved, vendor_id, value
50 (0x00000032) acct_multi_session_idv, m, p, reserved, vendor_id, value
55 (0x00000037) event_timestampv, m, p, reserved, vendor_id, value
85 (0x00000055) acct_interim_intervalv, m, p, reserved, vendor_id, value
258 (0x00000102) auth_application_idv, m, p, reserved, vendor_id, value
259 (0x00000103) acct_application_idv, m, p, reserved, vendor_id, value
262 (0x00000106) redirect_max_cache_timev, m, p, reserved, vendor_id, value
263 (0x00000107) session_idv, m, p, reserved, vendor_id, value
264 (0x00000108) origin_hostv, m, p, reserved, vendor_id, value
265 (0x00000109) supported_vendor_idv, m, p, reserved, vendor_id, value
266 (0x0000010a) vendor_idv, m, p, reserved, vendor_id, value
267 (0x0000010b) firmware_revisionv, m, p, reserved, vendor_id, value
268 (0x0000010c) result_codev, m, p, reserved, vendor_id, value
269 (0x0000010d) product_namev, m, p, reserved, vendor_id, value
270 (0x0000010e) session_bindingv, m, p, reserved, vendor_id, value
272 (0x00000110) multi_round_time_outv, m, p, reserved, vendor_id, value
273 (0x00000111) disconnect_causev, m, p, reserved, vendor_id, value
274 (0x00000112) auth_request_typev, m, p, reserved, vendor_id, value
276 (0x00000114) auth_grace_periodv, m, p, reserved, vendor_id, value
277 (0x00000115) auth_session_statev, m, p, reserved, vendor_id, value
278 (0x00000116) origin_state_idv, m, p, reserved, vendor_id, value
280 (0x00000118) proxy_hostv, m, p, reserved, vendor_id, value
281 (0x00000119) error_messagev, m, p, reserved, vendor_id, value
282 (0x0000011a) route_recordv, m, p, reserved, vendor_id, value
283 (0x0000011b) destination_realmv, m, p, reserved, vendor_id, value
285 (0x0000011d) re_auth_request_typev, m, p, reserved, vendor_id, value
287 (0x0000011f) accounting_sub_session_idv, m, p, reserved, vendor_id, value
291 (0x00000123) authorization_lifetimev, m, p, reserved, vendor_id, value
292 (0x00000124) redirect_hostv, m, p, reserved, vendor_id, value
293 (0x00000125) destination_hostv, m, p, reserved, vendor_id, value
294 (0x00000126) error_reporting_hostv, m, p, reserved, vendor_id, value
295 (0x00000127) termination_causev, m, p, reserved, vendor_id, value
296 (0x00000128) origin_realmv, m, p, reserved, vendor_id, value
298 (0x0000012a) experimental_result_codev, m, p, reserved, vendor_id, value
299 (0x0000012b) inband_security_idv, m, p, reserved, vendor_id, value
415 (0x0000019f) cc_request_numberv, m, p, reserved, vendor_id, value
416 (0x000001a0) cc_request_typev, m, p, reserved, vendor_id, value
444 (0x000001bc) subscription_id_datav, m, p, reserved, vendor_id, value
450 (0x000001c2) subscription_id_typev, m, p, reserved, vendor_id, value
455 (0x000001c7) multiple_services_indicatorv, m, p, reserved, vendor_id, value
461 (0x000001cd) service_context_idv, m, p, reserved, vendor_id, value
480 (0x000001e0) accounting_record_typev, m, p, reserved, vendor_id, value
485 (0x000001e5) accounting_record_numberv, m, p, reserved, vendor_id, value
257 (0x00000101) host_ip_addressv, m, p, reserved, vendor_id, address_family, address; 値が 7 オクテットのとき
257 (0x00000101) host_ip_address_ipv6v, m, p, reserved, vendor_id, address_family, address; 値が 19 オクテットのとき
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)2001 (success)
avps › subscription_id › avps › result_code › value
値 名前
1001 (0x000003e9) multi_round_auth
2001 (0x000007d1) success
2002 (0x000007d2) limited_success
3001 (0x00000bb9) command_unsupported
3002 (0x00000bba) unable_to_deliver
3003 (0x00000bbb) realm_not_served
3004 (0x00000bbc) too_busy
3005 (0x00000bbd) loop_detected
3006 (0x00000bbe) redirect_indication
3007 (0x00000bbf) application_unsupported
3008 (0x00000bc0) invalid_hdr_bits
3009 (0x00000bc1) invalid_avp_bits
3010 (0x00000bc2) unknown_peer
4001 (0x00000fa1) authentication_rejected
4002 (0x00000fa2) out_of_space
4003 (0x00000fa3) election_lost
5001 (0x00001389) avp_unsupported
5002 (0x0000138a) unknown_session_id
5003 (0x0000138b) authorization_rejected
5004 (0x0000138c) invalid_avp_value
5005 (0x0000138d) missing_avp
5006 (0x0000138e) resources_exceeded
5007 (0x0000138f) contradicting_avps
5008 (0x00001390) avp_not_allowed
5009 (0x00001391) avp_occurs_too_many_times
5010 (0x00001392) no_common_application
5011 (0x00001393) unsupported_version
5012 (0x00001394) unable_to_comply
5013 (0x00001395) invalid_bit_in_header
5014 (0x00001396) invalid_avp_length
5015 (0x00001397) invalid_message_length
5016 (0x00001398) invalid_avp_bit_combo
5017 (0x00001399) no_common_security
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (rebooting)
avps › subscription_id › avps › disconnect_cause › value
値 名前
0 (0x00000000) rebooting
1 (0x00000001) busy
2 (0x00000002) do_not_want_to_talk_to_you
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)3 (authorize_authenticate)
avps › subscription_id › avps › auth_request_type › value
値 名前
1 (0x00000001) authenticate_only
2 (0x00000002) authorize_only
3 (0x00000003) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (no_state_maintained)
avps › subscription_id › avps › auth_session_state › value
値 名前
0 (0x00000000) state_maintained
1 (0x00000001) no_state_maintained
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (authorize_only)
avps › subscription_id › avps › re_auth_request_type › value
値 名前
0 (0x00000000) authorize_only
1 (0x00000001) authorize_authenticate
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(64)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)0
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (logout)
avps › subscription_id › avps › termination_cause › value
値 名前
1 (0x00000001) logout
2 (0x00000002) service_not_provided
3 (0x00000003) bad_answer
4 (0x00000004) administrative
5 (0x00000005) link_broken
6 (0x00000006) auth_expired
7 (0x00000007) user_moved
8 (0x00000008) session_timeout
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (initial_request)
avps › subscription_id › avps › cc_request_type › value
値 名前
1 (0x00000001) initial_request
2 (0x00000002) update_request
3 (0x00000003) termination_request
4 (0x00000004) event_request
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (end_user_e164)
avps › subscription_id › avps › subscription_id_type › value
値 名前
0 (0x00000000) end_user_e164
1 (0x00000001) end_user_imsi
2 (0x00000002) end_user_sip_uri
3 (0x00000003) end_user_nai
4 (0x00000004) end_user_private
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)0 (not_supported)
avps › subscription_id › avps › multiple_services_indicator › value
値 名前
0 (0x00000000) not_supported
1 (0x00000001) supported
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valuebytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueenum(32)1 (event_record)
avps › subscription_id › avps › accounting_record_type › value
値 名前
1 (0x00000001) event_record
2 (0x00000002) start_record
3 (0x00000003) interim_record
4 (0x00000004) stop_record
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
valueuint(32)
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)1
addressipv4192.0.2.1
フィールド 型 既定値 Auto 説明
vuint(1)vendor_id の要素数
muint(1)1
puint(1)0
reserveduint(5)0
vendor_idlist<uint(32)> — v 個の要素
address_familyuint(16)2
addressipv62001:db8::1
レベル 規則
警告 version が 1
エラー ヘッダが 20 オクテット以上
下位レイヤ 判別フィールド 値
tcpdst_port / src_port5060 (0x13c4)
udpdst_port / src_port5060 (0x13c4)
フィールド 型 既定値 Auto 説明
start_linebytes — 終端 0d 0a まで (組み立て時に付加)"OPTIONS sip:bob@example.com SIP/2.0"開始行: リクエスト行(メソッド、Request-URI、SIP/2.0)またはステータス行(SIP/2.0、コード、理由)。CRLF は自動で付く。
headerslist<bytes> — 終端 0d 0a まで (組み立て時に付加)9 要素 ヘッダ行(名前: 値)を 1 要素 1 行で指定。各行の CRLF と直後の空行は自動で付く。Content-Length は手動。
bodybytes — PDU の残りすべて""メッセージ本文(SDP のオファー / アンサーなど)。
sip-invite — templates/protocols/voip/sip-invite.wpg.yaml
sip-register — templates/protocols/voip/sip-register.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port5004 (0x138c)
フィールド 型 既定値 Auto 説明
versionuint(2)2RTP バージョン(2)。
paddinguint(1)0P ビット: ペイロード末尾の詰め物(最後のオクテットがその数、手動)。
xuint(1)header_extension の要素数X ビット: CSRC リストの後に拡張ヘッダが続く(Auto)。
ccuint(4)csrc の要素数CSRC の数(Auto)。
markeruint(1)0マーカービット(プロファイル定義。例: 通話区間の先頭)。
payload_typeenum(7)0 (pcmu)ペイロードタイプ(0 PCMU、8 PCMA、9 G.722、18 G.729、96〜127 動的)。
sequence_numberuint(16)1シーケンス番号。RTP パケットごとに 1 増える。
timestampuint(32)0タイムスタンプ: ペイロード先頭オクテットのサンプリング時刻。
ssrcuint(32)305419896同期送信元識別子。
csrclist<uint(32)> — cc 個の要素[]寄与送信元識別子(最大 15 個)。
header_extensionlist<struct> — x 個の要素[]拡張ヘッダ: プロファイル定義の 16 ビット(0xBEDE: RFC 8285 の 1 バイト要素)、32 ビットワード単位の長さ(Auto)、拡張ワード。
値 名前
0 pcmu
3 gsm
4 g723
8 pcma
9 g722
13 cn
18 g729
96 dynamic_96
101 telephone_event
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
profileuint(16)48862
lengthuint(16)data の要素数
datalist<uint(32)> — length * 4 オクテット
rtp-pcmu — templates/protocols/voip/rtp-pcmu.wpg.yaml
下位レイヤ 判別フィールド 値
udpdst_port / src_port5005 (0x138d)
rtcppacket_type0 (0x00) – 255 (0xff) (残り 4 オクテット以上)
rtcp_srversion2 (残り 4 オクテット以上)
rtcp_rrversion2 (残り 4 オクテット以上)
rtcp_sdesversion2 (残り 4 オクテット以上)
rtcp_byeversion2 (残り 4 オクテット以上)
rtcp_appversion2 (残り 4 オクテット以上)
フィールド 型 既定値 Auto 説明
versionuint(2)2RTCP バージョン(2)。
paddinguint(1)0P ビット: パケット末尾の詰め物(手動)。
countuint(5)0型付けしていないパケットタイプのカウント / フォーマット(5 ビット)。
packet_typeenum(8)205 (rtpfb)パケットタイプ(200 SR、201 RR、202 SDES、203 BYE、204 APP、205 RTPFB、206 PSFB、207 XR)。
lengthuint(16)ヘッダの長さ (32 ビットワード単位) (-1) 32 ビットワード単位のパケット長から 1 を引いた値(Auto)。
bodybytes — グループ先頭から length * 4 + 4 オクテットまで12 34 56 78 00 00 00 00共通ヘッダ以降のパケット本体(オクテット列)。
値 名前
200 (0xc8) sr
201 (0xc9) rr
202 (0xca) sdes
203 (0xcb) bye
204 (0xcc) app
205 (0xcd) rtpfb
206 (0xce) psfb
207 (0xcf) xr
次レイヤは packet_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
下位レイヤ 判別フィールド 値
rtcppacket_type200 (0xc8) (このレイヤを読み直す)
rtcppacket_type0 (0x00) – 255 (0xff) (残り 4 オクテット以上)
rtcp_srversion2 (残り 4 オクテット以上)
rtcp_rrversion2 (残り 4 オクテット以上)
rtcp_sdesversion2 (残り 4 オクテット以上)
rtcp_byeversion2 (残り 4 オクテット以上)
rtcp_appversion2 (残り 4 オクテット以上)
フィールド 型 既定値 Auto 説明
versionuint(2)2RTCP バージョン(2)。
paddinguint(1)0P ビット: パケット末尾の詰め物(手動)。
report_countuint(5)report_blocks の要素数受信レポートの数(Auto)。
packet_typeenum(8)200 (sr)パケットタイプ(200 SR、201 RR、202 SDES、203 BYE、204 APP、205 RTPFB、206 PSFB、207 XR)。
lengthuint(16)ヘッダの長さ (32 ビットワード単位) (-1) 32 ビットワード単位のパケット長から 1 を引いた値(Auto)。
ssrcuint(32)305419896このパケットの送信者の SSRC。
ntp_timestamp_mswuint(32)3942645760NTP タイムスタンプ(上位ワード。次のフィールドが小数部)。
ntp_timestamp_lswuint(32)0
rtp_timestampuint(32)0NTP タイムスタンプに対応する RTP タイムスタンプ。
packet_countuint(32)0送信者のパケット数。
octet_countuint(32)0送信者のペイロードオクテット数。
report_blockslist<struct> — report_count 個の要素[]受信レポートブロック: SSRC、損失率、累積損失数、拡張最大シーケンス番号、ジッタ、LSR、DLSR。
extensionbytes — グループ先頭から length * 4 + 4 オクテットまで""パケット長までのプロファイル固有の拡張オクテット。
値 名前
200 (0xc8) sr
201 (0xc9) rr
202 (0xca) sdes
203 (0xcb) bye
204 (0xcc) app
205 (0xcd) rtpfb
206 (0xce) psfb
207 (0xcf) xr
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ssrcuint(32)2271560481
fraction_lostuint(8)0
cumulative_lostuint(24)0
highest_sequenceuint(32)0
jitteruint(32)0
lsruint(32)0
dlsruint(32)0
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
rtcp-sr-sdes — templates/protocols/voip/rtcp-sr-sdes.wpg.yaml
下位レイヤ 判別フィールド 値
rtcppacket_type201 (0xc9) (このレイヤを読み直す)
rtcppacket_type0 (0x00) – 255 (0xff) (残り 4 オクテット以上)
rtcp_srversion2 (残り 4 オクテット以上)
rtcp_rrversion2 (残り 4 オクテット以上)
rtcp_sdesversion2 (残り 4 オクテット以上)
rtcp_byeversion2 (残り 4 オクテット以上)
rtcp_appversion2 (残り 4 オクテット以上)
フィールド 型 既定値 Auto 説明
versionuint(2)2RTCP バージョン(2)。
paddinguint(1)0P ビット: パケット末尾の詰め物(手動)。
report_countuint(5)report_blocks の要素数受信レポートの数(Auto)。
packet_typeenum(8)201 (rr)パケットタイプ(200 SR、201 RR、202 SDES、203 BYE、204 APP、205 RTPFB、206 PSFB、207 XR)。
lengthuint(16)ヘッダの長さ (32 ビットワード単位) (-1) 32 ビットワード単位のパケット長から 1 を引いた値(Auto)。
ssrcuint(32)305419896このパケットの送信者の SSRC。
report_blockslist<struct> — report_count 個の要素[]受信レポートブロック: SSRC、損失率、累積損失数、拡張最大シーケンス番号、ジッタ、LSR、DLSR。
extensionbytes — グループ先頭から length * 4 + 4 オクテットまで""パケット長までのプロファイル固有の拡張オクテット。
値 名前
200 (0xc8) sr
201 (0xc9) rr
202 (0xca) sdes
203 (0xcb) bye
204 (0xcc) app
205 (0xcd) rtpfb
206 (0xce) psfb
207 (0xcf) xr
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ssrcuint(32)2271560481
fraction_lostuint(8)0
cumulative_lostuint(24)0
highest_sequenceuint(32)0
jitteruint(32)0
lsruint(32)0
dlsruint(32)0
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
下位レイヤ 判別フィールド 値
rtcppacket_type202 (0xca) (このレイヤを読み直す)
rtcppacket_type0 (0x00) – 255 (0xff) (残り 4 オクテット以上)
rtcp_srversion2 (残り 4 オクテット以上)
rtcp_rrversion2 (残り 4 オクテット以上)
rtcp_sdesversion2 (残り 4 オクテット以上)
rtcp_byeversion2 (残り 4 オクテット以上)
rtcp_appversion2 (残り 4 オクテット以上)
フィールド 型 既定値 Auto 説明
versionuint(2)2RTCP バージョン(2)。
paddinguint(1)0P ビット: パケット末尾の詰め物(手動)。
source_countuint(5)chunks の要素数ソースの数: SDES のチャンクまたは BYE の識別子(Auto)。
packet_typeenum(8)202 (sdes)パケットタイプ(200 SR、201 RR、202 SDES、203 BYE、204 APP、205 RTPFB、206 PSFB、207 XR)。
lengthuint(16)ヘッダの長さ (32 ビットワード単位) (-1) 32 ビットワード単位のパケット長から 1 を引いた値(Auto)。
chunkslist<struct> — source_count 個の要素1 要素 SDES チャンク: SSRC / CSRC とその項目(型、長さ(Auto)、テキスト)。null オクテットで終わり、32 ビット境界まで詰める。
値 名前
200 (0xc8) sr
201 (0xc9) rr
202 (0xca) sdes
203 (0xcb) bye
204 (0xcc) app
205 (0xcd) rtpfb
206 (0xce) psfb
207 (0xcf) xr
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
ssrcuint(32)305419896
itemslist<struct> — 終端 00 まで (組み立て時に付加)
paddingpadding(4)
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
typeenum(8)1 (cname)
lengthuint(8)text のオクテット長
textbytes — length オクテット
値 名前
1 (0x01) cname
2 (0x02) name
3 (0x03) email
4 (0x04) phone
5 (0x05) loc
6 (0x06) tool
7 (0x07) note
8 (0x08) priv
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
rtcp-rr-bye — templates/protocols/voip/rtcp-rr-bye.wpg.yaml
rtcp-sr-sdes — templates/protocols/voip/rtcp-sr-sdes.wpg.yaml
下位レイヤ 判別フィールド 値
rtcppacket_type203 (0xcb) (このレイヤを読み直す)
rtcppacket_type0 (0x00) – 255 (0xff) (残り 4 オクテット以上)
rtcp_srversion2 (残り 4 オクテット以上)
rtcp_rrversion2 (残り 4 オクテット以上)
rtcp_sdesversion2 (残り 4 オクテット以上)
rtcp_byeversion2 (残り 4 オクテット以上)
rtcp_appversion2 (残り 4 オクテット以上)
フィールド 型 既定値 Auto 説明
versionuint(2)2RTCP バージョン(2)。
paddinguint(1)0P ビット: パケット末尾の詰め物(手動)。
source_countuint(5)ssrcs の要素数ソースの数: SDES のチャンクまたは BYE の識別子(Auto)。
packet_typeenum(8)203 (bye)パケットタイプ(200 SR、201 RR、202 SDES、203 BYE、204 APP、205 RTPFB、206 PSFB、207 XR)。
lengthuint(16)ヘッダの長さ (32 ビットワード単位) (-1) 32 ビットワード単位のパケット長から 1 を引いた値(Auto)。
ssrcslist<uint(32)> — source_count 個の要素1 要素 セッションを離れる SSRC / CSRC 識別子。
reasonlist<struct> — グループ先頭から length * 4 + 4 オクテットまで[]省略可能な離脱理由: 長さ(Auto)、テキスト、32 ビット境界までの詰め物。
値 名前
200 (0xc8) sr
201 (0xc9) rr
202 (0xca) sdes
203 (0xcb) bye
204 (0xcc) app
205 (0xcd) rtpfb
206 (0xce) psfb
207 (0xcf) xr
各要素は以下のフィールドの組です。
フィールド 型 既定値 Auto 説明
lengthuint(8)text のオクテット長
textbytes — length オクテット
paddingpadding(4)
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
rtcp-rr-bye — templates/protocols/voip/rtcp-rr-bye.wpg.yaml
下位レイヤ 判別フィールド 値
rtcppacket_type204 (0xcc) (このレイヤを読み直す)
rtcppacket_type0 (0x00) – 255 (0xff) (残り 4 オクテット以上)
rtcp_srversion2 (残り 4 オクテット以上)
rtcp_rrversion2 (残り 4 オクテット以上)
rtcp_sdesversion2 (残り 4 オクテット以上)
rtcp_byeversion2 (残り 4 オクテット以上)
rtcp_appversion2 (残り 4 オクテット以上)
フィールド 型 既定値 Auto 説明
versionuint(2)2RTCP バージョン(2)。
paddinguint(1)0P ビット: パケット末尾の詰め物(手動)。
subtypeuint(5)0アプリケーション定義のサブタイプ。
packet_typeenum(8)204 (app)パケットタイプ(200 SR、201 RR、202 SDES、203 BYE、204 APP、205 RTPFB、206 PSFB、207 XR)。
lengthuint(16)ヘッダの長さ (32 ビットワード単位) (-1) 32 ビットワード単位のパケット長から 1 を引いた値(Auto)。
ssrcuint(32)305419896このパケットの送信者の SSRC。
namebytes(4)57 50 47 30名前(ASCII 4 文字)。
databytes — グループ先頭から length * 4 + 4 オクテットまで""アプリケーション依存のデータ(4 オクテットの倍数)。
値 名前
200 (0xc8) sr
201 (0xc9) rr
202 (0xca) sdes
203 (0xcb) bye
204 (0xcc) app
205 (0xcd) rtpfb
206 (0xce) psfb
207 (0xcf) xr
次レイヤは version で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port319 (0x013f)
udpdst_port / src_port320 (0x0140)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)0 (sync)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)0 (sync)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)0メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
databytes — message_length - 34 オクテット00 00 00 00 00 00 00 00 00 00共通ヘッダ以降のメッセージ(メッセージ長まで)をオクテット列で。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
次レイヤは message_type で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。
ptp-generic — templates/protocols/timing/ptp-generic.wpg.yaml
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port319 (0x013f)
ptpmessage_type0 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)0 (sync)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)0 (sync)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)0メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
origin_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
origin_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
tlvstlv — message_length - 44 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port319 (0x013f)
ptpmessage_type1 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)1 (delay_req)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)1 (delay_req)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)127メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
origin_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
origin_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
tlvstlv — message_length - 44 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port319 (0x013f)
ptpmessage_type2 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)2 (pdelay_req)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)5 (other)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)127メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
origin_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
origin_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
reservedbytes(10)00 00 00 00 00 00 00 00 00 00
tlvstlv — message_length - 54 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port319 (0x013f)
ptpmessage_type3 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)3 (pdelay_resp)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)5 (other)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)127メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
request_receipt_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
request_receipt_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
requesting_port_clock_identityuint(64)144116287553929218ポート ID: クロック ID(全ビット 1 = すべてのクロック)。
requesting_port_port_numberuint(16)1ポート ID: ポート番号(0xffff = すべてのポート)。
tlvstlv — message_length - 54 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port320 (0x0140)
ptpmessage_type8 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)8 (follow_up)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)2 (follow_up)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)0メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
precise_origin_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
precise_origin_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
tlvstlv — message_length - 44 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port320 (0x0140)
ptpmessage_type9 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)9 (delay_resp)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)3 (delay_resp)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)0メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
receive_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
receive_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
requesting_port_clock_identityuint(64)144116287553929218ポート ID: クロック ID(全ビット 1 = すべてのクロック)。
requesting_port_port_numberuint(16)1ポート ID: ポート番号(0xffff = すべてのポート)。
tlvstlv — message_length - 54 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port320 (0x0140)
ptpmessage_type10 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)10 (pdelay_resp_follow_up)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)5 (other)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)127メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
response_origin_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
response_origin_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
requesting_port_clock_identityuint(64)144116287553929218ポート ID: クロック ID(全ビット 1 = すべてのクロック)。
requesting_port_port_numberuint(16)1ポート ID: ポート番号(0xffff = すべてのポート)。
tlvstlv — message_length - 54 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port320 (0x0140)
ptpmessage_type11 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)11 (announce)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)5 (other)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)1メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
origin_timestamp_secondsuint(48)0タイムスタンプ: 秒(48 ビット)。
origin_timestamp_nanosecondsuint(32)0タイムスタンプ: ナノ秒(32 ビット)。
current_utc_offsetint(16)37現在の UTC オフセット(秒、TAI - UTC)。
reserveduint(8)0
grandmaster_priority1uint(8)128グランドマスタの優先度(BMCA、小さいほど優先)。
grandmaster_clock_classuint(8)248グランドマスタのクロッククラス(6 = 一次基準に同期、248 = 既定、255 = スレーブ専用)。
grandmaster_clock_accuracyenum(8)254 (unknown)グランドマスタのクロック精度(0x20 = 25 ns 以内 … 0xfe = 不明)。
grandmaster_offset_scaled_log_varianceuint(16)65535グランドマスタの offsetScaledLogVariance。
grandmaster_priority2uint(8)128グランドマスタの優先度(BMCA、小さいほど優先)。
grandmaster_identityuint(64)144116287553929217グランドマスタのクロック ID。
steps_removeduint(16)0グランドマスタと送信元の間のバウンダリクロック数。
time_sourceenum(8)160 (internal_oscillator)グランドマスタの時刻源: 原子時計、GPS、地上波、PTP、NTP、手動設定、その他、内部発振器。
tlvstlv — message_length - 64 オクテット[]TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
値 名前
32 (0x20) within_25ns
33 (0x21) within_100ns
34 (0x22) within_250ns
35 (0x23) within_1us
36 (0x24) within_2_5us
37 (0x25) within_10us
38 (0x26) within_25us
39 (0x27) within_100us
40 (0x28) within_250us
41 (0x29) within_1ms
42 (0x2a) within_2_5ms
43 (0x2b) within_10ms
44 (0x2c) within_25ms
45 (0x2d) within_100ms
46 (0x2e) within_250ms
47 (0x2f) within_1s
48 (0x30) within_10s
49 (0x31) over_10s
254 (0xfe) unknown
値 名前
16 (0x10) atomic_clock
32 (0x20) gps
48 (0x30) terrestrial_radio
64 (0x40) ptp
80 (0x50) ntp
96 (0x60) hand_set
144 (0x90) other
160 (0xa0) internal_oscillator
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port320 (0x0140)
ptpmessage_type12 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)12 (signaling)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)5 (other)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)127メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
target_port_clock_identityuint(64)18446744073709551615ポート ID: クロック ID(全ビット 1 = すべてのクロック)。
target_port_port_numberuint(16)65535ポート ID: ポート番号(0xffff = すべてのポート)。
tlvstlv — message_length - 44 オクテット1 要素 TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
下位レイヤ 判別フィールド 値
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port320 (0x0140)
ptpmessage_type13 (このレイヤを読み直す)
フィールド 型 既定値 Auto 説明
major_sdo_iduint(4)0majorSdoId(IEEE 1588-2008 の transportSpecific)。既定プロファイルは 0、IEEE 802.1AS(gPTP)は 1。
message_typeenum(4)13 (management)メッセージタイプ: 0 Sync、1 Delay_Req、2 Pdelay_Req、3 Pdelay_Resp、8 Follow_Up、9 Delay_Resp、10 Pdelay_Resp_Follow_Up、11 Announce、12 Signaling、13 Management。
minor_versionuint(4)0minorVersionPTP(IEEE 1588-2008 では 0、IEEE 1588-2019 では 1)。
versionuint(4)2versionPTP(2)。
message_lengthuint(16)ヘッダとペイロードの長さ (オクテット単位) TLV を含むメッセージ全体のオクテット長(自動)。
domain_numberuint(8)0ドメイン番号。
minor_sdo_iduint(8)0minorSdoId(IEEE 1588-2008 では予約、0)。
flagsflags(16)0x0フラグ: 1 オクテット目に alternateMaster、twoStep、unicast、プロファイル固有ビット、セキュリティビット、2 オクテット目に leap61、leap59、currentUtcOffsetValid、ptpTimescale、timeTraceable、frequencyTraceable、synchronizationUncertain。
correction_fieldint(64)0補正値(ナノ秒 × 2^16、符号付き)。
message_type_specificuint(32)0メッセージタイプ固有フィールド(IEEE 1588-2008 では予約、0)。
clock_identityuint(64)144116287553929217送信元ポートのクロック ID(EUI-64。MAC アドレスの中央に ff:fe を挟んだ値など)。
port_numberuint(16)1送信元ポートのポート番号。
sequence_iduint(16)0シーケンス ID。Follow_Up / Delay_Resp / Pdelay_Resp は応答先メッセージの値をコピーする。
control_fieldenum(8)4 (management)制御フィールド(IEEE 1588 バージョン 1 互換): 0 Sync、1 Delay_Req、2 Follow_Up、3 Delay_Resp、4 Management、5 その他。
log_message_intervalint(8)127メッセージ間隔(秒)の log2(符号付き。該当しない場合は 0x7f)。
target_port_clock_identityuint(64)18446744073709551615ポート ID: クロック ID(全ビット 1 = すべてのクロック)。
target_port_port_numberuint(16)65535ポート ID: ポート番号(0xffff = すべてのポート)。
starting_boundary_hopsuint(8)1Management メッセージの開始時バウンダリホップ数。
boundary_hopsuint(8)1残りのバウンダリホップ数。
reserveduint(4)0
actionenum(4)0 (get)Management の動作: GET、SET、RESPONSE、COMMAND、ACKNOWLEDGE。
reserved2uint(8)0
tlvstlv — message_length - 48 オクテット1 要素 TLV(16 ビット型、値の 16 ビット長、自動): Management、Management Error Status、Organization Extension、ユニキャストネゴシエーション(Request / Grant / Cancel / Acknowledge Cancel)、Path Trace、Alternate Time Offset Indicator。メッセージ長で終わる。
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
ビット マスク 名前
15 32768 (0x8000) security
14 16384 (0x4000) profile_specific_2
13 8192 (0x2000) profile_specific_1
10 1024 (0x0400) unicast
9 512 (0x0200) two_step
8 256 (0x0100) alternate_master
6 64 (0x0040) synchronization_uncertain
5 32 (0x0020) frequency_traceable
4 16 (0x0010) time_traceable
3 8 (0x0008) ptp_timescale
2 4 (0x0004) current_utc_offset_valid
1 2 (0x0002) leap59
0 1 (0x0001) leap61
値 名前
0 (0x00) sync
1 (0x01) delay_req
2 (0x02) follow_up
3 (0x03) delay_resp
4 (0x04) management
5 (0x05) other
値 名前
0 get
1 set
2 response
3 command
4 acknowledge
タイプ 16 ビット、長さ 16 ビット。
長さは値の部分だけを数えます。
未知のタイプは値をオクテット列のまま保持します。
タイプ値 名前 値のフィールド 説明
1 (0x0001) managementmanagement_id, data_field
2 (0x0002) management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003) organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004) request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005) grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006) cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007) acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008) path_tracepath_sequence
9 (0x0009) alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad
フィールド 型 既定値 Auto 説明
management_idenum(16)8192 (default_data_set)
data_fieldbytes — PDU の残りすべて
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — PDU の残りすべて
値 名前
1 (0x0001) response_too_big
2 (0x0002) no_such_id
3 (0x0003) wrong_length
4 (0x0004) wrong_value
5 (0x0005) not_setable
6 (0x0006) not_supported
65534 (0xfffe) general_error
値 名前
0 (0x0000) null_management
1 (0x0001) clock_description
2 (0x0002) user_description
8192 (0x2000) default_data_set
8193 (0x2001) current_data_set
8194 (0x2002) parent_data_set
8195 (0x2003) time_properties_data_set
8196 (0x2004) port_data_set
8197 (0x2005) priority1
8198 (0x2006) priority2
8199 (0x2007) domain
8200 (0x2008) slave_only
8201 (0x2009) log_announce_interval
8205 (0x200d) log_sync_interval
8213 (0x2015) utc_properties
フィールド 型 既定値 Auto 説明
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — PDU の残りすべて
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
値 名前
0 sync
1 delay_req
2 pdelay_req
3 pdelay_resp
8 follow_up
9 delay_resp
10 pdelay_resp_follow_up
11 announce
12 signaling
13 management
フィールド 型 既定値 Auto 説明
path_sequencelist<uint(64)> — PDU の残りすべて
フィールド 型 既定値 Auto 説明
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)display_name のオクテット長
display_namebytes — display_name_length オクテット
padbytes — PDU の残りすべて
カタログ内にこのプロトコルへ至る下位レイヤはありません。先頭レイヤとして使うか、明示的に積んでください。
フィールド 型 既定値 Auto 説明
modeenum(8)0 (fixed)ペイロードの生成方法: fixed (data をそのまま)、pattern (data を length まで繰り返し)、random (seed から length バイト)、counter (data にパケットごとのカウンタを埋め込み)。
databytes — PDU の残りすべて""ペイロードのオクテット列。fixed では length が 0 以外のとき切り詰め / ゼロ拡張、pattern では繰り返し単位 (空なら 00 01 02 …)。
lengthuint(32)0ペイロード長 (バイト)。0 なら data の長さのまま (fixed / counter)。
seeduint(64)0random モードの擬似乱数のシード。
counter_offsetuint(32)0counter モードで埋め込むカウンタのオクテットオフセット。
counter_widthenum(8)4 (u32)埋め込むカウンタの幅: 4 または 8 バイト (ビッグエンディアン)。
counter_valueuint(64)0ストリーム展開がパケットごとに書き込むカウンタ値 (counter モード)。
値 名前
0 (0x00) fixed
1 (0x01) pattern
2 (0x02) random
3 (0x03) counter
値 名前
4 (0x04) u32
8 (0x08) u64
カタログ内にこのプロトコルへ至る下位レイヤはありません。先頭レイヤとして使うか、明示的に積んでください。
フィールド 型 既定値 Auto 説明
databytes — PDU の残りすべて""フレーム末尾までの生のオクテット列。
clnp-er — templates/protocols/l3/clnp-er.wpg.yaml
clnp-erq — templates/protocols/l3/clnp-erq.wpg.yaml
raw-payload — templates/protocols/payload/raw.wpg.yaml
Status: draft
プロトコルリファレンス はプロトコル定義 IR から自動生成した、プロトコルごとの「フィールド一覧」です。本章はそれを補う手書きのページで、P1 / P2 プロトコル群 (M6、M7) について次をまとめます。各ページの末尾には、扱っているプロトコルの生成ページへのリンクがあります。
どの下位レイヤ・番号から到達するか (デコード時の demux)
Auto で計算されるフィールドと、手動 (Manual) で設定が必要なフィールド
エンジンの表現力の都合で残っている近似・制約
同梱サンプルテンプレート (templates/protocols/)
フィールドごとの説明 (ja/en) は GUI のフィールドエディタと GET /api/protocols に含まれます。制約の一次情報は crates/wpg-protocols/src/ の各モジュール doc で、本章と食い違う場合はそちらが正です。
ページ プロトコル
L2 制御プロトコル LLDP / CDP / STP / LACP・Marker / EAPOL / PPPoE / PPP (LCP, IPCP)
カプセル化・トンネル VXLAN / GRE / NVGRE / MPLS / MPLS-in-UDP / L2TPv2・v3 / GTP-U / Geneve / IP-in-IP
ルーティングプロトコル OSPFv2・v3 / BGP-4 / RIPv1・v2 / RIPng / EIGRP
冗長化 (FHRP) VRRPv2・v3 / HSRPv1・v2 / GLBP
マルチキャスト制御 IGMPv1・v2・v3 / MLDv1・v2 / PIM-SM v2
アプリケーションプロトコル DHCPv4・v6 / DNS / NTP / SNMP / Syslog / RADIUS / TFTP
OSI カプセル化 (P2) 802.2 LLC 0xfe / PPP 0x0023 上の OSI PDU、NSAP 型
CLNP / ES-IS (P2) オプション・セグメンテーション付きの CLNP DT / ER / エコー、ES-IS ESH / ISH / リダイレクト
IS-IS (P2) LAN / P2P Hello、LSP、CSNP / PSNP、主要 TLV とサブ TLV
SCTP (P2) CRC32c 付き共通ヘッダ、バンドルされたチャンク (DATA、INIT、SACK、HEARTBEAT、ABORT、ASCONF、RE-CONFIG など)、パラメータとエラー原因
OSPF Opaque / SR、BGP MP / EVPN (P2) SR の SID 付き OSPFv2 TE / Router Information / Extended Prefix / Extended Link LSA、IPv6・VPN-IPv4 / VPN-IPv6・EVPN の BGP NLRI
LDP / RSVP-TE / BFD (P2) LDP の PDU・メッセージ・TLV (FEC、ラベル、Hello / セッションパラメータ)、RSVP-TE の Path / Resv などとオブジェクト (ERO / RRO、SESSION_ATTRIBUTE、IntServ)、BFD 制御パケットと認証 (Micro-BFD 含む)
SRv6 SRH / SR-MPLS (P2) SRv6 Segment Routing Header (セグメントリスト、Pad / HMAC TLV、最終宛先での上位層チェックサム、IPv4 / IPv6 / Ethernet のカプセル化)、SR-MPLS のラベルスタック (予約ラベル名、SRGB + インデックス、エントロピーラベル)
PTP / ESMC / CFM / R-APS / 802.3ah OAM (P2) Ethernet / UDP 上の PTP メッセージと TLV、SyncE ESMC、Ethernet CFM / Y.1731 (CCM、LB、LT、AIS / LCK、LM / DM / SLM など) と ERPS R-APS、802.3ah OAMPDU
MACsec / GTPv2-C / Diameter / SIP / RTP (P2) MACsec の SecTAG (セキュアデータと ICV は不透明)、GTPv2-C のメッセージと IE (グループ化 IE の Bearer Context)、Diameter のメッセージと AVP (ベンダ固有、グループ化)、SIP の開始行・ヘッダ行・本文、RTP ヘッダと RTCP 複合パケット (SR / RR / SDES / BYE / APP)
ヘッダ + 本体の分割 : OSPF・BGP・IGMP・PIM・ICMPv6 (MLD) のように「共通ヘッダの type で本体の形が変わる」プロトコルは、共通ヘッダと本体を別レイヤとして積みます (例: ospfv2 → ospfv2_hello)。共通ヘッダの type は次のレイヤから Auto で決まるので、通常は本体レイヤを選ぶだけで済みます。
再デコード (re-parse) : 同じ番号・ポートで複数の形がある場合 (VRRPv2/v3、HSRPv1/v2、DHCPv6 リレー、SNMP Trap、TFTP の各 opcode) は、まず代表の定義でデコードし、版数・種別の値を見て別定義に読み直します。ビルド時は目的の定義を直接選んでください。
先頭ニブルによる判別 : MPLS の最下段ラベル、GTP-U、PIM Register の内側パケットは、先頭 4 ビット (4 → IPv4、6 → IPv6) で判別します。
送信元ポートへのフォールバック : UDP / TCP は宛先ポートで判別し、未知なら送信元ポートで判別します。応答方向 (DNS 応答、BGP の受け側など) もデコードできます。
不透明 (opaque) 領域 : 型付けできない部分はバイト列のまま保持します。ビルド時は Hex で値を与え、デコード時もバイト列として表示されます。
$ wpg template lint templates/protocols/routing/*.wpg.yaml
$ wpg render templates/protocols/routing/ospfv2-hello.wpg.yaml -o /tmp/ospf.pcapng
$ tshark -r /tmp/ospf.pcapng -V
すべてのサンプルは crates/wpg-template/tests/samples.rs で lint と render が検査されます。P1 の golden バイトテストは crates/wpg-protocols/tests/p1_*.rs にあり、WPG_TSHARK=1 を付けて実行すると tshark でのデコード (プロトコルが認識され malformed にならないこと) も確認します。
Status: draft
LLDP / CDP / STP / LACP・Marker / EAPOL / PPPoE / PPP の補足です。定義は crates/wpg-protocols/src/l2control.rs、サンプルは templates/protocols/l2/ にあります。
id プロトコル 下位レイヤ サンプル
lldpLLDP (IEEE 802.1AB) ethernet2 EtherType 0x88cclldp.wpg.yaml
cdpCDP dot3 → llc → snap (OUI 0x00000c、PID 0x2000)cdp.wpg.yaml
stpSTP / RSTP / MSTP BPDU dot3 → llc (DSAP/SSAP 0x42)stp.wpg.yaml
lacpLACPDU (Slow Protocols subtype 1) ethernet2 EtherType 0x8809lacp.wpg.yaml
markerMarker / Marker Response (subtype 2) ethernet2 EtherType 0x8809marker.wpg.yaml
eapolEAPOL (IEEE 802.1X) ethernet2 EtherType 0x888eeapol.wpg.yaml
pppoe_discoveryPPPoE Discovery (PADI 〜 PADT) ethernet2 EtherType 0x8863pppoe-discovery.wpg.yaml
pppoe_sessionPPPoE Session ethernet2 EtherType 0x8864pppoe-ppp-lcp.wpg.yaml
ppp / ppp_lcp / ppp_ipcpPPP (LCP / IPCP) pppoe_sessionpppoe-ppp-lcp.wpg.yaml、pppoe-ppp-ipcp.wpg.yaml
cdp.checksum: RFC 1071 のインターネットチェックサム。
eapol.length、pppoe_discovery.length、ppp_lcp.length / ppp_ipcp.length: 後続部分の長さ。
ppp.protocol: 次のレイヤ (LCP / IPCP / IPv4 / IPv6 …) から決まります。
CDP / PPPoE / LCP / IPCP の TLV・オプションの長さ欄。
LLDP の TLV 長は Auto になりません。 LLDP の TLV ヘッダは 7 ビット type + 9 ビット length で、エンジンの TLV 型はオクテット単位の幅しか扱えません。そのため tlvs は { type: uint(7), length: uint(9), value } のリストとして表現され、length は手動です。値を変えたら length も合わせてください。末尾の End TLV (type 0) も明示的に置きます。
CDP のチェックサム は標準のインターネットチェックサムを計算します。Cisco 実装は PDU 長が奇数のとき末尾オクテットを符号拡張する癖があるため、奇数長の PDU では実機と値が一致しません。 TLV を偶数長に揃えるか、チェックサムを手動で設定してください。
STP は IEEE 802.1D の Configuration BPDU (35 オクテット) を正確に型付けします。RSTP / MSTP の拡張部 (Version 1 Length、Version 3 Length、MSTI 構成レコード) は不透明な trailer です。RST BPDU を作るには protocol_version と bpdu_type を設定し、trailer に Version 1 Length (00) を、MST BPDU では以降の MST 部も Hex で与えます。
ブリッジ ID / ルート ID は 2 オクテットの priority (system-id 拡張込み) と 6 オクテットの MAC に分割されています。タイマは 1/256 秒単位です (max_age 20 秒 = 0x1400)。
EAPOL の本体 (type 0 なら EAP パケット) は不透明な body です。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ethernet2 · dot3 · llc · snap · lldp · cdp · stp · lacp · marker · eapol · pppoe_discovery · pppoe_session · ppp · ppp_lcp · ppp_ipcp
Status: draft
VXLAN / GRE / NVGRE / MPLS / MPLS-in-UDP / L2TPv2・v3 / GTP-U / Geneve / IP-in-IP の補足です。定義は crates/wpg-protocols/src/encap.rs、サンプルは templates/protocols/encap/ にあります。
id プロトコル 下位レイヤ 上位レイヤ サンプル
vxlanVXLAN UDP 4789 ethernet2vxlan.wpg.yaml
geneveGeneve UDP 6081 protocol_type で選択geneve.wpg.yaml
greGRE (基本 4 オクテット) IPv4 protocol / IPv6 next header 47 protocol_type (IPv4 / IPv6 / 0x6558 Ethernet / MPLS)gre-ipv4.wpg.yaml
nvgreNVGRE ビルド専用 (IP protocol 47 のデコードは gre) ethernet2nvgre.wpg.yaml
mplsMPLS ラベル 1 段 EtherType 0x8847 / 0x8848、GRE、UDP 6635 (MPLS-in-UDP) s = 0 なら次の mpls、s = 1 なら先頭ニブルで IPv4 / IPv6mpls-ipv4.wpg.yaml、mpls-in-udp.wpg.yaml
l2tpv2L2TPv2 UDP 1701 本体は不透明 l2tpv2.wpg.yaml
l2tpv3L2TPv3 over IP IPv4 protocol 115 本体は不透明 l2tpv3.wpg.yaml
gtpuGTP-U (必須 8 オクテット) UDP 2152 先頭ニブルで IPv4 / IPv6 gtpu-ipv4.wpg.yaml
— IP-in-IP / 6in4 IPv4 protocol 4 → ipv4、41 → ipv6 — ipip.wpg.yaml、6in4.wpg.yaml
IP-in-IP 用の専用プロトコルはありません。ipv4 の上に ipv4 (または ipv6) を積むだけで、外側の protocol は Auto で 4 (41) になります。
gre.protocol_type、geneve.protocol_type: 次のレイヤから決まります。
gtpu.length: GTP-U ヘッダ以降の長さ。
mpls.s (bottom-of-stack): 次のレイヤが mpls なら 0、それ以外なら 1。ラベルを重ねるには mpls レイヤを必要な段数だけ積みます。
外側の UDP 宛先ポート・EtherType・IP protocol は、上に積んだレイヤから Auto で決まります。
GRE のチェックサム / キー / シーケンス番号は対応するフラグが立ったときだけ存在しますが、エンジンには「存在条件付きフィールド」がありません。gre は基本の 4 オクテット (flags + protocol type) のみで、フラグを立てても追加フィールドは生成されません。キー付き GRE の代表例である NVGRE には専用の nvgre (Key ビット既定オン、vsid + flow_id) を使ってください。nvgre はビルド専用で、受信したパケットを解析すると gre としてデコードされ、キーの 4 オクテットは内側フレームの先頭として誤って読まれます。それ以外のオプションが必要な場合は、gre の直後に raw レイヤで値を置き、フラグを手動で立てます。
MPLS 疑似ワイヤ : 最下段ラベルの下はペイロードの先頭ニブルで判別します (4 → IPv4、6 → IPv6)。コントロールワードや Ethernet 疑似ワイヤには判別できる印がないため、デコードでは raw になります。ビルド時は ethernet2 を明示的に積んでください。
GTP-U の任意フィールド (シーケンス番号、N-PDU 番号、拡張ヘッダ。E/S/PN フラグで存在) は表現されません。
Geneve のオプションはヘッダが 3 ビットのフラグ + 5 ビット長と 1 オクテット未満の幅を含むため、opt_len で大きさが決まる不透明な options 領域です。
L2TPv2 / v3 のヘッダは種別 (制御 / データ) とフラグで存在するフィールドが大きく変わるため、本体は不透明なバイト列です。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ethernet2 · ipv4 · ipv6 · vxlan · gre · nvgre · mpls · gtpu · geneve · l2tpv2 · l2tpv3 · raw
Status: draft
OSPFv2 / OSPFv3 / BGP-4 / RIPv1・v2 / RIPng / EIGRP の補足です。定義は crates/wpg-protocols/src/routing.rs、サンプルは templates/protocols/routing/ にあります。OSPFv2 の Opaque LSA / Segment Routing と BGP マルチプロトコル NLRI (IPv6、VPN、EVPN) は OSPF Opaque / SR、BGP MP / VPN / EVPN のページで説明します。
id プロトコル 下位レイヤ サンプル
ospfv2 + 本体OSPFv2 (RFC 2328) IPv4 protocol 89 ospfv2-hello / -dbd / -lsr / -lsu-* / -lsack (Opaque LSA: ospfv2-lsu-te-lsa、-ri-sr、-ext-prefix-sr、-ext-link-sr)
ospfv3 + 本体OSPFv3 (RFC 5340) IPv6 next header 89 ospfv3-hello / -dbd / -lsr / -lsu-* / -lsack
bgp + 本体BGP-4 TCP 179 (宛先、なければ送信元) bgp-open / -update / -keepalive / -notification / -route-refresh、bgp-update-mp-ipv6 / -vpnv4 / -evpn
ripRIPv1 / v2 UDP 520 ripv1-request、ripv2-response
ripngRIPng UDP 521 ripng-response
eigrpEIGRP (基本 TLV) IP protocol 88 (IPv4 / IPv6) eigrp-hello、eigrp-update
OSPF と BGP は「共通ヘッダ + 本体」の 2 レイヤ (LSU はさらに LSA ヘッダ + LSA 本体) です。
ipv4 / ospfv2 / ospfv2_hello
ipv4 / ospfv2 / ospfv2_lsu / ospfv2_lsa / ospfv2_router_lsa
ipv4 / ospfv2 / ospfv2_lsu / ospfv2_opaque_lsa / ospfv2_ri_lsa # LS タイプ 9 / 10 / 11
ipv6 / ospfv3 / ospfv3_lsu / ospfv3_lsa / ospfv3_intra_area_prefix_lsa
ipv4 / tcp / bgp / bgp_update
ipv4 / tcp / bgp # KEEPALIVE はヘッダのみ (type 4 が既定)
OSPF ヘッダの type、packet_length、checksum。OSPFv3 のチェックサムは IPv6 疑似ヘッダ込みで正確です。
LSA ヘッダの ls_type、length、ls_checksum (Fletcher、LS age を除外。どの age でも正確)。
Router-LSA の num_links。
BGP ヘッダの length、type。OPEN の opt_params_length。UPDATE の withdrawn_routes_length と total_path_attribute_length。255 オクテットを超えるパス属性の Extended Length フラグ。
EIGRP の checksum。
ospfv2_lsu.num_lsas / ospfv3_lsu の LSA 数 (1 LSU に型付き LSA は 1 つなので通常 1)。
DBD / LSAck の中に並ぶ LSA ヘッダの ls_checksum。
OSPFv2 の認証 : チェックサムは 64 ビットの認証フィールドを除いて計算するため、認証なし・平文パスワードでは正確です。暗号認証 (AuType 2) ではチェックサムを 0 に手動設定してください (ビルダーでは「不正なパケットを許可」をオンにすると上書きできます)。パケット後ろの暗号認証トレーラは表現されません。
1 LSU に型付き LSA は 1 つ : 繰り返しレイヤの仕組みがないため、型付きの LSA 本体の後ろに別の LSA は続けられません。
本体を共有する LS タイプ : OSPFv2 の 3 / 4 と 5 / 7、OSPFv3 の 0x4005 / 0x2007 は本体の形が同じため、Auto では前者のタイプになります。後者にするには ls_type を手動で設定します (next-protocol 不一致の警告が出ますが送出は可能です)。
OSPFv2 の TOS エントリ (Router-LSA の num_tos > 0、Summary / External の TOS メトリック) と、OSPFv3 のプレフィックスリストは型付けされず、不透明な prefixes / address_prefix オクテットです。
BGP の経路 (NLRI / 取り下げ経路) は {length, prefix} のリストです (長さはビット単位、プレフィックスは ceil(長さ / 8) オクテット)。16 進文字列もそのままのオクテット列として受け付けます。
BGP の経路属性 は 16 ビット type (flags << 8 | type code) の TLV です。長さは 8 ビット、Extended Length フラグ (0x10) 付きなら 16 ビットで、フラグは 255 オクテットを超えると自動で付き、type を明示した場合はその形式を保ちます。AS_PATH / AGGREGATOR は 4 オクテット AS 番号 (RFC 6793) です。拡張オプションパラメータ (RFC 9072) は未対応です。
BGP はセグメントごとに先頭の 1 メッセージだけをデコードします。
EIGRP の経路 TLV の宛先は ceil(prefix_length / 8) オクテットの可変長のため、TLV 値の末尾までを destination オクテットとして保持します。複数宛先の TLV はその 1 フィールドにまとまります。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ospfv2 · ospfv3 · ospfv3_lsu · bgp · rip · ripng · eigrp
Status: draft
VRRPv2・v3 / HSRPv1・v2 / GLBP の補足です。定義は crates/wpg-protocols/src/fhrp.rs、サンプルは templates/protocols/fhrp/ にあります。
id プロトコル 下位レイヤ サンプル
vrrpv3VRRPv3 (IPv4 アドレス) IPv4 protocol 112 vrrpv3.wpg.yaml
vrrpv2VRRPv2 IPv4 protocol 112 (version = 2 で読み直し) vrrpv2.wpg.yaml
vrrpv3_ipv6VRRPv3 (IPv6 アドレス) IPv6 next header 112 vrrpv3-ipv6.wpg.yaml
hsrpHSRPv1 UDP 1985 hsrpv1.wpg.yaml
hsrpv2HSRPv2 UDP 1985 (先頭オクテット 1 で読み直し)、UDP 2029 (IPv6) hsrpv2.wpg.yaml
glbpGLBP (基本) UDP 3222 glbp.wpg.yaml
VRRP の checksum (v2 はインターネットチェックサム、v3 は IP 疑似ヘッダ込み) とアドレス数 (count_ip_addrs / count_ipvx_addrs)。
VRRPv2 と v3 は同じ IP protocol 112 で、版数ニブルでしか区別できません。デコードはまず vrrpv3 で行い、version が 2 なら vrrpv2 として読み直します。ビルド時は目的の定義を選んでください。
VRRPv3 のアドレス種別 は外側の IP の版で決まりますが、下位レイヤからフィールドの大きさを決める仕組みがないため、vrrpv3 (IPv4) と vrrpv3_ipv6 (IPv6) の 2 定義に分かれています。
HSRPv1 と v2 は同じ UDP 1985 を使います。先頭オクテットが v1 では版数 (0)、v2 では最初の TLV の type (1 = Group State) なので、hsrp でデコードして 1 なら hsrpv2 として読み直します。HSRPv2 の 16 オクテットの仮想アドレスは ip_version によって IPv4 (ゼロ詰め) か IPv6 になるため、不透明な bytes(16) です。
GLBP は非公開仕様のため、型付けされているのは Hello TLV (IPv4 仮想アドレス) のみです。Request/Response と Authentication TLV は値のオクテットをそのまま保持します。
認証は平文のみ型付けされています: VRRPv2 の auth_data (8 オクテット)、HSRPv1 の auth_data と HSRPv2 の Text Authentication TLV (どちらも既定 cisco)。HSRPv2 の MD5 認証 TLV は値のオクテットのままで、ダイジェストは自動計算されません。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
vrrpv2 · vrrpv3 · vrrpv3_ipv6 · hsrp · hsrpv2 · glbp
Status: draft
IGMPv1・v2・v3 / MLDv1・v2 / PIM-SM v2 の補足です。定義は crates/wpg-protocols/src/mcast.rs、サンプルは templates/protocols/mcast/ にあります。
id プロトコル 下位レイヤ サンプル
igmp + igmpv2IGMPv1 / v2 (クエリ、レポート、Leave) IPv4 protocol 2 igmpv2-query.wpg.yaml
igmp + igmpv3_queryIGMPv3 クエリ IPv4 protocol 2、type 0x11 で残り 8 オクテット以上 igmpv3-query.wpg.yaml
igmp + igmpv3_reportIGMPv3 レポート IPv4 protocol 2、type 0x22 igmpv3-report.wpg.yaml
icmpv6 + mldMLDv1 (クエリ、レポート、Done) ICMPv6 type 130 / 131 / 132 mldv1-query.wpg.yaml
icmpv6 + mldv2_queryMLDv2 クエリ ICMPv6 type 130 で残り 24 オクテット以上 mldv2-query.wpg.yaml
icmpv6 + mldv2_reportMLDv2 レポート ICMPv6 type 143 mldv2-report.wpg.yaml
pim + pim_hello / pim_join_prunePIM-SM v2 IPv4 protocol 103 pim-hello.wpg.yaml、pim-join-prune.wpg.yaml
pim_registerPIM Register (単独定義) ビルド時に選択 (デコードは pim) pim-register.wpg.yaml
IGMP と PIM は ICMPv6 と同じく「共通ヘッダ (type、チェックサム) + 本体」の 2 レイヤで、ヘッダの type は本体から Auto で決まります。MLD の本体は icmpv6 の上に積みます。
ipv4 / igmp / igmpv3_report
ipv6 / ipv6_hopopts / icmpv6 / mldv2_report
ipv4 / pim / pim_join_prune
ipv4 / pim_register / ipv4 / udp / payload
IGMP / PIM ヘッダの type と checksum。MLD のチェックサムは icmpv6 が IPv6 疑似ヘッダ込みで計算します。
件数: IGMPv3 / MLDv2 クエリの num_sources、レポートの num_group_records / num_records、グループレコード内の num_sources、PIM Join/Prune の num_groups / num_joined / num_pruned。リストの要素を増減するだけで合います。
pim_register.checksum: PIM ヘッダ + Register フラグの 8 オクテットだけを対象に計算します (RFC 7761)。
v2 と v3 のクエリ は長さでしか区別できないため、残りの長さが IGMPv3 で 8 オクテット以上、MLDv2 で 24 オクテット以上なら v3 / v2 のクエリとしてデコードし、それより短ければ igmpv2 / mld としてデコードします。
PIM Register のチェックサムは内側のパケットを含まないため、PIM ヘッダを繰り返した単独定義 pim_register になっています。IP protocol 103 は pim としてデコードされるので、受信した Register の本体は raw になります。内側のパケットは先頭ニブルで IPv4 / IPv6 を判別します。
PIM over IPv6 はチェックサムに IPv6 疑似ヘッダが必要ですが、チェックサムの種類を下位レイヤで切り替えられないため、pim は IPv4 からのみ到達し、通常のインターネットチェックサムを使います。
PIM のエンコード済みアドレスは IPv4 (アドレスファミリ 1) のみ型付けされています。
IGMP / MLD はルータアラートオプションを必要とします。サンプルは ipv4 の options / ipv6_hopopts に Router Alert を入れてあります。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ipv4 · ipv6_hopopts · icmpv6 · igmp · igmpv2 · igmpv3_query · igmpv3_report · mld · mldv2_query · mldv2_report · pim · pim_hello · pim_join_prune · pim_register · raw
Status: draft
DHCPv4 / DHCPv6 / DNS / NTP / SNMP / Syslog / RADIUS / TFTP の補足です。定義は crates/wpg-protocols/src/app.rs、サンプルは templates/protocols/app/ にあります。
すべて UDP のポートで判別します。宛先ポートが未知なら送信元ポートで判別するので、既知ポートから一時ポートへの応答 (DNS / SNMP / RADIUS の応答など) もデコードできます。
id プロトコル UDP ポート サンプル
dhcpv4DHCPv4 (リレーエージェント情報を含む) 67 / 68 dhcpv4-discover、dhcpv4-relay
dhcpv6 / dhcpv6_relayDHCPv6 / Relay-Forward・Relay-Reply 546 / 547 dhcpv6-solicit、dhcpv6-relay-forward
dnsDNS 53 dns-query、dns-response
ntpNTP (RFC 5905 の時刻パケット) 123 ntp-client
snmp + snmp_pdu / snmp_trapSNMP v1 / v2c 161 / 162 snmp-get-request、snmp-trap-v1
syslogSyslog 514 syslog
radiusRADIUS 1812 / 1813 radius-access-request
tftp + tftp_data / tftp_ack / tftp_error / tftp_oackTFTP 69 tftp-rrq / -data / -ack / -error / -oack
radius.length。
SNMP の msg_length / pdu_length (BER 短形式)。
DHCPv4 / DHCPv6 / RADIUS のオプション・属性の長さ欄。
DNS の qdcount / ancount / nscount / arcount。セクション部分は不透明なので、件数はセクションの内容に合わせて設定します。
SNMP の community_length (コミュニティ文字列を変えたら合わせます)。
RADIUS の authenticator (Response Authenticator) と Message-Authenticator 属性。どちらも共有シークレットを使う MD5 / HMAC-MD5 で、鍵付きダイジェストの自動計算はありません。Access-Request の Request Authenticator は乱数なので任意の 16 オクテットで構いません。
DNS : 名前は長さ付きラベルの列 + 終端の 0 オクテットで、各セクションはヘッダの件数で大きさが決まります。エンジンのリスト型には終端停止も件数駆動の長さもないため、12 オクテットのヘッダだけを型付けし、セクション (質問・回答・権威・追加) は 1 つの不透明な sections 領域です。既定値は example.com A/IN の質問です。名前圧縮ポインタもそのままバイト列として書きます。
SNMP は BER エンコードの ASN.1 で、事前にエンコードされた tag / length / value の固定レイアウトとして表現しています。BER の 短形式長 (内容が 128 オクテット未満) のみ対応し、長形式 (0x81 nn、0x82 nn nn) は扱えません。構造化タグの入れ子は固定の深さ (varbind リスト → varbind → 値) です。PDU 種別は PDU の中でしか分からないため、snmp は既定で snmp_pdu に続き、v1 Trap タグ (0xa4) なら snmp_trap として読み直します。
DHCPv6 の Relay-Forward / Relay-Reply (msg-type 12 / 13) はクライアント・サーバのメッセージと固定部の形が違うため、dhcpv6 でデコードしてから dhcpv6_relay に読み直します。Relay Message オプション内のメッセージは 1 段だけ型付けされます。
TFTP : RRQ / WRQ のファイル名・モード・オプションと、エラーメッセージは NUL 終端文字列として型付けされています。DATA / ACK / ERROR / OACK は opcode による読み直しで tftp_data などに分かれます。転送本体は両端とも一時ポート (TID) 同士で行われるため、ポート 69 以外のパケットは UDP の後ろが raw としてデコードされます。
NTP の制御メッセージ (mode 6) とプライベートメッセージ (mode 7) は別レイアウトのため対象外です。拡張フィールドと MAC は不透明な extensions です。
Syslog は自由テキストで、1 つの不透明な message です。RFC 5424 / RFC 3164 いずれの形式でも、文字列をそのまま与えてください。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
dhcpv4 · dhcpv6 · dhcpv6_relay · dns · ntp · snmp · snmp_pdu · snmp_trap · syslog · radius · tftp · tftp_data · tftp_ack · tftp_error · tftp_oack · raw
Status: draft
CLNP / ES-IS / IS-IS に共通する OSI ネットワーク層のカプセル化と、NSAP アドレス型の補足です (M7)。定義は crates/wpg-protocols/src/osi.rs、サンプルは templates/protocols/l2/dot3-llc-osi.wpg.yaml にあります。
下位レイヤ 選択子 上位レイヤ
llcDSAP / SSAP 0xfe PDU 先頭の NLPID オクテットで判別
pppprotocol 0x0023 (RFC 1377) 同上
OSI の PDU の前には「次は何か」を示す番号がなく、PDU 自身の先頭オクテット NLPID (ISO/IEC TR 9577) が種類を表します (0x81 CLNP、0x82 ES-IS、0x83 IS-IS)。そのため llc と ppp はペイロードの先頭 8 ビットを覗いて (Binding::peek) 次のレイヤを決めます。専用の定義はこの peek の表に登録されています: CLNP (0x81) と ES-IS (0x82) は CLNP / ES-IS 、IS-IS (0x83) は IS-IS を参照。それ以外の NLPID (ISO 8473 の非活性サブセット 0x00 など) と、定義に対して短すぎる PDU は汎用 PDU osi (NLPID + 残りの不透明なバイト列) としてデコードされます。
ビルド時は llc の上に osi または専用 PDU (clnp、esis_ish、isis_l1_lan_hello など) を積むだけで、DSAP / SSAP は Auto で 0xfe になります。PPP の protocol も同様に Auto で 0x0023 になります。
nsap 型の値はアドレス本体 (1..=20 オクテット) で、ワイヤ上では OSI の慣例どおり 1 オクテットの長さ指示子が前に付きます。長さ指示子は合成時に自動で書かれ、解析時に読まれます。
表記は 49.0001.1921.6800.1001.00 のような 16 進 (. と空白は無視、0x 接頭辞可)。
GUI のフィールドエディタは入力中の NSAP を AFI / エリア / System ID (6 オクテット) / NSEL に分解して表示します (8 オクテット未満のアドレスは分解しません)。
ジェネレータ range は System ID 部分を増分します (例 49.0001.1921.6800.1001.00-49.0001.1921.6800.1004.00)。
osi の NLPID は Auto ではありません。
NLPID 0x81 / 0x82 / 0x83 の PDU は (十分な長さがあれば) 常に CLNP / ES-IS / IS-IS としてデコードされるため、これらを載せた汎用 osi レイヤは専用のプロトコルとして読み戻されます。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
llc · ppp · osi · clnp · esis_ish · isis_l1_lan_hello
Status: draft
CLNP (ISO 8473-1) と ES-IS (ISO 9542) の補足です (M7)。定義は crates/wpg-protocols/src/clnp.rs、サンプルは templates/protocols/l3/clnp-*.wpg.yaml と templates/protocols/routing/esis-*.wpg.yaml にあります。どちらも OSI カプセル化 の上に直接載ります。
id PDU サンプル
clnpCLNP の全 PDU 種別: DT (0x1c)、MD (0x1d)、ER (0x01)、ERQ / ERP (0x1e / 0x1f) clnp-dt (セグメンテーション部)、clnp-er (破棄理由)、clnp-erq (優先度、ソースルーティング)
esis_eshES-IS エンドシステム Hello (2) esis-esh
esis_ishES-IS 中間システム Hello (4) esis-ish (ES 設定タイマ)
esis_rdES-IS リダイレクト (6) esis-rd
esis任意の ES-IS PDU: 固定部 + 不透明なオクテット列 esis-generic
dot3 / llc / clnp / payload # トランスポート PDU を運ぶ DT
dot3 / llc / clnp / raw # 破棄した PDU のヘッダを運ぶ ER
dot3 / llc / esis_esh # 宛先 09:00:2b:00:00:05 (AllIntermediateSystems)
dot3 / llc / esis_ish # 宛先 09:00:2b:00:00:04 (AllEndSystems)
ppp / clnp / payload # PPP protocol 0x0023
LLC の DSAP / SSAP (0xfe) と PPP の protocol (0x0023) は Auto です。解析時は NLPID 0x81 で clnp、0x82 で汎用 esis が選ばれ、esis は pdu_type に応じて専用 PDU として読み直されます (未知の種別は esis のまま)。固定部より短い PDU (CLNP 11 オクテット、ES-IS 9 オクテット未満) は汎用 osi としてデコードされます。
clnp レイヤはヘッダだけです。データ (DT: トランスポート PDU、ER: 破棄した PDU のヘッダ、ERQ / ERP: エコーする PDU) は次のレイヤ (通常 payload か raw) に置きます。
フィールド 規則
length_indicatorヘッダ長 (オクテット)。CLNP はオプションの終わりまで、ES-IS は PDU 全体
segment_length (CLNP)PDU 全体 (ヘッダ + データ) の長さ
checksumヘッダ (CLNP) / PDU (ES-IS) の ISO 8473 Fletcher チェックサム。Manual の 0 は「チェックサム不使用」で、そのまま送出され Auto との不一致として報告されます (計算値が 0 になることはありません)
sp (CLNP)segmentation に要素があれば 1、なければ 0
number_of_source_addresses (ESH)source_addresses の数
bsnpa_length (RD)bsnpa のサイズ
CLNP のセグメンテーション部は {data_unit_identifier, segment_offset, total_length} を最大 1 個持つリストです。total_length (セグメント化前の PDU 長) は計算しません。
- protocol: clnp
fields:
segmentation:
- { data_unit_identifier: 1, segment_offset: 0, total_length: 69 }
オプションはアドレス (とセグメンテーション部) の後ろに並ぶ {コード, 長さ, 値} で、length_indicator の位置で終わります (Length::UntilOffset)。アドレスが可変長でも、ヘッダより後ろは次のレイヤになります。
コード 名前 (name) 値のフィールド 対象
0xc5securityvalue (オクテット列)CLNP、ES-IS
0xc3qos_maintenancevalue (オクテット列)CLNP、ES-IS
0xcdpriorityvalueCLNP、ES-IS
0xc8 / 0xcbsource_routing / recording_of_routeroute_type (partial / complete)、next_address、addresses: {address} のリストCLNP
0xccpaddingdataCLNP
0xc1reason_for_discardreason (destination_unknown、lifetime_expired_in_transit など)、pointerCLNP (ER)
0xe1 / 0xe2address_mask / snpa_maskmaskES-IS
0xc6es_configuration_timersecondsES-IS (ISH)
その他のオプションは { type: N, data: "..." } として保持されます。
セグメンテーション部の total_length は計算せず、大きな PDU を複数フレームに分割 / 再構成する機能もありません。
セキュリティ / QoS 維持の値はオクテット列で、グローバル一意 / 送信元アドレス固有などの形式は分解しません。
リダイレクトのサブネットワークアドレス (bsnpa) はオクテット列です (MAC アドレスは 6 オクテット: "02 00 00 00 00 02")。net を空 ("") にするとエンドシステムへのリダイレクトになります。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
osi · clnp · esis · esis_esh · esis_ish · esis_rd · payload · raw
Status: draft
IS-IS (ISO/IEC 10589、RFC 1195 と下記の TLV 関連 RFC) の補足です (M7)。定義は crates/wpg-protocols/src/isis.rs、サンプルは templates/protocols/routing/isis-*.wpg.yaml にあります。IS-IS は OSI カプセル化 の上で直接動作します。
id PDU (種別) サンプル
isis_l1_lan_hello / isis_l2_lan_helloLAN Hello L1 (15) / L2 (16) isis-l1-lan-hello (パディングあり)、isis-l2-lan-hello
isis_p2p_helloポイントツーポイント Hello (17) isis-p2p-hello (3-way 隣接、パディングあり)
isis_l1_lsp / isis_l2_lspLSP L1 (18) / L2 (20) isis-l1-lsp (ナローメトリック)、isis-l2-lsp (ワイドメトリック・TE・SR)
isis_l1_csnp / isis_l2_csnpCSNP L1 (24) / L2 (25) isis-l1-csnp、isis-l2-csnp
isis_l1_psnp / isis_l2_psnpPSNP L1 (26) / L2 (27) isis-l1-psnp、isis-l2-psnp
isis任意の PDU: 共通ヘッダ + 不透明なバイト列 isis-generic
各 PDU は 1 レイヤで、8 オクテットの共通ヘッダ、PDU 固有の固定フィールド、TLV から成ります。
dot3 / llc / isis_l1_lan_hello # 宛先 01:80:c2:00:00:14 (AllL1ISs)、L2 は ...:15
dot3 / llc / isis_p2p_hello # Ethernet では 09:00:2b:00:00:05 (AllISs)
ppp / isis_l2_lsp # PPP protocol 0x0023
LLC の DSAP / SSAP (0xfe) と PPP の protocol (0x0023) は Auto です。解析時は NLPID 0x83 で汎用の isis が選ばれ、その pdu_type でレイヤが専用 PDU として読み直されます。未知の PDU 種別は isis のままです。
フィールド 規則
pdu_lengthPDU 全体の長さ
LSP の checksum LSP ID から PDU 末尾までの ISO 8473 Fletcher チェックサム。LSP ID より前のフィールド (共通ヘッダ・PDU 長・残り寿命) は除外されるので、寿命の値によらず正しい
Hello のパディング Hello の pdu_length を Manual にすると、PDU がちょうどその長さになるまで Padding TLV (種別 8、1 つ最大 255 オクテット) を追加します。例: Ethernet MTU 1500 なら LLC ヘッダ 3 オクテットを引いて pdu_length: 1497。Auto ならパディングしません。不足分が TLV で作れない (1 オクテット) 場合は警告が出ます
sub_tlvs_length (拡張 IS / IP / IPv6 到達性)続く sub_tlvs のサイズ
sub_tlvs_present (TLV 135 / 236 の S ビット)エントリに sub_tlv_block があれば 1、なければ 0
header_length は PDU 種別ごとの定数 (27 / 20 / 33 / 17) で、Auto ではなく既定値を持ちます。変更すると警告が出ます。
コード 名前 (name) 値のフィールド
1 area_addressesaddresses: {address} のリスト (NSAP、例 49.0001)
2 is_reachabilityvirtual_flag、neighbors: {default_metric, delay_metric, expense_metric, error_metric, neighbor_id}
6 is_neighborsneighbors: MAC のリスト
8 paddingdata
9 lsp_entriesentries: {remaining_lifetime, lsp_id, sequence_number, checksum}
10 authenticationauth_type (cleartext / hmac_md5)、value
22 extended_is_reachabilityneighbors: {neighbor_id, metric, sub_tlvs_length, sub_tlvs}
128 / 130 ip_internal_reachability / ip_external_reachabilityprefixes: {4 種のメトリック, ip_address, subnet_mask}
129 protocols_supportednlpids (ipv4、ipv6、clnp)
132 ip_interface_addressesaddresses
134 te_router_idrouter_id
135 extended_ip_reachabilityprefixes: {metric, up_down, sub_tlvs_present, prefix_length, prefix, sub_tlv_block}
137 dynamic_hostnamehostname
232 ipv6_interface_addressesaddresses
236 ipv6_reachabilityprefixes: {metric, up_down, external, sub_tlvs_present, prefix_length, prefix, sub_tlv_block}
240 p2p_adjacency_stateadjacency_state、extended_local_circuit_id、neighbor_system_id、neighbor_extended_local_circuit_id
242 router_capabilityrouter_id、flags (S / D)、sub_tlvs
サブ TLV:
拡張 IS 到達性 (22): 管理グループ (3)、リンクローカル / リモート ID (4)、IPv4 インタフェース / 隣接アドレス (6 / 8)、最大 / 予約可能 / 未予約帯域 (9 / 10 / 11)、TE デフォルトメトリック (18)、Adj-SID / LAN-Adj-SID (31 / 32)。
拡張 IP / IPv6 到達性 (135 / 236): 32 / 64 ビット管理タグ (1 / 2)、Prefix-SID (3)、プレフィックス属性フラグ (4)。
ルータ能力 (242): SR 能力 (2)、SR アルゴリズム (19)。
prefix は ceil(prefix_length / 8) オクテットで、有効なオクテットだけを書きます (192.0.2.0/24 は prefix_length: 24, prefix: "c00002")。プレフィックスの省略可能なサブ TLV は要素 1 個の sub_tlv_block リストとして書きます。
- extended_ip_reachability:
prefixes:
- metric: 0
prefix_length: 32
prefix: "c0000201"
sub_tlv_block:
- sub_tlvs:
- { prefix_sid: { flags: 0x40, algorithm: 0, sid: "00000001" } }
その他の TLV は { type: N, data: "..." } として保持されます。
System ID は 6 オクテット (id_length 0) 固定で、それ以外の ID 長はモデル化していません。
TE の帯域は 32 ビット IEEE 浮動小数点の生値です。SID / ラベルと SR 能力の範囲はオクテット列 (3 オクテットのラベルまたは 4 オクテットのインデックス) です。
HMAC-MD5 認証値 (および RFC 5310 の暗号認証) は計算しません。
TLV 240 は 15 オクテット形式でモデル化しています。短い形式 (1 / 5 オクテット) は data として読み戻されます。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ipv4 · ipv6 · clnp · isis · isis_l1_lan_hello · isis_l2_lan_hello · isis_p2p_hello · isis_l1_lsp · isis_l2_lsp · isis_l1_csnp · isis_l2_csnp · isis_l1_psnp · isis_l2_psnp
Status: draft
SCTP (RFC 9260) の補足 (M7)。定義は crates/wpg-protocols/src/sctp.rs、サンプルは templates/protocols/l4/sctp-*.wpg.yaml にあります。
ethernet2 / ipv4 / sctp # IPv4 protocol 132 (Auto)
ethernet2 / ipv6 / sctp # IPv6 next header 132 (Auto)
ethernet2 / ipv4 / udp / sctp # SCTP over UDP、ポート 9899 (RFC 6951)
サンプル 内容
sctp-initIPv4 アドレス・対応アドレス種別・ECN・FORWARD TSN 対応・対応拡張のパラメータ付き INIT
sctp-init-ackState Cookie 付き INIT ACK
sctp-data16 オクテットのユーザデータを持つ DATA
sctp-sackGap Ack ブロック 2 つと重複 TSN 付き SACK
sctp-heartbeatHeartbeat Info 付き HEARTBEAT
sctp-abortユーザ起因 ABORT 原因付き ABORT (T ビット)
sctp-shutdownIPv6 上の SHUTDOWN
sctp-over-udpUDP 9899 上で COOKIE ECHO と DATA をバンドル
UDP の宛先ポートは Auto ではありません。SCTP over UDP では 9899 を指定してください (解析時は送信元ポート 9899 でも判別します)。
sctp レイヤは共通ヘッダ (src_port、dst_port、verification_tag、checksum) とパケット内の全チャンク (chunks) です。複数チャンクをバンドルでき、sctp の後ろにレイヤは続きません。DATA / I-DATA のユーザデータはチャンクの user_data (オクテット列) で、ペイロードプロトコル識別子による demux はしません。
チャンクは 8 ビット型・8 ビットフラグ・16 ビット長の項目です。長さは 4 オクテットのチャンクヘッダを含み、4 オクテット境界までのゼロ詰め (常に付加) は含みません。どのチャンクにも flags フィールドがあります (型と長さの間に書かれます)。
- protocol: sctp
fields:
verification_tag: 0x3a5c7e91
chunks:
- sack:
cumulative_tsn_ack: 100
gap_ack_blocks: [{ start: 2, end: 3 }]
- name: data # `data` は項目の予約キーなので {name, fields} で書く
fields:
flags: b|e
tsn: 101
user_data: "68 65 6c 6c 6f"
- abort: { flags: t }
型 名前 (name) 値フィールド (flags の後)
0 dataフラグ i/u/b/e、tsn、stream_identifier、stream_sequence_number、payload_protocol_identifier、user_data
1 / 2 init / init_ackinitiate_tag、a_rwnd、outbound_streams、inbound_streams、initial_tsn、parameters
3 sackcumulative_tsn_ack、a_rwnd、number_of_gap_ack_blocks / number_of_duplicate_tsns (Auto)、gap_ack_blocks ({start, end})、duplicate_tsns
4 / 5 heartbeat / heartbeat_ackparameters (heartbeat_info)
6 abortフラグ t、causes
7 shutdowncumulative_tsn_ack
8 / 11 shutdown_ack / cookie_ack(フラグのみ)
9 errorcauses
10 cookie_echocookie
14 shutdown_completeフラグ t
15 auth (RFC 4895)shared_key_identifier、hmac_identifier、hmac
0x40 i_data (RFC 8260)フラグ i/u/b/e、tsn、stream_identifier、message_identifier、ppid_or_fsn、user_data
0x80 / 0xc1 asconf_ack / asconf (RFC 5061)serial_number、parameters
0x82 re_config (RFC 6525)parameters
0x84 pad (RFC 4820)padding
0xc0 forward_tsn (RFC 3758)new_cumulative_tsn、streams ({stream, stream_sequence})
その他のチャンク型は { type: N, data: "..." } として保持します (data の先頭オクテットがフラグ)。
パラメータ (INIT、INIT ACK、HEARTBEAT、ASCONF、RE-CONFIG) とエラー原因 (ABORT、ERROR) は 16 ビット型・16 ビット長の項目で、4 オクテット境界まで詰めます。RFC 9260 §3.2 のとおり、最後の パラメータ / 原因の詰め物はチャンク長に含めず、チャンクの詰め物で兼ねます。
パラメータ エラー原因
ipv4_address、ipv6_address、heartbeat_info、state_cookie、unrecognized_parameter、cookie_preservative、host_name_address、supported_address_types ([ipv4, ipv6])、ecn_capable、random、chunk_list、requested_hmac_algorithm、padding、supported_extensions (チャンク型)、forward_tsn_supported、add_ip_address / delete_ip_address / set_primary_address (correlation_id、address: アドレスパラメータ)、error_cause_indication、success_indication、adaptation_layer_indication、RE-CONFIG の要求 / 応答invalid_stream_identifier、missing_mandatory_parameter (件数は Auto)、stale_cookie、out_of_resource、unresolvable_address、unrecognized_chunk_type、invalid_mandatory_parameter、unrecognized_parameters、no_user_data、cookie_received_while_shutting_down、restart_with_new_addresses、user_initiated_abort、protocol_violation、ASCONF の原因 (0x00a0〜0x00a4)、unsupported_hmac_identifier
フィールド 規則
checksumフィールドを 0 とした SCTP パケット全体の CRC32c (RFC 9260 付録 A)。下位オクテットから送出
チャンク / パラメータ / 原因の length 詰め物を除いた大きさ。ゼロ詰めそのものも自動
number_of_gap_ack_blocks、number_of_duplicate_tsns (SACK)リストの要素数
number_of_missing_parametersmissing_parameters の要素数
最後のパラメータの詰め物までチャンク長に数える実装のチャンクも同じようにデコードされ、そのパラメータの後に詰め物の位置を保つ空の項目が入ります。
アソシエーションの状態は持ちません。TSN・ストリームシーケンス番号・タグは値です (変化させるにはジェネレータを使います)。
未知のチャンク型はフラグを data の先頭オクテットとしてデコードし、型の「動作」ビットは解釈しません。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
sctp
Status: draft
M7 のルーティング拡張の補足です。OSPFv2 の Opaque LSA (RFC 5250) と、その中身の Traffic Engineering (RFC 3630)、Router Information (RFC 7770)、Extended Prefix / Extended Link (RFC 7684)、Segment Routing (RFC 8665)、および BGP マルチプロトコル (RFC 4760) の IPv4 / IPv6 ユニキャスト、VPN-IPv4 / VPN-IPv6 (RFC 4364 / RFC 4659)、EVPN (RFC 7432 / RFC 9136) の NLRI を扱います。定義は crates/wpg-protocols/src/ospf_opaque.rs と crates/wpg-protocols/src/bgp_mp.rs にあります。OSPF / BGP の基本は ルーティングプロトコル のページを参照してください。
ipv4 / ospfv2 / ospfv2_lsu / ospfv2_opaque_lsa / ospfv2_te_lsa
ipv4 / ospfv2 / ospfv2_lsu / ospfv2_opaque_lsa / ospfv2_ri_lsa
ipv4 / ospfv2 / ospfv2_lsu / ospfv2_opaque_lsa / ospfv2_ext_prefix_lsa
ipv4 / ospfv2 / ospfv2_lsu / ospfv2_opaque_lsa / ospfv2_ext_link_lsa
ospfv2_opaque_lsa は Link State ID を opaque_type (8 ビット、本体レイヤから自動) と opaque_id (24 ビット) に分けた LSA ヘッダです。ls_type がフラッディング範囲を表します: 9 リンクローカル、10 エリア (既定)、11 AS。LSA の length と Fletcher の ls_checksum は他の LSA と同じく自動です。解析では、タイプ 9 / 10 / 11 の LSA をまず ospfv2_lsa として読み、ospfv2_opaque_lsa として読み直します。未知の Opaque タイプの後ろは raw レイヤになります。
サンプル 内容
ospfv2-lsu-te-lsaTE LSA: リンクタイプ / ID、インタフェースアドレス、TE メトリック、帯域、管理グループを持つ Link TLV
ospfv2-lsu-ri-srRouter Information LSA: 機能フラグ、ホスト名、SR-Algorithm、SRGB (SID/Label Range)、SRLB
ospfv2-lsu-ext-prefix-srExtended Prefix LSA: 192.0.2.1/32 にノード Prefix SID (インデックス 1)
ospfv2-lsu-ext-link-srExtended Link LSA: ポイントツーポイントリンクに Adj-SID (ラベル 24000)
本体はどれも tlvs フィールド 1 つです。TLV / sub-TLV は 16 ビットのタイプと、値だけを数える 16 ビットの長さを持ち、値は 4 オクテット境界までゼロで詰められます (詰め物は長さに含めません)。長さと詰め物は自動です。
本体 TLV sub-TLV
ospfv2_te_lsa (Opaque タイプ 1)router_address (1)、link (2)link_type、link_id、local_address、remote_address、te_metric、max_bandwidth、max_reservable_bandwidth、unreserved_bandwidth、admin_group
ospfv2_ri_lsa (4)informational_capabilities (1)、functional_capabilities (2)、hostname (7)、sr_algorithm (8)、sid_label_range (9)、sr_local_block (14)、srms_preference (15)sid_label / sid_label_index
ospfv2_ext_prefix_lsa (7)extended_prefix (1)、extended_prefix_range (2)prefix_sid / prefix_sid_label
ospfv2_ext_link_lsa (8)extended_link (1)adj_sid / adj_sid_index、lan_adj_sid / lan_adj_sid_index
SID は 3 オクテット (下位 20 ビットがラベル。V / L フラグを立てる) か 4 オクテット (インデックス。V / L は立てない) です。SID を運ぶ sub-TLV はどれも両方の形を持つので、名前で項目を選び (label か index フィールド)、解析では値の長さで区別されます:
- protocol: ospfv2_ext_prefix_lsa
fields:
tlvs:
- extended_prefix:
route_type: intra_area
prefix_length: 32
flags: n
prefix: 192.0.2.1
sub_tlvs:
- prefix_sid: { algorithm: 0, index: 1 } # 4 オクテット
# - prefix_sid_label: { flags: v|l, label: 16001 } # 3 オクテット
TE の帯域は、オクテット / 秒を表す 32 ビット IEEE 浮動小数点数の生の値です (0x4b3ebc20 = 12.5e6 = 100 Mbit/s)。
MP_REACH_NLRI (コード 14) と MP_UNREACH_NLRI (コード 15) は、続く AFI / SAFI によって形が変わります。対応するファミリはそれぞれ別のパス属性項目で、解析では値の先頭 3 オクテット (AFI、SAFI) で選ばれます:
ファミリ AFI / SAFI 項目 ネクストホップ NLRI の要素
IPv4 ユニキャスト 1 / 1 mp_reach_ipv4_unicast、mp_unreach_ipv4_unicastIPv4 アドレスのリスト {length, prefix}
IPv6 ユニキャスト 2 / 1 mp_reach_ipv6_unicast、mp_unreach_ipv6_unicastIPv6 アドレスのリスト (グローバル、リンクローカル) {length, prefix}
VPN-IPv4 1 / 128 mp_reach_vpnv4、mp_unreach_vpnv4{rd, address} のリスト{length, label, exp, bos, rd, prefix}
VPN-IPv6 2 / 128 mp_reach_vpnv6、mp_unreach_vpnv6{rd, address} のリスト同上
EVPN 25 / 70 mp_reach_evpn、mp_unreach_evpnオクテット列 (IPv4 か IPv6 アドレス) EVPN ルート項目
それ以外のファミリは汎用の mp_reach_nlri / mp_unreach_nlri を使い、ネクストホップと NLRI はオクテット列です。afi / safi の既定値はそのファミリの値、next_hop_length は自動です。
プレフィックス : length はビット単位で、prefix は ceil(length / 8) オクテットです。UPDATE 自体の withdrawn_routes と nlri もプレフィックスのリストで、UPDATE の 2 つの長さフィールドは自動です。
VPN プレフィックス : length はラベル (24 ビット)、ルート識別子 (64 ビット)、プレフィックスのビット数の合計で、/24 なら 112 です。ラベルは 1 つ (bos: 1) を扱います。撤回では通常 label: 0x80000, bos: 0 (互換値 0x800000) を使います。
ルート識別子 (RD) は 8 オクテットです: 0000 fde9 00000064 が 65001:100 (タイプ 0)、0001 c0000201 0001 が 192.0.2.1:1 (タイプ 1)。
EVPN ルート (8 ビットのタイプ、8 ビットの長さ): ethernet_ad (1)、mac_ip (2)、inclusive_multicast (3)、ethernet_segment (4)、ip_prefix (5、IPv4、34 オクテット)、ipv6_prefix (5、IPv6、58 オクテット)。ESI は 10 オクテットです。ラベルのフィールドは 3 オクテットのワイヤ上の値で、MPLS なら label << 4 | bos、VXLAN なら VNI です (RFC 8365)。長さフィールド (ip_length、ビット単位) を持つ IP アドレスはオクテット列です。
PMSI Tunnel 属性 (pmsi_tunnel、コード 22) は型付きです。ルートターゲットは extended_communities の値です (0x0002fde900000064 = RT 65001:100)。
- protocol: bgp_update
fields:
path_attributes:
- { origin: 0 }
- { as_path: { segments: [] } }
- mp_reach_vpnv4:
next_hop: [{ rd: "0000000000000000", address: 192.0.2.1 }]
nlri:
- { length: 112, label: 16, bos: 1, rd: "0000 fde9 00000064", prefix: "c6 33 64" }
nlri: []
サンプル 内容
bgp-update-mp-ipv6IPv6 ユニキャストの広告 (グローバル + リンクローカルのネクストホップ) と撤回
bgp-update-vpnv4ラベル 16、RD とルートターゲット 65001:100 の VPN-IPv4 ルート
bgp-update-evpnVNI 10010 の EVPN MAC/IP と Inclusive Multicast ルート、ルートターゲット、VXLAN カプセル化、PMSI Tunnel
値が 255 オクテットを超えるパス属性には、Extended Length フラグ (0x10) と 16 ビットの長さが自動で付きます。短い属性を長い形式で送る (FRR や GoBGP が MP_REACH_NLRI でそうするように) には、項目にタイプを明示します:
- { name: mp_reach_ipv4_unicast, type: 0x900e, fields: { next_hop: [192.0.2.1], nlri: [{ length: 24, prefix: "c63364" }] } }
受信した属性は形式を保ちます: 解析した Extended Length の属性は type 付きでエクスポートされます。
OSPFv3 の Extended LSA (RFC 8362) と OSPFv3 の Segment Routing (RFC 8666) は扱いません。
OSPF TE の GMPLS sub-TLV (RFC 4203) と、上に挙げた以外の RI TLV は raw 項目のままです。
BGP の ADD-PATH のパス識別子 (RFC 7911)、2 つ以上のラベルのスタック (RFC 8277)、BGP Prefix-SID 属性 (RFC 8669) は扱いません。そうした NLRI は汎用の mp_reach_nlri / mp_unreach_nlri 項目にオクテット列で書いてください。こうした NLRI を解析するとオクテットは同一に再構成されますが、デコードされたフィールドは実際の区切りとずれます。
1 セグメント内の複数の BGP メッセージ、1 LSU 内の複数の型付き LSA は扱いません (ルーティングプロトコル を参照)。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ospfv2_lsa · ospfv2_opaque_lsa · ospfv2_te_lsa · ospfv2_ri_lsa · ospfv2_ext_prefix_lsa · ospfv2_ext_link_lsa · raw
Status: draft
LDP (RFC 5036)、RSVP-TE (RFC 2205 / RFC 3209)、BFD (RFC 5880 / 5881 / 5883、Micro-BFD RFC 7130) の補足 (M7)。定義は crates/wpg-protocols/src/{ldp,rsvp,bfd}.rs、サンプルは templates/protocols/mpls/ と templates/protocols/oam/ にあります。
ethernet2 / ipv4 / udp / ldp # UDP 646: Hello (基本ディスカバリは 224.0.0.2、拡張はユニキャスト)
ethernet2 / ipv4 / tcp / ldp # TCP 646: セッション (Initialization 以降)
ethernet2 / ipv4 / rsvp # IPv4 protocol 46 (Auto)
ethernet2 / ipv6 / rsvp # IPv6 next header 46 (Auto)
ethernet2 / ipv4 / udp / bfd # UDP 3784 (シングルホップ)、4784 (マルチホップ)、6784 (Micro-BFD)
IPv6 の LDP (RFC 7552) も ipv6 / udp|tcp / ldp で組めます。UDP / TCP の宛先ポートは Auto ではありません。646 / 3784 などを指定してください (解析時は送信元ポートでも判別します)。BFD のエコーポート 3785 の中身は送信側にしか意味がないためデコードしません。
サンプル 内容
ldp-hello224.0.0.2 へのリンク Hello (GTSM ビット、IPv4 トランスポートアドレス)
ldp-targeted-hello拡張ディスカバリの Targeted Hello (T / R ビット、構成シーケンス番号)
ldp-initialization1 PDU に Initialization (Common Session Parameters) と KeepAlive
ldp-label-mappingAddress と Label Mapping 2 つ (プレフィックス FEC、汎用ラベル。暗黙 NULL 3 を含む)
ldp-label-withdrawワイルドカード FEC の Label Withdraw と Notification (Shutdown)
rsvp-te-pathRouter Alert 付き Path (厳密 / 緩い ERO、SESSION_ATTRIBUTE、SENDER_TSPEC、RRO)
rsvp-te-resvSE スタイルの Resv (FLOWSPEC、FILTER_SPEC、LABEL、ラベル付き RRO)
rsvp-path-errERROR_SPEC (Routing Problem) 付き PathErr
rsvp-path-tearPathTear
rsvp-helloHELLO REQUEST 付き Hello
bfd-single-hop状態 Up、300 ms 間隔の制御パケット (10 個、4 pps)
bfd-authMeticulous Keyed SHA1 認証付きの Poll
bfd-multihop-ipv6IPv6 上のマルチホップ (UDP 4784、状態 Init)
micro-bfdLAG メンバーリンクの Micro-BFD (UDP 6784、宛先 MAC 01:00:5e:90:00:01)
ldp レイヤは PDU ヘッダ (version、pdu_length、lsr_id、label_space) と PDU 内の全メッセージ (messages) です。メッセージは PDU 長で終わるので、同じ TCP セグメントの後続 PDU は次のレイヤ (raw) になります。
メッセージと TLV は同じ形の項目です: 16 ビット型 (U ビット、TLV では F ビットも型の上位ビットに含む)、値だけの 16 ビット長、値。どのメッセージも先頭が message_id、続いて tlvs です。
- protocol: ldp
fields:
lsr_id: 192.0.2.1
messages:
- label_mapping:
message_id: 11
tlvs:
- fec:
elements: [{ prefix_length: 24, prefix: "c6 33 64" }]
- generic_label: { label: 299776 }
- label_withdraw:
message_id: 12
tlvs:
- fec_wildcard
型 メッセージ (name) 型 TLV (name) と値フィールド
0x0001 notification0x0100 fec (elements: {element_type (2), address_family, prefix_length, prefix})、fec_wildcard (要素型 1)
0x0100 hello0x0101 address_list (IPv4) / address_list_ipv6 (address_family、addresses)
0x0200 initialization0x0103 / 0x0104 hop_count、path_vector (lsr_ids)
0x0201 keepalive0x0200 generic_label (label: 20 ビット)
0x0300 / 0x0301 address / address_withdraw0x0300 status (e、f、status_code、message_id、message_type)
0x0400 label_mapping0x0400 common_hello_parameters (hold_time、t、r、g (GTSM、RFC 6720))
0x0401 label_request0x0401 / 0x0403 ipv4_transport_address / ipv6_transport_address
0x0402 label_withdraw0x0402 configuration_sequence_number
0x0403 label_release0x0500 common_session_parameters (protocol_version、keepalive_time、a、d、pv_lim、max_pdu_length、receiver_lsr_id、receiver_label_space)
0x0404 label_abort_request0x0600 label_request_message_id
FEC TLV は値の先頭オクテット (要素型) で fec_wildcard と fec を、Address List は先頭 2 オクテット (アドレスファミリ) で IPv4 / IPv6 を選び分けます。その他の型 (ATM / Frame Relay のラベルとセッションパラメータ、ベンダー TLV など) は { type: N, data: "..." } として保持します。
rsvp レイヤは共通ヘッダ (version、flags、msg_type、checksum、send_ttl、length) とメッセージ内の全オブジェクト (objects) です。オブジェクトは 16 ビット長 (4 オクテットのヘッダを含む) の後に Class-Num と C-Type が続き、2 つを合わせた 16 ビット (class_num << 8 | c_type) を型として扱います (wpg-core の TlvDef::len_first)。項目名はクラスと C-Type から付けています。
型 名前 (name) 型 名前 (name)
0x0101 / 0x0102 session_ipv4 / session_ipv60x0b01 sender_template_ipv4
0x0107 / 0x0108 session_lsp_tunnel_ipv4 / _ipv60x0b07 / 0x0b08 sender_template_lsp_tunnel_ipv4 / _ipv6
0x0301 / 0x0302 rsvp_hop_ipv4 / rsvp_hop_ipv60x0c02 sender_tspec (IntServ)
0x0501 time_values0x0f01 resv_confirm_ipv4
0x0601 / 0x0602 error_spec_ipv4 / error_spec_ipv60x1001 label
0x0701 scope_ipv40x1301 label_request (l3pid)
0x0801 style (sharing、sender_selection。既定 SE)0x1401 / 0x1501 explicit_route / record_route (subobjects)
0x0902 flowspec (IntServ、制御負荷)0x1601 / 0x1602 hello_request / hello_ack
0x0a01 filter_spec_ipv40x1701 / 0x1801 / 0x1802 message_id / message_id_ack / message_id_nack (RFC 2961)
0x0a07 / 0x0a08 filter_spec_lsp_tunnel_ipv4 / _ipv60xcf07 / 0xcf01 session_attribute / session_attribute_ra (リソースアフィニティ付き)
EXPLICIT_ROUTE のサブオブジェクトは ipv4_prefix、ipv6_prefix、unnumbered_interface、as_number で、_loose を付けた名前が L ビット付き (緩いホップ) です。RECORD_ROUTE のサブオブジェクトは ipv4_address、ipv6_address、label、unnumbered_interface (それぞれ flags 付き) です。ADSPEC・POLICY_DATA・INTEGRITY などその他のオブジェクトは値オクテットのまま保持します。
SENDER_TSPEC / FLOWSPEC のトークンバケット (token_bucket_rate、token_bucket_size、peak_data_rate) は IEEE 754 単精度浮動小数点のビットパターンを 32 ビット整数で指定します (例: 1,000,000 オクテット/秒 = 0x49742400、無限大 = 0x7f800000)。既定は 125,000 オクテット/秒 (1 Mbit/s)。
Path・PathTear・ResvConf は IP の Router Alert オプション付きで送るのが通常です (ipv4 の options: [router_alert: 0])。
bfd レイヤは必須セクションと省略可能な認証セクション (authentication) です。フラグは p、f、c、a、d、m の 1 ビットフィールドです。認証セクションの型は簡易パスワード (simple_password: key_id、password)、keyed_md5 / meticulous_keyed_md5 (key_id、sequence_number、16 オクテットの digest)、keyed_sha1 / meticulous_keyed_sha1 (20 オクテットの hash) です。
- protocol: bfd
fields:
state: up
my_discriminator: 0x101
your_discriminator: 0x201
desired_min_tx_interval: 300000 # マイクロ秒
required_min_rx_interval: 300000
authentication:
- simple_password: { key_id: 1, password: '"secret"' }
フィールド 規則
ldp.pdu_lengthバージョンと PDU 長を除く PDU の長さ
LDP のメッセージ / TLV の長さ 値の長さ (型と長さを除く)
rsvp.checksumフィールドを 0 としたメッセージ全体のインターネットチェックサム
rsvp.length、オブジェクト / サブオブジェクトの長さヘッダを含む長さ
SESSION_ATTRIBUTE の name_length と padding 名前のオクテット数、4 オクテット境界までのゼロ詰め (長さに含む)
bfd.length認証セクションを含む制御パケットの長さ
bfd.a認証セクションがあれば 1
状態を持ちません。LDP のセッション確立、RSVP のリフレッシュ、BFD の状態遷移とタイマーは行いません。値はそのまま送り、変化させるにはジェネレータを使います。
BFD の MD5 ダイジェスト / SHA1 ハッシュ、RSVP の INTEGRITY は手動です (鍵による計算はしません)。
LDP の 1 レイヤは 1 PDU です。同じセグメントに PDU を複数入れる場合、後続の PDU はデコード時に raw になります。
RSVP は GMPLS (RFC 3473) のオブジェクト、ADSPEC、POLICY_DATA を型付けしません。RSVP over UDP (RFC 2205 付録 C) は対象外です。
IntServ のパラメータは 1 つ目 (トークンバケット) だけを型付けし、以降 (保証サービスの Rate / Slack など) は parameters のオクテット列です。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ipv4 · ldp · rsvp · bfd · raw
Status: draft
SRv6 の Segment Routing Header (RFC 8754) と SR-MPLS (RFC 8660) の組み立て補助 (M7)。定義は crates/wpg-protocols/src/ipv6.rs (ipv6_srh) と encap.rs (mpls)、サンプルは templates/protocols/srv6/、templates/protocols/mpls/sr-mpls-entropy、templates/scenarios/sr-mpls-prefix-sid-sweep にあります。
ethernet2 / ipv6 / ipv6_srh / udp|tcp|icmpv6 # SRH 付きの通常パケット
ethernet2 / ipv6 / ipv6_srh / ipv4 / ... # H.Encaps → End.DT4 / End.DX4 (next header 4)
ethernet2 / ipv6 / ipv6_srh / ipv6 / ... # H.Encaps → End.DT6 / End.DX6 (next header 41)
ethernet2 / ipv6 / ipv6_srh / ethernet2 / ... # H.Encaps.L2 → End.DX2 (next header 143、RFC 8986)
ethernet2 / mpls / mpls / ... / ipv4|ipv6 # SR-MPLS ラベルスタック
IPv6 ルーティングヘッダ (next header 43) は、ルーティングタイプ (ヘッダの 3 オクテット目) が 4 のとき ipv6_srh、それ以外のとき汎用の ipv6_route としてデコードします。IPv6 の next header 143 (Ethernet) は ethernet2 に対応します。
サンプル 内容
srv6-srh-udp3 セグメント (残り 2) の SRH 付き IPv6/UDP。UDP チェックサムは最後のセグメント宛てで計算
srv6-h-encaps-ipv4IPv4/UDP を外側 IPv6 + SRH (End → End.DT4) でカプセル化 (L3VPN)
srv6-end-dx2-hmacEthernet フレーム (ARP) を HMAC TLV 付き SRH で End.DX2 へ (L2VPN)
sr-mpls-entropyプレフィックス SID (SRGB + インデックス を変数で指定)、隣接 SID、ELI + エントロピーラベル
sr-mpls-prefix-sid-sweep (シナリオ)プレフィックス SID のインデックスを 1〜100 で変化させ、エントロピーラベルもパケットごとに変える
フィールド Auto / 手動 説明
next_headerAuto 次レイヤから
hdr_ext_lenAuto 先頭 8 オクテットを除いた 8 オクテット単位の長さ
routing_type既定 4
segments_left手動 (既定 1) 次に向かうセグメントの位置
last_entryAuto セグメント数 - 1
flags / tag手動
segment_list手動 IPv6 アドレスのリスト。経路の逆順 : 要素 0 が最後のセグメント
tlvs手動 Pad1 / PadN / HMAC TLV。後ろの詰め物 (Pad1) は Auto
segment_list は経路の逆順で書きます。送信元が出すパケットの IPv6 宛先は segment_list[segments_left] (アクティブセグメント) なので、ipv6.dst はそれに合わせて手動で設定してください (IPv6 宛先は Auto になりません)。
segments_left が 0 でない間、UDP / TCP / ICMPv6 の疑似ヘッダの宛先は ipv6.dst ではなく最終宛先 segment_list[0] になります (RFC 8200 §8.1)。wpg はこれを自動で扱い、segments_left をジェネレータで変えた場合 (高速パッチ経路) も追従します。segments_left が 0 なら ipv6.dst を使います。汎用の ipv6_route (Type 0 / 2 / 3) はアドレスを data のオクテット列で持つため、この置き換えをしません。
TLV 型 値
pad10 なし (1 オクテット)
padn4 padding (任意長)
hmac5 d (1 ビット)、reserved (15 ビット)、hmac_key_id (32 ビット)、hmac (オクテット列、手動)
TLV の後ろは 8 オクテット境界まで 0 (= Pad1) で自動的に埋めます。HMAC 値は計算しません (鍵と対象範囲を決めて外部で計算した値を入れてください)。
SR-MPLS の SID は通常の MPLS ラベルなので、mpls レイヤを並べて組み立てます。
予約ラベルの名前 : label は 0〜15 の予約ラベルを名前で書けます: ipv4_explicit_null (0)、router_alert (1)、ipv6_explicit_null (2)、implicit_null (3)、entropy_label_indicator (7)、gal (13)、oam_alert (14)、extension (15)。それ以外は数値で書きます。
プレフィックス SID : ラベル = SRGB ベース + SID インデックス。expr ジェネレータと変数で "${srgb_base} + ${sid_index}" のように書けば、ルータの SRGB 設定に合わせて変数だけ変えられます (sr-mpls-entropy 参照)。インデックスを変えて多数の宛先ノードに送るには idx を足します (sr-mpls-prefix-sid-sweep 参照)。
エントロピーラベル (RFC 6790): entropy_label_indicator (7) のラベルの直後にエントロピーラベルを置きます。エントロピーラベルの TTL は 0 にします。
s (スタック最下位ビット) は Auto です。
segments_left と last_entry の整合 (segments_left <= last_entry) は検査しません。
ipv6.dst をアクティブセグメントに合わせる処理は自動ではありません。
HMAC の計算、SRv6 の Behavior (End / End.X / End.DT4 など) のシミュレーションはしません。SID の Behavior はアドレスの値で表すだけです。
SRv6 圧縮 SID (uSID / CSID、RFC 9800) の専用表現はありません (128 ビットアドレスとして書けます)。
SR-MPLS の SRGB / SRLB の範囲検査はしません。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ethernet2 · ipv6_route · ipv6_srh · mpls
Status: draft
PTP (IEEE 1588-2008)、SyncE ESMC (ITU-T G.8264)、Ethernet CFM / OAM (IEEE 802.1Q 21 章 = 802.1ag、ITU-T Y.1731) と ERPS の R-APS メッセージ (ITU-T G.8032)、EFM OAM (IEEE 802.3 57 章 = 802.3ah) の補足 (M7)。定義は crates/wpg-protocols/src/{ptp,esmc,cfm,efm_oam}.rs、サンプルは templates/protocols/timing/ と templates/protocols/oam/ にあります。
ethernet2 / ptp_* # EtherType 0x88f7 (IEEE 1588 附属書 F)
ethernet2 / ipv4|ipv6 / udp / ptp_* # UDP 319 (イベントメッセージ)、320 (一般メッセージ)
ethernet2 / esmc # Slow Protocols 0x8809、サブタイプ 0x0a
ethernet2 [/ dot1q] / cfm_* # EtherType 0x8902。802.1Q / 802.1ad タグの内側も可
ethernet2 / efm_oam_* # Slow Protocols 0x8809、サブタイプ 0x03
Slow Protocols の EtherType 0x8809 は先頭オクテット (サブタイプ) で振り分けます: 1 LACP、2 Marker、3 OAM、0x0a ESMC (l2control::slow_protocols_peek。その他のサブタイプは raw)。Marker PDU は lacp ではなく marker としてデコードされるようになりました。UDP の宛先ポートは自動ではありません。Sync / Delay_Req / Pdelay_Req / Pdelay_Resp は 319、その他は 320 を指定します。
サンプル 内容
ptp-sync-two-step-l2Ethernet 上の 2 ステップ Sync (毎秒 8 回、シーケンス ID を加算)
ptp-follow-up-l2正確な送信時刻と補正値付きの Follow_Up
ptp-pdelay-req-l2 / ptp-pdelay-resp-l2 / ptp-pdelay-resp-follow-up-l201:80:c2:00:00:0e 宛ての IEEE 802.1AS (majorSdoId 1) ピア遅延測定
ptp-delay-req-udp / ptp-delay-resp-udpUDP/IPv4 (224.0.1.129) 上の遅延要求 / 応答
ptp-announce-udpGPS 同期のグランドマスタ (クロッククラス 6) の Announce
ptp-signaling-unicastユニキャストネゴシエーション: Announce と Sync の Request Unicast Transmission TLV
ptp-management-getDEFAULT_DATA_SET の Management GET
ptp-generic汎用レイアウトで書いた Sync
esmc-ql-prc / esmc-event-dnuESMC 情報 PDU (QL-PRC、拡張 QL TLV) / イベント PDU (QL-DNU)
cfm-ccmVLAN 100 上の CCM (MD レベル 5、MEP 10、ICC 形式 MEG ID、Port / Interface Status TLV)
cfm-lbm / cfm-lbrData TLV 付きのループバックメッセージ / 応答
cfm-ltm / cfm-ltrEgress Identifier / Reply Ingress TLV 付きのリンクトレースメッセージ / 応答
cfm-generic汎用レイアウトの G.8031 Linear APS (OpCode 39)
y1731-ais / y1731-lck / y1731-csfAIS、LCK、CSF 信号
y1731-tstTest TLV 付きのテスト信号
y1731-lmm / y1731-lmr / y1731-slm / y1731-slr / y1731-1slロス測定 (フレームカウンタ、合成ロス)
y1731-dmm / y1731-dmr / y1731-1dm遅延測定 (IEEE 1588 形式のタイムスタンプ)
erps-raps-nr-rb / erps-raps-sfRPL オーナーの R-APS(NR, RB) / 障害時の R-APS(SF)
efm-oam-information / efm-oam-genericInformation OAMPDU (Local / Remote Information TLV)
efm-oam-eventEvent Notification (Errored Frame と Errored Symbol Period イベント)
efm-oam-variable-request / efm-oam-variable-response変数の取得
efm-oam-loopbackLoopback Control (リモートループバックの有効化)
efm-oam-organization-specificOrganization Specific OAMPDU
PTP、CFM、802.3ah OAM は IS-IS と同じ方式です: メッセージタイプ (PTP)、OpCode (CFM)、コード (OAM) ごとに 1 プロトコルと、汎用レイヤ (ptp、cfm、efm_oam: 共通ヘッダと残りを data オクテット列で) があります。パーサーはまず汎用レイヤとしてデコードし、message_type / opcode / code から専用レイヤに読み直します。専用定義のない値 (CFM の Linear APS、MCC、EXM / VSM など) は汎用のままです。合成時は専用プロトコルを置くだけで EtherType / サブタイプが決まります。
プロトコル message_type本体
ptp_sync / ptp_delay_req0 / 1 origin_timestamp_{seconds,nanoseconds}
ptp_pdelay_req2 送信時刻、予約 10 オクテット
ptp_pdelay_resp3 request_receipt_timestamp_*、requesting_port_{clock_identity,port_number}
ptp_follow_up8 precise_origin_timestamp_*
ptp_delay_resp9 receive_timestamp_*、requesting_port_*
ptp_pdelay_resp_follow_up10 response_origin_timestamp_*、requesting_port_*
ptp_announce11 送信時刻、current_utc_offset、grandmaster_priority1/2、grandmaster_clock_{class,accuracy}、grandmaster_offset_scaled_log_variance、grandmaster_identity、steps_removed、time_source
ptp_signaling12 target_port_*
ptp_management13 target_port_*、starting_boundary_hops、boundary_hops、action
34 オクテットの共通ヘッダは major_sdo_id (transportSpecific)、message_type、minor_version、version、message_length (自動)、domain_number、minor_sdo_id、flags (16 ビット: two_step はビット 9、unicast はビット 10、ptp_timescale はビット 3 など)、correction_field (符号付き、ナノ秒 × 2^16)、message_type_specific、送信元ポート ID (clock_identity、port_number)、sequence_id、control_field、log_message_interval (符号付き) です。control_field と log_message_interval の既定値はメッセージに合わせてあります (該当しない場合は 0x7f)。
各メッセージの最後は tlvs (16 ビット型、値の 16 ビット長、自動) です。TLV は message_length で終わるため、短い Ethernet フレームのゼロ詰めを TLV と誤読しません。
- protocol: ptp_signaling
fields:
flags: 0x0400 # unicast
tlvs:
- request_unicast_transmission: { message_type: announce, log_inter_message_period: 1, duration_field: 300 }
- grant_unicast_transmission: { message_type: sync, log_inter_message_period: -4, duration_field: 300, renewal_invited: 1 }
タイプ TLV (name) 値のフィールド
0x0001 managementmanagement_id、data_field (オクテット列)
0x0002 management_error_statusmanagement_error_id、management_id、reserved、display_data
0x0003 organization_extensionorganization_id、organization_sub_type、data_field
0x0004 / 0x0005 request_unicast_transmission / grant_unicast_transmissionmessage_type、log_inter_message_period、duration_field (grant は renewal_invited も)
0x0006 / 0x0007 cancel_unicast_transmission / acknowledge_cancel_unicast_transmissionmessage_type
0x0008 path_tracepath_sequence (クロック ID のリスト)
0x0009 alternate_time_offset_indicatorkey_field、current_offset、jump_seconds、time_of_next_jump、display_name (長さは自動)
esmc は OSSP ヘッダ (subtype 0x0a、itu_oui 00-19-a7、itu_subtype 1)、version (1)、event_flag と TLV (8 ビット型、3 オクテットのヘッダを含む 16 ビット長、自動) です: ql (ssm_code: prc、ssu_a、ssu_b、sec、dnu とオプション 2 のコード)、extended_ql (enhanced_ssm_code、synce_clock_identity、flags (EEC / eEEC 混在、部分チェーン)、cascaded_eeecs、cascaded_eecs)。TLV の後の詰め物は 1 つの raw 項目としてデコードされます。
共通ヘッダは md_level、version、opcode、フラグ、first_tlv_offset です。フラグは OpCode ごとに分けてあります (CCM: rdi、period、LTM / LTR: use_fdb_only、fwd_yes、terminal_mep、AIS / LCK / CSF: period、CSF の type、その他: flags)。first_tlv_offset は OpCode ごとに一定です (変えると警告)。TLV は End TLV (end、タイプ 0) で終わり、その後の Ethernet の詰め物は End TLV の繰り返しではなく詰め物として扱います (wpg-core の Length::UntilTlv)。
OpCode プロトコル フィールド
1 cfm_ccmsequence_number、mep_id、maid (48 オクテット)、tx_fcf、rx_fcb、tx_fcb
2 / 3 cfm_lbr / cfm_lbmtransaction_id
4 cfm_ltrtransaction_id、reply_ttl、relay_action
5 cfm_ltmtransaction_id、ttl、original_mac、target_mac
33 / 35 cfm_ais / cfm_lck(周期のみ)
37 cfm_tstsequence_number
40 cfm_rapsrequest_state、sub_code、rb、dnf、bpr、node_id
42 / 43 cfm_lmr / cfm_lmmtx_fcf、rx_fcf、tx_fcb
45 cfm_1dmtx_timestamp_f_*、rx_timestamp_f_*
46 / 47 cfm_dmr / cfm_dmmtx_timestamp_f_*、rx_timestamp_f_*、tx_timestamp_b_*、rx_timestamp_b_*
52 cfm_csf(種類と周期)
53 cfm_1slsource_mep_id、test_id、tx_fcf
54 / 55 cfm_slr / cfm_slmsource_mep_id、responder_mep_id、test_id、tx_fcf、tx_fcb
TLV (8 ビット型、値の 16 ビット長、自動): end (0)、sender_id (1: chassis_id_length は自動、chassis_id_subtype、chassis_id、management_address オクテット列)、port_status (2)、data_tlv (3: value)、interface_status (4)、reply_ingress / reply_egress (5 / 6: 動作、MAC、ポート ID のオクテット列)、ltm_egress_identifier (7)、ltr_egress_identifier (8)、organization_specific (31)、test (32: pattern_type、test_pattern)。
R-APS (cfm_raps、OpCode 40) の既定はバージョン 1 (G.8032v2)、first_tlv_offset 32、R-APS(NR, RB) です。宛先は 01:19:a7:00:00:<リング ID>、通常は R-APS 用 VLAN 上の MEL 7 で送ります。
OAMPDU は subtype (3)、flags (リンク障害、Dying Gasp、重大イベント、ローカル / リモートの評価中・安定。既定 0x0050)、code で始まります。
コード プロトコル フィールド
0x00 efm_oam_informationtlvs: local_information / remote_information (oam_version、revision、multiplexer_action、parser_action、oam_configuration、max_oampdu_size、oui、vendor_specific_information)、organization_specific、end
0x01 efm_oam_event_notificationsequence_number、tlvs: errored_symbol_period、errored_frame、errored_frame_period、errored_frame_seconds_summary (timestamp、window、threshold、errors、error_running_total、event_running_total)、organization_specific、end
0x02 efm_oam_variable_requestvariable_descriptors (オクテット列: ブランチ、リーフ、…、0 のブランチ)
0x03 efm_oam_variable_responsevariable_containers (オクテット列: ブランチ、リーフ、幅、値、…、0 のブランチ)
0x04 efm_oam_loopback_controlremote_loopback_command (1 有効化、2 無効化)
0xfe efm_oam_organization_specificoui、data
Information / Event TLV の長さは 2 オクテットのヘッダを含み (自動)、リストは end で終わります。
PTP: 認証 / セキュリティ TLV (IEEE 1588-2019 附属書 P)、管理 ID ごとの Management TLV データの型付け、その他のトランスポート (附属書 C、E〜G のうち IPv6 / Ethernet 以外)、状態機械と送信時のタイムスタンプ付与。
CFM: MAID / MEG ID は送信される 48 オクテットのまま (名前形式ごとに分解しない)、Test TLV の CRC-32 は計算しない。Linear APS、MCC、EXM / EXR、VSM / VSR は専用定義なし (汎用 cfm)。
802.3ah OAM: 変数記述子 / コンテナはオクテット列。OAM ディスカバリの状態機械。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
lacp · marker · ptp · ptp_sync · ptp_delay_req · ptp_pdelay_req · ptp_pdelay_resp · ptp_follow_up · ptp_delay_resp · ptp_pdelay_resp_follow_up · ptp_announce · ptp_signaling · ptp_management · esmc · cfm · cfm_ccm · cfm_lbm · cfm_lbr · cfm_ltm · cfm_ltr · cfm_ais · cfm_lck · cfm_tst · cfm_raps · cfm_lmm · cfm_lmr · cfm_1dm · cfm_dmm · cfm_dmr · cfm_csf · cfm_slm · cfm_slr · cfm_1sl · efm_oam · efm_oam_information · efm_oam_event_notification · efm_oam_variable_request · efm_oam_variable_response · efm_oam_loopback_control · efm_oam_organization_specific · raw
Status: draft
MACsec (IEEE 802.1AE、構造のみ)、GTPv2-C (3GPP TS 29.274)、Diameter (RFC 6733、Credit-Control は RFC 4006)、SIP (RFC 3261)、RTP / RTCP (RFC 3550) (M7) のメモです。定義は crates/wpg-protocols/src/{macsec,gtpv2,diameter,sip,rtp}.rs、サンプルは templates/protocols/l2/macsec.wpg.yaml、templates/protocols/mobile/、templates/protocols/voip/ にあります。
ethernet2 / macsec # EtherType 0x88e5 (Auto)。dot1q の後にも置ける
ethernet2 / ipv4 / udp / gtpv2 [/ gtpv2] # UDP 2123。ピギーバックされたメッセージは 2 つ目の gtpv2 レイヤ
ethernet2 / ipv4 / tcp / diameter # TCP 3868
ethernet2 / ipv4 / udp|tcp / sip # UDP / TCP 5060
ethernet2 / ipv4 / udp / rtp / payload # 任意のポート (レイヤを明示)。UDP 5004 はデコードされる
ethernet2 / ipv4 / udp / rtcp_sr / rtcp_sdes ... # RTCP 複合パケット。UDP 5005 はデコードされる
UDP / TCP の宛先ポートは Auto ではないので 2123、3868、5060 などを指定します (デコードでは送信元ポートも見ます)。
サンプル 内容
macsec明示的な SCI 付きの暗号化フレーム (アソシエーション番号 1、48 オクテットのセキュアデータ、不透明な ICV)
gtpv2-create-session-requestS11 の Create Session Request: IMSI、MSISDN、Serving Network、RAT Type、F-TEID 2 つ、APN、Selection Mode、PDN Type、PAA、AMBR、Bearer Context
gtpv2-create-session-responseCreate Session Response: Cause、F-TEID、PAA、APN Restriction、S1-U の F-TEID と Charging ID を含む Bearer Context
gtpv2-echo-requestTEID なしの Echo Request (Recovery IE)
diameter-cerVendor-Specific-Application-Id (S6a) 付きの Capabilities-Exchange-Request
diameter-ccr-initialSubscription-Id 付きの初回 Credit-Control-Request
sip-inviteUDP での SDP オファー付き INVITE
sip-registerTCP での本文なしの REGISTER
rtp-pcmuG.711 PCMU の 50 パケット (シーケンス番号とタイムスタンプのジェネレータ、160 オクテットのペイロード)
rtcp-sr-sdes受信レポート 1 件の送信者レポートと SDES の CNAME
rtcp-rr-bye受信者レポート、SDES の CNAME、理由付きの BYE
rtcp-feedback-app受信者レポート、PLI (汎用 rtcp レイヤ)、APP パケット
macsec レイヤは SecTAG とフレームの保護部分です。
フィールド 内容
v、es、sc、scb、e、cTCI のビット。sc は Auto: sci に要素があれば 1
anアソシエーション番号 (2 ビット)
slショート長 (6 ビット): セキュアデータが 48 オクテット未満のときその長さ、それ以外は 0。手動
pnパケット番号 (32 ビット)
sci[] または [{ system_identifier, port_identifier }]
secure_data不透明なオクテット列。書いた値がそのまま送られ、暗号化はしない
icv不透明な 16 オクテット。計算しない
解析ではフレームの最後の 16 オクテットを ICV、SecTAG と ICV の間をセキュアデータとします。Ethernet の最小長より短いフレームは (実際の回線と同じく) ICV の後に詰め物が付き、解析し直すと詰め物はセキュアデータ / ICV に含まれます。完全性保護のみのフレーム (E = C = 0) もそれ以上はデコードせず、ユーザデータは secure_data に残ります。
gtpv2 レイヤはヘッダ (version 2、p、t、mp、message_type、message_length、teid、sequence_number、message_priority) と IE (ies) です。
t は teid から Auto: teid: [0x1001] で TEID を送り、teid: [] (Echo) で省きます。
message_length は Auto (先頭 4 オクテットより後のオクテット数)。IE はこの長さで終わるので、ピギーバックされたメッセージ (p: 1) は次の gtpv2 レイヤになります。
IE は 8 ビット型、IE データの 16 ビット長、長さに数えないスペア / インスタンスの 1 オクテット (wpg-core TlvDef::uncounted_octets) です。型付きの IE はどれも先頭に spare と instance フィールドを持ちます。
- protocol: gtpv2
fields:
message_type: create_session_request
teid: [0]
ies:
- imsi: { digits: "00 01 01 21 43 65 87 f9" } # TBCD
- fteid: { interface_type: s11_mme_gtp_c, teid: 0x1001, ipv4: 192.0.2.1 }
- apn: { apn: "08 69 6e 74 65 72 6e 65 74" } # DNS ラベル
- bearer_context:
ies:
- ebi: { ebi: 5 }
- bearer_qos: { pl: 9, qci: 9 }
型 IE (name) とデータのフィールド
1 / 75 / 76 imsi / mei / msisdn (digits、TBCD のオクテット列)
2 cause (cause、pce、bce、cs、offending_ie)
3 recovery (restart_counter)
71 apn (apn、DNS ラベルのオクテット列)
72 ambr (uplink、downlink、kbps)
73 ebi (ebi)
74 ip_address / ip_address_ipv6 (address)。IE 長で判別
77 / 78 / 84 / 86 indication (flags)、pco、bearer_tft、uli (data / tft のオクテット列)
79 paa / paa_ipv6 / paa_ipv4v6 (pdn_type、ipv6_prefix_length、ipv6、ipv4)。IE 長で判別
80 bearer_qos (pci、pl、pvi、qci、mbr_uplink、mbr_downlink、gbr_uplink、gbr_downlink)
82 rat_type
83 serving_network (MCC / MNC の各桁)
87 fteid / fteid_ipv6 / fteid_ipv4v6 (v4、v6、interface_type、teid、ipv4、ipv6)。IE 長で判別
93 bearer_context (ies: 上の IE。1 段のみ)
94 / 95 charging_id、charging_characteristics
99 pdn_type
114 / 127 / 128 ue_time_zone、apn_restriction、selection_mode
255 private_extension (enterprise_id、value)
その他の IE は { type: N, data: "..." } (データはインスタンスのオクテットから始まる) で保持します。GTPv1-C (バージョン 1、同じ UDP 2123) はモデル化していません。そのメッセージはバージョンの警告付きで gtpv2 としてデコードされます。
diameter レイヤはヘッダ (version、message_length (Auto)、r / p / e / t フラグ、command_code、application_id、hop_by_hop、end_to_end) と AVP (avps) です。AVP はメッセージ長で終わるので、同じ TCP セグメント内の 2 つ目のメッセージは次のレイヤ (raw) になります。
AVP は 32 ビットのコード、フラグのオクテット (コードと長さの間: wpg-core TlvDef::head_octets)、ヘッダとデータを数え詰め物を数えない 24 ビット長 (Auto)、V フラグが 1 のときの Vendor-ID、4 オクテット境界まで詰めたデータ (Auto) です。型付きの AVP はどれも v (vendor_id から Auto)、m、p、reserved、vendor_id ([] または [10415]) の後にデータのフィールドを持ちます。
データ型 AVP (name) データのフィールド
OctetString / UTF8String / DiameterIdentity / DiameterURI session_id、origin_host、origin_realm、destination_host、destination_realm、product_name、user_name、error_message、route_record、proxy_host、proxy_state、class、redirect_host、service_context_id、subscription_id_data などvalue (オクテット列。テキストは '"..."')
Unsigned32 / Time vendor_id、supported_vendor_id、auth_application_id、acct_application_id、origin_state_id、firmware_revision、session_timeout、experimental_result_code、cc_request_number、event_timestamp などvalue
Unsigned64 accounting_sub_session_idvalue
Enumerated result_code、disconnect_cause、auth_session_state、auth_request_type、re_auth_request_type、termination_cause、accounting_record_type、cc_request_type、subscription_id_type、multiple_services_indicatorvalue (名前で指定可)
Address host_ip_address / host_ip_address_ipv6。AVP 長で判別address_family、address
Grouped vendor_specific_application_id、failed_avp、proxy_info、experimental_result、subscription_idavps (上の AVP。1 段のみ)
一覧にないコードのベンダ固有 AVP (3GPP など) は、フラグのオクテット・Vendor-ID・値を data に含めた { type: N, data: "..." } で保持します。SCTP 上の Diameter はメッセージのオクテット列を SCTP DATA チャンクのユーザデータに入れて作ります。SCTP はユーザデータをデコードしません (SCTP を参照)。
sip レイヤはテキストです。start_line と headers の各要素は CRLF で終わる行 (wpg-core Length::Until) で、CRLF なしで書くと合成時に CRLF とヘッダ後の空行が付きます。body はメッセージの残り (SDP のオファー / アンサーなど) です。
- protocol: sip
fields:
start_line: '"INVITE sip:bob@example.com SIP/2.0"'
headers:
- '"Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bK74bf9"'
- '"Content-Type: application/sdp"'
- '"Content-Length: 132"'
body: '"v=0\r\no=alice ...\r\n"'
Content-Length は通常のヘッダ行で手動のままです。本文に合わせてください (サンプルは合わせてあります)。空行のないメッセージは sip としてデコードされません。
RTP には決まったポートがなく、セッションのポートは SDP で決まります。udp の後に rtp / rtcp_* レイヤを明示的に置いてください。解析では IANA の rtp-avp / rtcp-avp ポート 5004 / 5005 だけを RTP / RTCP として選びます (tshark でも -d udp.port==N,rtp の指定が必要です)。
rtp は固定ヘッダ、csrc (数 cc は Auto)、header_extension ([] または [{ profile, data }]。X ビットとワード単位の長さは Auto、data は 32 ビットワードのリスト、profile 0xBEDE は RFC 8285 の 1 バイト要素) です。メディアのペイロードは次のレイヤ (payload / raw) です。パディングビットと詰め物は手動です。
RTCP は 1 パケット 1 レイヤなので、複合パケットは RTCP レイヤを重ねて作ります。件数 (report_count / source_count) と length (32 ビットワード数 − 1) は Auto で、各パケットはその長さで終わります。
レイヤ パケットタイプ 本体のフィールド
rtcp_sr200 ssrc、ntp_timestamp_msw / lsw、rtp_timestamp、packet_count、octet_count、report_blocks、extension
rtcp_rr201 ssrc、report_blocks、extension
rtcp_sdes202 chunks: [{ ssrc, items: [{ type, text }] }] (項目の長さ、null オクテット、詰め物は Auto)
rtcp_bye203 ssrcs、reason ([] または [{ text }])
rtcp_app204 subtype (件数フィールド)、ssrc、name (4 オクテット)、data
rtcp任意 count、body (オクテット列)。解析時は 200〜204 なら型付きのパケットとして読み直す
MACsec の暗号化 / ICV 計算、XPN (64 ビットのパケット番号)、完全性保護のみのユーザデータのデコード
GTPv1-C、上の表で型付けしていない GTPv2-C の IE (ULI、Indication のフラグ、PCO の中身はオクテット列)、入れ子の Bearer Context
Diameter のベンダ固有 AVP 辞書 (3GPP の S6a / Gx / Gy など)、2 段以上のグループ化 AVP、SCTP DATA チャンクからの Diameter の demux
SIP の Content-Length の Auto、ヘッダの名前 / 値への分解、SIP over TLS (5061)、マルチパート本文
RTP のペイロード形式、SRTP、RTCP のフィードバック (RTPFB / PSFB) と XR の本体 (rtcp でオクテット列として保持)
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ipv4 · udp · ipv6 · macsec · gtpv2 · diameter · sip · rtp · rtcp · rtcp_sr · rtcp_rr · rtcp_sdes · rtcp_bye · rtcp_app · payload · raw
組み込みにない独自プロトコルや社内プロトコルを、Rust を書かずに YAML ファイルで追加できます。追加したプロトコルは組み込みと同じ定義 IR (wpg_core::ProtocolDef) になるので、合成 (長さ・チェックサムの Auto を含む)、解析 (wpg import、受信画面のツリー)、ジェネレータ、GUI のビルダーとプレビューでそのまま使えます。
場所 指定
wpg servewpg.toml の [protocols] dirs = ["/etc/wpg/protocols.d"] と --protocols-dir <DIR> (両方の和)
ほかのサブコマンド (send / render / import / template lint / capture …) --protocols-dir <DIR> (繰り返し可) または環境変数 WPG_PROTOCOLS_DIR
Web UI ログイン後に GET /api/protocols/extensions からサーバの定義を取得し、ブラウザ内のカタログに追加 (再読み込み後も取得し直す)
ディレクトリ直下の *.yaml / *.yml をファイル名順に読み込みます (サブディレクトリは読みません)。定義に誤りがあるとコマンドは終了コード 2 で止まり、ファイル名と理由を表示します。wpg config validate も protocols.dirs を検査します。
wpg render examples/acme-telemetry.wpg.yaml -o acme.pcapng --protocols-dir examples/protocols.d
wpg import acme.pcapng -o acme.wpg.yaml --protocols-dir examples/protocols.d
wpg serve は起動時にディレクトリを読み込みます。ファイルを追加・変更・削除したら、再起動せずに再読み込みできます。
Web UI: 設定 → ユーザ定義プロトコル → 再読み込み 。
API: POST /api/protocols/reload (ほかの変更操作と同じく管理者のセッションと X-CSRF-Token が必要)。応答は読み込んだディレクトリと、使用中になったファイルの一覧です。接続中のブラウザには protocols_changed イベントが届き、定義を取得し直します。
読み直すのは起動時と同じディレクトリです (wpg.toml の [protocols] dirs を変えたときは再起動が必要)。読み込めないファイルがあると応答は 422 invalid_protocols (details.file / details.reason) になり、使用中のプロトコルは変わりません。実行中のジョブは開始時の定義を使い続けます。
読み込んだ定義の組み合わせは、異なるものごとにサーバの終了までメモリに残ります (実行中のジョブが使っている可能性があるため)。以前と同じ組み合わせを読み込んだときは再利用します。量は小さいものの、開発中に非常に頻繁に再読み込みするなら、ときどき再起動してください。
コマンド 内容
wpg protocols list [--json]プロトコルの一覧: ID、名前、レイヤ、定義元 (組み込み、または --protocols-dir のユーザ定義ファイル)
wpg protocols show <id> [--json]定義を拡張ファイルの形 (YAML) で表示。新しいプロトコルのひな形に使えます。--json は定義 IR を表示
wpg protocols check <file|dir>...拡張ファイルを検査 (どこにも読み込みません)。誤りがあれば終了コード 1
check は各ファイルを読み、組み込みプロトコルと --protocols-dir のほかのファイルとあわせて検査します (ファイル間の参照も解決します)。エラーにはファイル名とファイル内の位置が付きます。
my.yaml: protocols[0].fields[2]: missing field `bits` at line 12 column 9
acme.yaml: bind[0]: `udp.dst_port` value 4789 is already bound to `vxlan`
既存のプロトコルをもとに作る例:
wpg protocols show udp > protocols.d/my-proto.yaml
# `id` (と `name`) を変え、`description_key` の行を消してからフィールドを編集
wpg protocols check protocols.d/my-proto.yaml
1 ファイルに protocols (新しいプロトコル定義の一覧) と bind (既存プロトコルの次レイヤ表に足す項目の一覧) を書きます。どちらも省略できます。例はリポジトリの examples/protocols.d/acme-telemetry.yaml にあります。
protocols:
- id: acme_tlm # 一意な id (テンプレートの `protocol:` に書く名前)
name: ACME Telemetry # 表示名
layer: l7 # パレットの分類: l2 / l3 / l4 / l7 / payload
fields: # ワイヤ上の順
- name: version
type: { kind: uint, bits: 4 }
default: { uint: 1 }
- name: msg_type
type:
kind: enum
bits: 4
variants:
- { value: 1, name: report }
- { value: 2, name: alarm }
default: { uint: 1 }
- name: length
type: { kind: uint, bits: 16 }
auto: { kind: length, of: total } # ヘッダ + 以降のオクテット数
- name: readings
type: { kind: bytes, len: { kind: to_end } }
bind:
- under: udp # 下位プロトコル
value: 47000 # その選択フィールド (UDP は dst_port、解析では src_port も) の値
protocol: acme_tlm
各定義の形は GET /api/protocols/{id} が返す JSON と同じです。wpg protocols show <id> で既存のプロトコルをこの形式で表示でき、ひな形に使えます。
フィールド型 (type.kind): uint / int (bits)、enum (bits, variants)、flags (bits, flags)、bytes (len)、mac、ipv4、ipv6、nsap、cstring、tlv、list、padding、raw。
既定値 (default) は { uint: 1 }、{ bytes: [0, 1] } のように型名 1 つのマップで書きます。
自動計算 (auto): 長さ (kind: length, of: header | payload | total)、チェックサム (kind: checksum, algorithm: internet | internet_pseudo_header | fletcher | crc32 | crc32c …)、次ヘッダ (kind: next_protocol) など。
次レイヤの選択 (next): このプロトコルの上に別のプロトコルを載せるときに field と table (value → protocol) を書きます。
定義は読み込み時に組み込みと同じ検査 (ビット幅、オクテット境界、Auto の対象など) を受け、知らないキーはエラーになります。
キー 意味
under下位プロトコルの id (udp、tcp、ethernet2、dot1q、ipv4 …)
value / max選択フィールドの値 (max を書くと value..=max の範囲)
protocol選ばれるプロトコルの id (組み込みでも拡張でも可)
field下位プロトコルにまだ次レイヤ表がないときだけ必要な選択フィールド名。表があるときは、その選択フィールドと一致している必要があります
EtherType で結び付けるときは、ethernet2 と dot1q (VLAN の後) のように必要な下位レイヤごとに書きます。
組み込みプロトコルの id は使えず、組み込みの定義は変更できません (同じ id は 2 つ目のファイルでもエラー)。
下位プロトコルがすでに別のプロトコルに割り当てている値 (例: UDP 4789 = VXLAN) には結び付けられません。
UDP / TCP のポートは Auto ではないため、テンプレートでは dst_port を明示してください (bind は解析と GUI の候補表示に使われます)。
フィールドの説明 (Fluent の description_key) は組み込み用です。ユーザ定義プロトコルでは省略してください。
プロトコルリファレンス (wpg docs gen) は組み込みプロトコルだけを対象にします。
このページのプロトコルのフィールドリファレンス (定義から自動生成):
ethernet2 · dot1q · ipv4 · tcp · udp · ipv6 · raw
テンプレートは 1 つのストリームを記述する YAML ファイル (.wpg.yaml。.wpg.json の JSON も同等) です。レイヤスタック、フィールドを変化させるジェネレータ、送出プロファイルから成ります。機械可読な定義は docs/schema/template.schema.json で、wpg template schema でも出力できます。未知のキーはエラーになるのでタイプミスを検出できます。ファイルの検査は wpg template lint FILE です。
schema: 1 # 必須
meta: { ... } # 必須
variables: [ ... ] # 任意
layers: [ ... ] # 必須。外側から内側の順
packet: { ... } # 任意
stream: { ... } # 任意
tx: { ... } # 任意
キー 意味
name必須の表示名。ライブラリ内で一意 (同梱ライブラリはテストで確認)
description自由記述
descriptions言語別の説明: ja: と en:
tags検索用タグ。同梱ライブラリは protocol:<id>、layer:l2|l3|l4、scenario、malformed と話題語を使う
author, created自由記述。created は日付または RFC 3339 の時刻
テンプレート引数です。各項目は name、任意の default (文字列・数値・真偽値)、description を持ちます。フィールド値やジェネレータの中で ${name} と書き、実行時に --var name=value (wpg send、wpg render) や GUI で上書きします。既定値も上書きも無い変数はエラーで、宣言の無い ${…} もエラーです。宣言だけで使われていない変数は警告になります。
次の任意のキーで値を制約できます。書かなければどんな文字列も受け付けます。
キー 意味
typeuint、int、bool、string、ipv4、ipv6、mac、bytes。値の書式はフィールドと同じです (0x0800、0200.0000.0001)
choices許す値の一覧
min、max範囲 (両端を含む)。uint と int のみ
required実行時に値の指定が必須。default は持てません
variables:
- { name: vlan_id, type: uint, min: 1, max: 4094, default: 100 }
- { name: target, type: ipv4, required: true }
- { name: proto, type: uint, choices: [6, 17], default: 17 }
wpg template lint は既定値と選択肢を検査します。実行時の値 (--var、ジョブ API と render API の vars) が合わなければテンプレートエラーになり、変数名と期待する値を示します。CLI は終了コード 3、サーバは 422 invalid_template を返します。bool は true、false、1、0 を受け付け、1 か 0 として代入されます。GUI のジョブ作成フォームは変数ごとに合った入力欄を表示します。
各項目は protocol (カタログの ID。プロトコルリファレンス を参照)、fields、generators から成ります。
書いたフィールドは Manual 、書かない (または auto にした) フィールドは既定値になるか、計算されます (長さ、チェックサム、次プロトコル番号)。値は人間向け表記です。
型 例
整数 64、0x0800、0b101
MAC / IPv4 / IPv6 02:00:00:00:00:01、192.0.2.1、2001:db8::1 ("00:11:22:33:44:55" のように数字だけの MAC は YAML が数値と解釈しうるので引用符で囲む)
バイト列 "00 01 02 03" (必ず引用符)。テキストは '"text"' (\r、\n、\t のエスケープ可)
テキスト行 (CRLF で終わる SIP の行) start_line: '"INVITE sip:bob@example.com SIP/2.0"' (終端は自動で付く)
enum 数値かバリアント名: ethertype: arp、oper: request、type: echo_request
flags ビット名を | で連結: flags: syn|ack、flags: df
TLV リスト (TCP/IPv4 オプション) - mss: 1460、- sack_permitted、- nop、- timestamps: { tsval: 1, tsecr: 0 }、- { type: 99, data: "01 02" }
リスト / TLV リストをそのままのオクテット列で nlri: "18 c6 33 64" (リストの代わりに引用符付きの 16 進文字列。インポートがデコードできない内容をこの形で書く)
わざと誤った値も受け付けます。Manual の長さやチェックサムは書いたとおりに使われ、wpg template lint は不一致を警告 (diag-*) として報告します。templates/malformed/ のサンプルはこの仕組みで作っています。
フィールド名からジェネレータへの対応です。完全形か、GUI と同じ短縮表記で書きます。
kindパラメータ 短縮表記 意味
rangestart、end、step (既定 1)192.168.1.1-192.168.5.254、1-1024両端を含むスイープ。件数が多いと先頭に戻る
range (CIDR)10.0.0.0/22ブロックのホストアドレス
listvalues1,5,9値を順に繰り返す
randommin、max、seed一様乱数 (整数、IPv4、IPv6)
random_macoui、seed00:11:22:*ランダムな MAC (上位を固定可)
counterstart、step、wrap増加する値。wrap が無ければ無限
filepathファイルから読む値
exprexpr計算式による値
同じフィールドに固定値とジェネレータを書くと lint が警告します。
expr ジェネレータはパケットごとに整数を計算します。結果は他の値と同じようにフィールドに書き込まれるので、数値のほか IPv4 / IPv6 アドレスや MAC アドレスも埋められます。
要素 意味
12、0x1f、0b101リテラル (10 進、16 進、2 進)
idxストリーム内のパケット番号 (0、1、2、…)
$field、$<layer>.field同じパケットでの、別の ジェネレータ付き フィールドの値。<layer> の書き方は stream.order と同じ ($0.src と $ethernet2.src はどちらも先頭レイヤの src ジェネレータ、$ipv4[1].src は 2 つ目の ipv4)
+ - * / %、<< >>、& ^ |、単項 - ~C と同じ演算子と優先順位。整数演算 (128 ビット、桁あふれは折り返し)
hash(x)、crc(x)x (8 オクテットのビッグエンディアン) の FNV-1a 64 / CRC-32。連番を散らすのに使う
rand(min, max)min から max までの乱数。パケット番号と stream.seed で決まる
min(a, ...)、max(a, ...)引数の最小 / 最大
参照できるのは、同じテンプレートでジェネレータを持つフィールドだけです。固定値のフィールドは見えません (変数にして ${name} と書けば、式の解析より前に置き換わります)。expr が別の expr を参照できるのは、参照先がテンプレート内で先にある場合だけです。同梱ライブラリの例:
generators:
chaddr: { kind: expr, expr: "$0.src" } # Ethernet の送信元 MAC を写す (dhcp-discover-flood)
xid: { kind: expr, expr: "rand(0, 0xffffffff)" } # 再現可能なランダムのトランザクション ID
label: { kind: expr, expr: "${srgb_base} + ${first_index} + idx" } # SR-MPLS の Prefix SID (sr-mpls-prefix-sid-sweep)
キー 既定 意味
pad_to_mintrueEthernet の最小 60 オクテット (FCS 除く) までゼロ埋め
fcsnoneauto は正しい CRC-32、bad は誤った CRC-32 を付け、none は付けない
ジェネレータの組み合わせ方とストリームの長さです。
キー 意味
modezip (既定。同時に進める)、product (最後が最速)、nested
ordernested 用。遅い方から速い方へ <レイヤ>.<フィールド> で列挙。<レイヤ> は 0 始まりの添字、スタック内で一意なプロトコル ID (dot1q.vid、arp.tpa)、または同じプロトコルが複数あるときの <プロトコル>[<n>] (0 始まりで n 番目。ipv4[1].src はトンネル内側の IPv4)
countパケット数。既定は tx.count、無ければジェネレータの自然な長さ
seedランダムジェネレータの seed。ストリームを再現可能にする
無限のジェネレータ (wrap 無しの counter) には count が必要で、product や nested の内側には置けません。
キー 意味
count送信パケット数 (count も duration_secs も無ければ停止するまで)
duration_secs秒単位の時間制限
rate1000pps、1Mpps、10Gbps、50%、ifg=10us
burst連続送信するフレーム数
wpg send のコマンドラインオプションが優先されます。
wpg send、wpg render、wpg template show、wpg bench --template では、ファイルを編集せずにその実行だけテンプレートを変えられます。
オプション 効果
--vars-file FILEYAML または JSON のマップ (dst_ip: 10.1.2.3) から変数の値を読みます。
--var NAME=VALUE変数を 1 つ指定します (複数回指定可)。--vars-file より優先され、--vars-file はテンプレートの default より優先されます。
--set LAYER.FIELD=VALUEフィールドを fields: と同じ表記の値に固定します。フィールドは Manual になり、ジェネレータは外れます。
--gen LAYER.FIELD=GENフィールドにジェネレータを付け、固定値を外します。
LAYER はプロトコル ID (最初のレイヤ: ipv4)、0 から数えた n 番目のレイヤ (ipv4[1] は IP-in-IP の内側のヘッダ)、または 0 始まりのレイヤ添字 (2) です。FIELD は プロトコルリファレンス にあるフィールド名です。存在しないレイヤやフィールドを指定すると終了コード 3 で止まり、テンプレートのレイヤ一覧か近いフィールド名を表示します。--vars-file の変数も --var と同じく、テンプレートで宣言されている必要があります。
GEN は次のいずれかです。
短縮表記 ジェネレータ
range:A..B、range:A..B/STEPA から B まで (両端を含む) の range
list:a,b,clist
random、random:MIN..MAXrandom
counter、counter:START、counter:START/STEPcounter
expr:EXPRexpr
上記以外 generators: の短縮表記: 10.0.0.1-10.0.0.9、10.0.0.0/24、1,5,9、00:11:22:*
$ wpg render templates/examples/eth-ipv4-udp-range.wpg.yaml -o out.pcapng --count 100 \
--vars-file lab.yaml --set ipv4.ttl=1 --gen udp.src_port=range:1024..1123
payload は実際のプロトコルではなく、フィールドが生成を制御します。mode (fixed、pattern、random、counter)、data、length、seed、counter モードでは counter_offset、counter_width (u32 または u64)、counter_value (通常は counter ジェネレータで与える) です。raw は指定したバイト列をそのまま置きます。
キー 重大度 意味
lint-schema-versionerror 未対応の schema
lint-missing-namewarning meta.name が空
lint-no-layerserror レイヤなし
lint-unknown-protocol, lint-unknown-fielderror カタログにない
lint-invalid-value, lint-invalid-generatorerror 値やジェネレータがフィールド型に合わない
lint-unknown-variable, lint-missing-variableerror 宣言のない変数 / 値のない変数
lint-unused-variablewarning 宣言だけで未使用
lint-next-protocol-manualwarning 次レイヤが前のレイヤのバインディング表になく、次プロトコルのフィールドを Auto にできない
lint-field-and-generatorwarning 同じフィールドに固定値とジェネレータ
diag-*error / warning 構築したパケットの診断 (計算値と異なるチェックサムや長さなど)
templates/ は既定でライブラリとして読み込まれ、crates/wpg-template/tests/samples.rs で検証されています。
フォルダ 内容
examples/小さな出発点 5 本
protocols/l2, l3, l4, payload, frameカタログの全プロトコルのサンプル。ジャンボ、最小サイズ、ランツ、FCS の例を含む
scenarios/すぐ使える試験: ARP スイープ、SYN フラッドとポートスキャン、QinQ、NDP と RA、ping と TTL スイープ、QoS マトリクス、MTU 探索、フレーム長スイープ、MAC フラッド、SR-MPLS Prefix SID スイープ、DHCP DISCOVER 負荷
interop/実機・FRR との相互接続確認: OSPFv2 2-Way、RIPv2 経路、IS-IS 隣接 Up、VRRPv3 プリエンプト、PIM ネイバー、LDP ディスカバリ、BFD セッション Up (interop タグ。手順は運用ガイドの「相互接続確認」)
malformed/わざと壊したパケット (チェックサム不正、長さ不一致、切り詰め、FCS 不正)。設計上 lint が警告を出し、malformed タグが付く
一覧は wpg template list templates で表示できます。
テンプレート形式の JSON Schema (wpg template schema) から自動生成しています。説明文はコードの doc コメント (英語) です。Template が文書のルートです。
A .wpg.yaml template: one packet (+ generators) = one stream.
Frame check sequence choice.
値 説明
"auto"Append the correct CRC-32.
"bad"Append a deliberately wrong CRC-32.
"none"No FCS (what capture / TX backends usually expect).
A field value as written in YAML / JSON: a scalar in human notation or a
structured value for TLV (options) and list fields.
scalars: 64, "192.168.1.1", 0x0800, syn|ack (flag names), ipv4 (enum
variant names), auto. Hex byte strings must be quoted ("00 01 02");
TLV: a list of items, each a bare variant name (nop), a one-key map
({ mss: 1460 }, { timestamps: { tsval: 1, tsecr: 0 } }) or the explicit form
{ type: 99, data: "01 02" } / { name: mss, length: 4, fields: { value: 1 } };
list: a list of scalars, or of maps for lists of field groups.
値 説明
nullEmpty (~): e.g. an option without value.
booleantrue / false (1 / 0).
integerUnsigned integer.
integerNegative integer.
stringText in human notation.
FieldInput[]Sequence (TLV items, list elements).
map<string, FieldInput>Mapping (TLV item, field group).
Field value generator, tagged by kind.
キー 型 必須 説明
endstring | integerはい
kind"range"はい
startstring | integerはい
stepinteger
キー 型 必須 説明
kind"list"はい
values(string | integer)[] はい
キー 型 必須 説明
kind"random"はい
maxstring | integer
minstring | integer
seedinteger
キー 型 必須 説明
kind"random_mac"はい
ouistring
seedinteger
キー 型 必須 説明
kind"counter"はい
startinteger
stepinteger
wrapinteger
キー 型 必須 説明
kind"file"はい
pathstringはい
キー 型 必須 説明
exprstringはい
kind"expr"はい
A generator of a layer field: either a full [Generator] or the human shorthand
of the GUI (192.168.1.1-192.168.5.254, 10.0.0.0/24, 1,5,9, 00:11:22:*).
値 説明
GeneratorFull form, e.g. { kind: range, start: 192.168.1.1, end: 192.168.1.254 }.
stringShorthand parsed with wpg_core::notation::parse_generator.
Template metadata.
キー 型 必須 説明
authorstring | nullAuthor.
createdstring | nullCreation timestamp (RFC 3339 or a plain date).
descriptionstring | nullFree-form description.
descriptionsmap<string, ``string``>Localised descriptions keyed by language tag (ja, en).
namestringはい Display name.
tagsstring``[]Tags for search / grouping.
Frame-level packet options.
キー 型 必須 説明
fcsFcsChoiceFrame check sequence.
pad_to_minbooleanZero-pad to the minimum frame length (Ethernet: 60 octets).
A YAML scalar; variable defaults may be written as numbers.
値 説明
string
integer
integer
boolean
How generators of several fields are combined (see wpg_core::stream::Mode).
値 説明
"zip"Advance all generators in lockstep.
"product"Cartesian product, the last generator varies fastest.
"nested"Product with an explicit priority given by [StreamOptions::order].
Stream expansion options.
キー 型 必須 説明
countinteger | nullNumber of packets; defaults to tx.count, then to the natural length.
modeStreamModeCombination mode of the generators.
orderstring``[]For nested: fields from the slowest to the fastest, as <layer>.<field> where <layer> is a 0-based index, a protocol id (ipv4.src) or the n-th occurrence of a protocol (ipv4[1].src).
seedinteger | nullSeed for random generators.
One layer of the template’s packet.
キー 型 必須 説明
fieldsmap<string, FieldInput>Manually set fields in human notation (192.168.1.1, 0x0800, syn|ack, ${src_ip}). Unlisted fields use their default or Auto value; the literal auto also leaves a field Auto. TLV / list fields take structured values.
generatorsmap<string, GeneratorSpec>Generators varying fields across the stream.
protocolstringはい Protocol id from the catalog (e.g. ethernet2).
How the stream is transmitted.
キー 型 必須 説明
burstinteger | nullBurst size in packets.
countinteger | nullNumber of packets (None together with duration_secs: None = infinite).
duration_secsnumber | nullDuration limit in seconds.
ratestring | nullRate in human notation: 1000pps, 1Mpps, 10Gbps, 50%.
Value type of a template variable (the field-type names of the protocol catalog).
値 説明
"uint"Unsigned integer: 64, 0x0800, 0b101.
"int"Signed integer: -1, +5, 0x10.
"bool"true / false (or 1 / 0); substituted as 1 / 0.
"string"Any text.
"ipv4"IPv4 address.
"ipv6"IPv6 address.
"mac"MAC address.
"bytes"Octets in hex: "00 01 02".
A template argument (${name} placeholder) overridable at run time.
キー 型 必須 説明
choicesScalar[]Allowed values; any other value is rejected.
defaultScalar | nullDefault value (human notation; numbers and booleans are accepted too).
descriptionstring | nullDescription shown in the GUI / CLI.
maxinteger | nullLargest allowed value (type: uint / int only).
mininteger | nullSmallest allowed value (type: uint / int only).
namestringはい Placeholder name.
requiredbooleanA value must be given at run time; the variable has no default.
typeVarType | nullValue type; values (default, --var, job vars) are checked against it. Without a type any text is accepted.
wpg-server は /api 以下で REST (JSON) API を提供し、リアルタイム統計・ジョブの状態変化・ログを WebSocket (GET /api/ws) で配信します。このページはサーバの OpenAPI ドキュメント (utoipa) から自動生成しています。起動中のサーバは同じドキュメントを /api/openapi.json で、Swagger UI を /api/docs/ で提供し、写しを docs/schema/openapi.json に置いています。POST /api/auth/login (初回は POST /api/auth/setup) でログインすると、以降は wpg_session クッキーで認証されます。POST / PUT / DELETE では GET /api/auth/status の CSRF トークンを X-CSRF-Token ヘッダでも送ってください。エラーは JSON オブジェクト error で、code、message (Accept-Language の言語)、details を持ちます。以下のエンドポイントとスキーマの説明はコード由来 (英語) です。
タグ エンドポイント 概要
auth POST /api/auth/loginLogs in (rate limited per client address: 5 failures a minute, then an exponentially growing lock-out up to 15 minutes). Requires Content-Type: application/json.
auth POST /api/auth/logoutLogs out (needs X-CSRF-Token when the session is live) and clears the cookies.
auth POST /api/auth/setupFirst-run setup: sets the admin password and logs in. Only while no password is configured, and only from a loopback client unless the server runs with --allow-insecure. Requires Content-Type: application/json.
auth GET /api/auth/statusAuthentication state of the caller (never requires a session).
auth GET /api/tokensAPI tokens (admins: all; others: their own), oldest first.
auth POST /api/tokensCreates a token for the logged-in user, with that user’s role. The response is the only place the secret appears.
auth DELETE /api/tokens/{id}Revokes (deletes) a token; requests with it fail from now on.
system GET /api/healthLiveness probe.
system GET /api/system/backendsTransmit backends of this build.
system GET /api/system/doctorSelf-diagnosis (wpg doctor --json), with localised summary / fix.
system GET /api/system/ifacesNetwork interfaces with usable (up, running, not loopback) and allowed (by tx.allowed_ifaces).
system GET /api/versionBuild information.
protocols GET /api/protocolsThe catalog in palette order.
protocols GET /api/protocols/extensionsThe user-defined protocol files in use ([protocols] dirs, --protocols-dir; loaded at startup or by POST /api/protocols/reload): their definitions and bindings, so that the web UI can add them to its in-browser catalog. Empty without extensions.
protocols POST /api/protocols/reloadReads the user-defined protocol directories of the server again ([protocols] dirs, --protocols-dir) and switches the catalog to what they hold now; WebSocket clients get a protocols_changed event. Jobs that are already running keep the catalog they started with. On an error nothing changes. Admin only.
protocols GET /api/protocols/{id}The full definition (wpg_core::ProtocolDef): fields with types, defaults, auto computations and bindings. Every description_key gets a localised description next to it.
packets POST /api/lintChecks a template (wpg template lint). A template that does not even parse is reported as a single error at path "".
packets POST /api/parseDecodes raw bytes into layers (Hex paste import).
packets POST /api/renderRenders packets of a template (preview).
templates GET /api/templatesLists / searches templates.
templates POST /api/templatesCreates a template in the user directory (file name from meta.name).
templates POST /api/templates/importImports a .wpg.yaml (or JSON) document into the user directory.
templates GET /api/templates/{id}One template (also marks it as recently used).
templates PUT /api/templates/{id}Replaces a user template.
templates DELETE /api/templates/{id}Deletes a user template.
templates POST /api/templates/{id}/duplicateCopies a template (library or user) into the user directory.
templates GET /api/templates/{id}/exportDownloads a template as .wpg.yaml (the file itself, comments included).
templates POST /api/templates/{id}/favoriteSets (or, without a body, toggles) the favourite flag.
jobs GET /api/jobsAll live jobs (created, running and recently finished), newest first.
jobs POST /api/jobsCreates (and by default starts) a job.
jobs GET /api/jobs/historyFinished jobs (last 100), newest first.
jobs GET /api/jobs/{id}One job (live or from the history).
jobs DELETE /api/jobs/{id}Removes a job (a running one is stopped first and recorded in the history).
jobs POST /api/jobs/{id}/pausePauses a running job.
jobs POST /api/jobs/{id}/resumeResumes a paused job.
jobs POST /api/jobs/{id}/startStarts a job created with start: false.
jobs GET /api/jobs/{id}/statsLatest statistics snapshot of a job.
jobs POST /api/jobs/{id}/stopStops a job (asynchronously; watch job_state or poll the job).
jobs GET /api/stats/overviewDashboard summary.
captures GET /api/capturesAll captures (running and the last finished ones), newest first.
captures POST /api/capturesStarts a capture.
captures GET /api/captures/backendsReceive backend availability on this build / OS.
captures POST /api/captures/filterChecks a capture filter without starting a capture.
captures GET /api/captures/{id}One capture.
captures DELETE /api/captures/{id}Removes a capture (a running one is stopped first; a saved pcapng file stays on disk).
captures GET /api/captures/{id}/packetsThe first N matching frames of a capture (live while it runs).
captures GET /api/captures/{id}/pcapngThe pcapng file of a finished capture started with save.
captures POST /api/captures/{id}/stopStops a running capture (asynchronously; watch capture_state).
events GET /api/wsWebSocket upgrade.
terminal GET /api/terminal/known-hostsTrusted SSH host keys (<data_dir>/terminal/known_hosts).
terminal DELETE /api/terminal/known-hosts/{host}/{port}Forgets the host key(s) of host:port (after a legitimate key change).
terminal GET /api/terminal/logsSession logs, newest first.
terminal GET /api/terminal/logs/{name}Downloads a session log (text/plain, also while it is being written).
terminal DELETE /api/terminal/logs/{name}Deletes a session log (not one that is being written).
terminal GET /api/terminal/statusConfiguration and running sessions (also when the terminal is disabled, so the UI can explain how to enable it).
terminal GET /api/terminal/wsOpens a terminal session (WebSocket). Send connect first; see TerminalClientMessage / TerminalServerMessage. Remote output arrives as binary frames, keystrokes may be sent as binary frames or input messages.
snmp GET /api/snmp/captureRecording state.
snmp POST /api/snmp/captureStarts / stops the recording of every SNMP datagram this server sends or receives (requests, responses, traps), or clears it.
snmp GET /api/snmp/capture/downloadThe recorded frames as a pcap / pcapng file (Ethernet / IP / UDP synthesised around the real datagrams; placeholder MAC addresses).
snmp POST /api/snmp/getGetRequest.
snmp POST /api/snmp/getbulkGetBulkRequest (v2c / v3).
snmp POST /api/snmp/getnextGetNextRequest.
snmp POST /api/snmp/informSends an InformRequest (v2c / v3) and waits for the acknowledgement.
snmp GET /api/snmp/mibsLoaded MIB modules with their load state.
snmp POST /api/snmp/mibsUploads MIB files (stored under <data_dir>/mibs, loaded at once).
snmp GET /api/snmp/mibs/nodeDetails of a MIB node (longest-prefix match for instances).
snmp GET /api/snmp/mibs/searchFinds MIB objects by name (for OID autocompletion).
snmp GET /api/snmp/mibs/treeOne level of the MIB tree.
snmp DELETE /api/snmp/mibs/{module}Deletes an uploaded module (its whole file). Bundled modules cannot be deleted.
snmp GET /api/snmp/receiverReceiver state.
snmp POST /api/snmp/receiver/startStarts (or restarts) the trap / inform receiver.
snmp POST /api/snmp/receiver/stopStops the receiver.
snmp POST /api/snmp/setSetRequest.
snmp GET /api/snmp/statusWhether the SNMP tool is enabled, with MIB / receiver / recording summaries.
snmp POST /api/snmp/trapSends a trap (v1 Trap-PDU, SNMPv2-Trap, or a v3 trap with this server as the authoritative engine). The result lists the bindings sent.
snmp GET /api/snmp/trapsReceived notifications, newest first (also pushed as snmp_trap events on the WebSocket).
snmp DELETE /api/snmp/trapsForgets the received notifications.
snmp POST /api/snmp/walkWalks one or more subtrees (GetBulk on v2c / v3, GetNext on v1); conceptual tables in the result are also returned as rows × columns.
dhcp GET /api/dhcpState, settings and counters.
dhcp PUT /api/dhcpSaves the settings; a running server restarts with them.
dhcp GET /api/dhcp/activityRecent requests and replies, newest first (wpg_dhcp::Activity).
dhcp DELETE /api/dhcp/activityClears the activity log.
dhcp GET /api/dhcp/leasesLeases (wpg_dhcp::Lease: kind v4 / na / pd, addr, plen, client, iaid, mac, hostname, state, expires, updated).
dhcp DELETE /api/dhcp/leasesDeletes one lease (key) or all of them. The client keeps using the address until it renews.
dhcp POST /api/dhcp/startStarts (or restarts) the server; it also starts at boot until stopped.
dhcp POST /api/dhcp/stopStops the server (and its start at boot).
ログイン、ログアウト、初回セットアップ。
Logs in (rate limited per client address: 5 failures a minute, then an exponentially growing lock-out up to 15 minutes). Requires Content-Type: application/json.
リクエスト本文 : application/json LoginRequest
レスポンス
ステータス 説明 本文
204Logged in; Set-Cookie: wpg_session, wpg_csrf
401unauthorized / setup_requiredapplication/json ErrorBody
415Not JSON application/json ErrorBody
429rate_limited: details.retry_after_secs, Retry-Afterapplication/json ErrorBody
Logs out (needs X-CSRF-Token when the session is live) and clears the cookies.
レスポンス
ステータス 説明 本文
204Logged out
403csrf_failedapplication/json ErrorBody
First-run setup: sets the admin password and logs in. Only while no password is configured, and only from a loopback client unless the server runs with --allow-insecure. Requires Content-Type: application/json.
リクエスト本文 : application/json SetupRequest
レスポンス
ステータス 説明 本文
204Password set; Set-Cookie: wpg_session, wpg_csrf
400Passwords differ / too short application/json ErrorBody
403forbidden: remote clientapplication/json ErrorBody
409already_configuredapplication/json ErrorBody
415Not JSON application/json ErrorBody
Authentication state of the caller (never requires a session).
レスポンス
API tokens (admins: all; others: their own), oldest first.
レスポンス
ステータス 説明 本文
200Tokens (without secrets) application/json TokenInfo[]
403forbidden: bearer requests cannot manage tokensapplication/json ErrorBody
Creates a token for the logged-in user, with that user’s role. The response is the only place the secret appears.
リクエスト本文 : application/json CreateToken
レスポンス
ステータス 説明 本文
201Created application/json CreatedToken
400Invalid name or expiry application/json ErrorBody
403forbidden: bearer requests cannot manage tokensapplication/json ErrorBody
Revokes (deletes) a token; requests with it fail from now on.
パラメータ
名前 位置 型 必須 説明
idpath integerはい Token id
レスポンス
ステータス 説明 本文
204Revoked
403forbidden: bearer requests cannot manage tokensapplication/json ErrorBody
404Unknown id application/json ErrorBody
ヘルスチェック、バージョン、インタフェース、自己診断、送出バックエンド。
Liveness probe.
レスポンス
ステータス 説明 本文
200The server is up application/json Health
Transmit backends of this build.
レスポンス
ステータス 説明 本文
200Backends application/json Backends
Self-diagnosis (wpg doctor --json), with localised summary / fix.
レスポンス
ステータス 説明 本文
200{ ok, locale, checks: [...] }application/json object
Network interfaces with usable (up, running, not loopback) and allowed (by tx.allowed_ifaces).
パラメータ
名前 位置 型 必須 説明
refreshquery booleanRe-read the interfaces instead of using the few-seconds cache.
レスポンス
ステータス 説明 本文
200Interfaces (wpg ifaces --json plus usable / allowed) application/json object``[]
500Enumeration failed application/json ErrorBody
Build information.
レスポンス
ステータス 説明 本文
200Version and build info application/json VersionInfo
プロトコルカタログ (プロトコルリファレンス 参照)。
The catalog in palette order.
レスポンス
The user-defined protocol files in use ([protocols] dirs, --protocols-dir; loaded at startup or by POST /api/protocols/reload): their definitions and bindings, so that the web UI can add them to its in-browser catalog. Empty without extensions.
レスポンス
ステータス 説明 本文
200Extension files (protocols, bind, source) application/json object``[]
Reads the user-defined protocol directories of the server again ([protocols] dirs, --protocols-dir) and switches the catalog to what they hold now; WebSocket clients get a protocols_changed event. Jobs that are already running keep the catalog they started with. On an error nothing changes. Admin only.
レスポンス
ステータス 説明 本文
200Loaded files application/json ReloadResult
403forbidden: not an adminapplication/json ErrorBody
422invalid_protocols: a file does not load (details.file, details.reason)application/json ErrorBody
The full definition (wpg_core::ProtocolDef): fields with types, defaults, auto computations and bindings. Every description_key gets a localised description next to it.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Protocol id
レスポンス
ステータス 説明 本文
200Protocol definition IR application/json object
404Unknown protocol application/json ErrorBody
パケットの合成、デコード、lint。
Checks a template (wpg template lint). A template that does not even parse is reported as a single error at path "".
リクエスト本文 : application/json LintRequest
レスポンス
Decodes raw bytes into layers (Hex paste import).
リクエスト本文 : application/json ParseRequest
レスポンス
Renders packets of a template (preview).
リクエスト本文 : application/json RenderRequest
レスポンス
ステータス 説明 本文
200Rendered packets application/json RenderResponse
400Bad request application/json ErrorBody
422Invalid template (details: lint issues) application/json ErrorBody
テンプレートライブラリ。
Lists / searches templates.
パラメータ
名前 位置 型 必須 説明
qquery stringCase-insensitive search in id, name, descriptions, tags and protocols.
tagquery stringRequired tag(s), comma separated.
favoritequery booleanOnly favourites (true) / non-favourites (false).
sourcequery TemplateSourceOnly user or library templates.
レスポンス
Creates a template in the user directory (file name from meta.name).
リクエスト本文 : application/json object — Template (JSON form of .wpg.yaml)
レスポンス
Imports a .wpg.yaml (or JSON) document into the user directory.
リクエスト本文 : text/yaml string — Template YAML
レスポンス
One template (also marks it as recently used).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Template id
レスポンス
Replaces a user template.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Template id
リクエスト本文 : application/json object — Template (JSON form of .wpg.yaml)
レスポンス
Deletes a user template.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Template id
レスポンス
ステータス 説明 本文
204Deleted
403Read-only library template application/json ErrorBody
404Unknown id application/json ErrorBody
Copies a template (library or user) into the user directory.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Template id
レスポンス
Downloads a template as .wpg.yaml (the file itself, comments included).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Template id
レスポンス
ステータス 説明 本文
200YAML text/yaml string
404Unknown id application/json ErrorBody
Sets (or, without a body, toggles) the favourite flag.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Template id
リクエスト本文 : application/json Favorite | null — {"favorite": bool}; empty or null = toggle
レスポンス
送出ジョブと統計。
All live jobs (created, running and recently finished), newest first.
レスポンス
ステータス 説明 本文
200Jobs application/json JobInfo[]
Creates (and by default starts) a job.
リクエスト本文 : application/json CreateJob
レスポンス
ステータス 説明 本文
201Created application/json JobInfo
400Invalid job application/json ErrorBody
403policy_violation: interface or rate not allowedapplication/json ErrorBody
404Unknown template id application/json ErrorBody
422Invalid template application/json ErrorBody
502backend_error: the backend could not be openedapplication/json ErrorBody
Finished jobs (last 100), newest first.
レスポンス
ステータス 説明 本文
200Finished jobs application/json JobInfo[]
One job (live or from the history).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Job id
レスポンス
ステータス 説明 本文
200Job application/json JobInfo
404Unknown id application/json ErrorBody
Removes a job (a running one is stopped first and recorded in the history).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Job id
レスポンス
ステータス 説明 本文
204Deleted
404Unknown id application/json ErrorBody
Pauses a running job.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Job id
レスポンス
ステータス 説明 本文
200Pausing application/json JobInfo
404Unknown id application/json ErrorBody
409Not running application/json ErrorBody
Resumes a paused job.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Job id
レスポンス
ステータス 説明 本文
200Resuming application/json JobInfo
404Unknown id application/json ErrorBody
409Not running application/json ErrorBody
Starts a job created with start: false.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Job id
レスポンス
ステータス 説明 本文
200Started application/json JobInfo
404Unknown id application/json ErrorBody
409Not in state created application/json ErrorBody
502Backend error application/json ErrorBody
Latest statistics snapshot of a job.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Job id
レスポンス
ステータス 説明 本文
200wpg_tx::job::StatsSnapshotapplication/json object
404Unknown id application/json ErrorBody
409Never started application/json ErrorBody
Stops a job (asynchronously; watch job_state or poll the job).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Job id
レスポンス
ステータス 説明 本文
200Stopping application/json JobInfo
404Unknown id application/json ErrorBody
409Already ended application/json ErrorBody
Dashboard summary.
レスポンス
ステータス 説明 本文
200Dashboard data application/json Overview
Receive counters, captured frames and signature verification
All captures (running and the last finished ones), newest first.
レスポンス
Starts a capture.
リクエスト本文 : application/json CaptureSpec
レスポンス
ステータス 説明 本文
201Started application/json CaptureInfo
400Invalid spec or filter application/json ErrorBody
404Unknown interface / input file application/json ErrorBody
502backend_error: the backend could not be openedapplication/json ErrorBody
Receive backend availability on this build / OS.
レスポンス
ステータス 説明 本文
200Backends (name, available, reason) application/json object``[]
Checks a capture filter without starting a capture.
リクエスト本文 : application/json FilterCheck
レスポンス
One capture.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Capture id
レスポンス
Removes a capture (a running one is stopped first; a saved pcapng file stays on disk).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Capture id
レスポンス
ステータス 説明 本文
204Deleted
404Unknown id application/json ErrorBody
The first N matching frames of a capture (live while it runs).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Capture id
レスポンス
The pcapng file of a finished capture started with save.
パラメータ
名前 位置 型 必須 説明
idpath stringはい Capture id
レスポンス
ステータス 説明 本文
200pcapng file application/octet-stream
404Unknown id or nothing saved application/json ErrorBody
409Still running application/json ErrorBody
Stops a running capture (asynchronously; watch capture_state).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Capture id
レスポンス
WebSocket のイベント配信。
WebSocket upgrade.
レスポンス
ステータス 説明 本文
101WebSocket: JSON ServerEvent messages application/json ServerEvent
Web terminal: SSH / Telnet sessions, session logs, host keys
Trusted SSH host keys (<data_dir>/terminal/known_hosts).
レスポンス
ステータス 説明 本文
200Host keys application/json KnownHost[]
Forgets the host key(s) of host:port (after a legitimate key change).
パラメータ
名前 位置 型 必須 説明
hostpath stringはい Host as stored
portpath integerはい Port
レスポンス
ステータス 説明 本文
204Removed
404No key stored application/json ErrorBody
Session logs, newest first.
レスポンス
ステータス 説明 本文
200Logs application/json LogInfo[]
Downloads a session log (text/plain, also while it is being written).
パラメータ
名前 位置 型 必須 説明
namepath stringはい Log file name
レスポンス
ステータス 説明 本文
200The log text/plain
404Unknown log application/json ErrorBody
Deletes a session log (not one that is being written).
パラメータ
名前 位置 型 必須 説明
namepath stringはい Log file name
レスポンス
ステータス 説明 本文
204Deleted
404Unknown log application/json ErrorBody
409invalid_state: the session is still recordingapplication/json ErrorBody
Configuration and running sessions (also when the terminal is disabled, so the UI can explain how to enable it).
レスポンス
Opens a terminal session (WebSocket). Send connect first; see TerminalClientMessage / TerminalServerMessage. Remote output arrives as binary frames, keystrokes may be sent as binary frames or input messages.
レスポンス
ステータス 説明 本文
101WebSocket: TerminalServerMessage JSON + binary output application/json TerminalServerMessage
403terminal_disabled (terminal.enabled = false) or forbidden (viewer role)application/json ErrorBody
SNMP manager tool: Get / Walk / Set / traps, MIBs, trap receiver, pcap recording
Recording state.
レスポンス
Starts / stops the recording of every SNMP datagram this server sends or receives (requests, responses, traps), or clears it.
リクエスト本文 : application/json CaptureControl
レスポンス
The recorded frames as a pcap / pcapng file (Ethernet / IP / UDP synthesised around the real datagrams; placeholder MAC addresses).
パラメータ
名前 位置 型 必須 説明
formatpath string | nullはい pcap (default) or pcapng.
レスポンス
ステータス 説明 本文
200pcap / pcapng file application/octet-stream
400Unknown format application/json ErrorBody
GetRequest.
リクエスト本文 : application/json SnmpOidsRequest
レスポンス
ステータス 説明 本文
200Response (check error_status) application/json SnmpResult
400Bad target / OID / v3 settings application/json ErrorBody
502snmp_error: Report PDU, authentication or decoding failureapplication/json ErrorBody
504snmp_error: no responseapplication/json ErrorBody
GetBulkRequest (v2c / v3).
リクエスト本文 : application/json SnmpBulkRequest
レスポンス
ステータス 説明 本文
200Response application/json SnmpResult
400Bad request (also: GetBulk on v1) application/json ErrorBody
502snmp_errorapplication/json ErrorBody
504snmp_error: no responseapplication/json ErrorBody
GetNextRequest.
リクエスト本文 : application/json SnmpOidsRequest
レスポンス
Sends an InformRequest (v2c / v3) and waits for the acknowledgement.
リクエスト本文 : application/json SnmpNotifyRequest
レスポンス
ステータス 説明 本文
200Acknowledged (the Response’s bindings) application/json SnmpResult
400Bad request (also: inform on v1) application/json ErrorBody
502snmp_errorapplication/json ErrorBody
504snmp_error: not acknowledgedapplication/json ErrorBody
Loaded MIB modules with their load state.
レスポンス
Uploads MIB files (stored under <data_dir>/mibs, loaded at once).
リクエスト本文 : application/json MibUpload
レスポンス
ステータス 説明 本文
200Per-file result and module state application/json MibUploadResult
400Bad file name / too large application/json ErrorBody
Details of a MIB node (longest-prefix match for instances).
パラメータ
名前 位置 型 必須 説明
idpath stringはい Name (ifOperStatus, IF-MIB::ifOperStatus, ifOperStatus.3) or dotted OID.
レスポンス
ステータス 説明 本文
200Node application/json NodeOut
400Unparsable id application/json ErrorBody
404No MIB defines it application/json ErrorBody
Finds MIB objects by name (for OID autocompletion).
パラメータ
名前 位置 型 必須 説明
qpath stringはい Part of a descriptor (ifOper, IF-MIB::ifH).
limitpath integer | nullはい Most hits (default 20, at most 200).
レスポンス
ステータス 説明 本文
200Hits, prefix matches first application/json SearchHit[]
One level of the MIB tree.
パラメータ
名前 位置 型 必須 説明
oidpath string | nullはい Parent (name or dotted OID; empty = the roots).
modulepath string | nullはい Only the branches leading to definitions of this module; without oid, the module’s top nodes.
レスポンス
Deletes an uploaded module (its whole file). Bundled modules cannot be deleted.
パラメータ
名前 位置 型 必須 説明
modulepath stringはい Module name
レスポンス
ステータス 説明 本文
200Deleted application/json MibDeleted
404Unknown module application/json ErrorBody
409read_only: bundled moduleapplication/json ErrorBody
Receiver state.
レスポンス
Starts (or restarts) the trap / inform receiver.
リクエスト本文 : application/json ReceiverStart
レスポンス
ステータス 説明 本文
200Listening application/json ReceiverStatus
400Bad address / users application/json ErrorBody
502backend_error: cannot bind (privileged port, in use)application/json ErrorBody
Stops the receiver.
レスポンス
SetRequest.
リクエスト本文 : application/json SnmpSetRequest
レスポンス
ステータス 説明 本文
200Response (check error_status: notWritable, wrongType, …) application/json SnmpResult
400Bad target / OID / value application/json ErrorBody
502snmp_errorapplication/json ErrorBody
504snmp_error: no responseapplication/json ErrorBody
Whether the SNMP tool is enabled, with MIB / receiver / recording summaries.
レスポンス
Sends a trap (v1 Trap-PDU, SNMPv2-Trap, or a v3 trap with this server as the authoritative engine). The result lists the bindings sent.
リクエスト本文 : application/json SnmpNotifyRequest
レスポンス
Received notifications, newest first (also pushed as snmp_trap events on the WebSocket).
パラメータ
名前 位置 型 必須 説明
limitpath integer | nullはい Most notifications (default 200, at most 1000).
レスポンス
ステータス 説明 本文
200Notifications application/json TrapOut[]
Forgets the received notifications.
レスポンス
Walks one or more subtrees (GetBulk on v2c / v3, GetNext on v1); conceptual tables in the result are also returned as rows × columns.
リクエスト本文 : application/json SnmpWalkRequest
レスポンス
ステータス 説明 本文
200Bindings and tables application/json SnmpResult
400Bad request application/json ErrorBody
502snmp_errorapplication/json ErrorBody
504snmp_error: no responseapplication/json ErrorBody
DHCP server tool: DHCPv4 / DHCPv6 (IA_NA, IA_PD) pools and options, router advertisements, leases, activity
State, settings and counters.
レスポンス
ステータス 説明 本文
200State application/json DhcpStatus
404dhcp.enabled = falseapplication/json ErrorBody
Saves the settings; a running server restarts with them.
リクエスト本文 : application/json DhcpUpdate
レスポンス
ステータス 説明 本文
200Saved application/json DhcpStatus
400Invalid settings (details: [{ field, message }]) application/json ErrorBody
403policy_violation: interface not in tx.allowed_ifacesapplication/json ErrorBody
502backend_error: the restart failedapplication/json ErrorBody
Recent requests and replies, newest first (wpg_dhcp::Activity).
パラメータ
名前 位置 型 必須 説明
limitpath integer | nullはい Most entries returned (newest first; default 200).
レスポンス
ステータス 説明 本文
200Activity application/json object``[]
Clears the activity log.
レスポンス
Leases (wpg_dhcp::Lease: kind v4 / na / pd, addr, plen, client, iaid, mac, hostname, state, expires, updated).
レスポンス
ステータス 説明 本文
200Leases application/json object``[]
Deletes one lease (key) or all of them. The client keeps using the address until it renews.
パラメータ
名前 位置 型 必須 説明
keypath string | nullはい The lease (192.168.100.10, 2001:db8::10, 2001:db8:100::/56); absent: every lease.
レスポンス
ステータス 説明 本文
204Deleted
404No such lease application/json ErrorBody
Starts (or restarts) the server; it also starts at boot until stopped.
レスポンス
ステータス 説明 本文
200Running application/json DhcpStatus
400No / unknown interface, invalid settings application/json ErrorBody
502backend_error: sockets (ports 67 / 547 need CAP_NET_BIND_SERVICE, RA CAP_NET_RAW; Linux only)application/json ErrorBody
Stops the server (and its start at boot).
レスポンス
上記で参照しているリクエスト・レスポンス本文の型です。
A running session (GET /api/terminal/status).
キー 型 必須 説明
hoststringはい Target host as entered.
idstringはい Session id.
logstring | nullLog file being written, if recording.
portintegerはい Target port.
protocolProtocolはい Protocol.
startedintegerはい Start (Unix seconds).
userstringはい wpg user who opened it.
viastring``[]SSH jump hosts in order (user@host:port), empty for a direct session.
GET /api/auth/status.
キー 型 必須 説明
authenticatedbooleanはい The request carries a valid session.
configuredbooleanはい A password exists (configured or set on the setup screen).
csrf_tokenstring | nullCSRF token to send as X-CSRF-Token on POST / PUT / DELETE (also in the wpg_csrf cookie); null when not logged in.
setup_requiredbooleanはい No password yet: show the setup screen (POST /api/auth/setup).
userUserInfo | null
One transmit backend.
キー 型 必須 説明
availablebooleanはい Compiled in and supported on this OS (privileges not checked).
multi_workerbooleanはい Several TX workers per job.
namestringはい Name (null, pcapfile, afpacket, pcap, afxdp, dpdk).
reasonstring | nullWhy it is unavailable / requirements.
GET /api/system/backends response body.
キー 型 必須 説明
backendsBackendItem[]はい All backends.
defaultstringはい Backend used when a job names none.
POST /api/snmp/capture body.
キー 型 必須 説明
clearbooleanDiscard the recorded frames first.
enabledboolean | nullStart (true) / stop (false) recording.
A capture as returned by the API.
キー 型 必須 説明
backendstringはい Resolved backend.
filterstringはい Normalised filter text (empty = every frame).
finishedinteger | nullEnd time, Unix milliseconds.
idstringはい Capture id.
ifacestringはい Resolved interface (input path for pcapfile).
namestringはい Display name (spec.name, else <backend>:<iface>).
savedbooleanはい Whether a pcapng file was written (download with GET /api/captures/{id}/pcapng).
specCaptureSpecはい The request.
startedintegerはい Start time, Unix milliseconds.
statsobject | nullLatest statistics (wpg_rx::RxSnapshot).
statusobjectはい { "state": "running" }, { "state": "finished", "detail": "count_reached" | "duration_elapsed" | "end_of_input" | "stopped" }, { "state": "failed", "detail": "<error>" }.
What to capture (all fields are optional).
キー 型 必須 説明
backendstring | nullBackend: afpacket, pcap, pcapfile, null (default: afpacket on Linux, else pcap).
countinteger | nullStop after this many matching frames.
durationstring | nullStop after this long, e.g. 10s, 2m.
filterstring | nulltcpdump-style filter (udp port 5001 and wpg); empty = every frame.
ifacestring | nullInterface (any = every interface with afpacket); for pcapfile the name of a capture file under <data_dir>/captures (e.g. a dry-run output).
include_outgoingbooleanAlso count frames this host transmits.
keepintegerMatching frames kept for display (default 100, at most 10000).
namestring | nullDisplay name.
promiscbooleanPromiscuous mode.
savestring | nullSave the matching frames as a pcapng file of this name under <data_dir>/captures.
verifybooleanCheck the signatures of matching frames (loss / order / latency).
pcap recording state.
キー 型 必須 説明
droppedintegerはい Frames dropped because the buffer was full.
enabledbooleanはい Recording.
framesintegerはい Kept frames.
One kept frame.
キー 型 必須 説明
hexstringはい Captured octets as lower-case hex (decode with POST /api/parse).
indexintegerはい Position among the matching frames (0-based).
lenintegerはい Original length.
signatureobject | nullThe frame’s signature (stream_id, seq, ts_ns), if any.
ts_nsintegerはい Capture time, nanoseconds since the Unix epoch.
Client → server message.
Selects the jobs whose stats / job_state events are sent.
キー 型 必須 説明
jobsobject"all" or a list of job ids.
logsboolean | nullReceive log events (default true).
type"subscribe"はい
POST /api/jobs body: a [JobSpec] plus start.
キー 型 必須 説明
startbooleanStart immediately (default true); false leaves it in state created.
POST /api/tokens body.
キー 型 必須 説明
expires_in_daysinteger | nullExpiry in days (1 to 3650); omitted or null: never expires.
namestringはい Name, to recognise the token later (1 to 100 characters).
POST /api/tokens response.
キー 型 必須 説明
secretstringはい The secret to send as Authorization: Bearer <secret>. Only this response contains it.
tokenTokenInfoはい The stored token.
GET /api/dhcp.
キー 型 必須 説明
added_addressesstring``[]Addresses this server put on the interface (removed when it stops).
enabledbooleanはい dhcp.enabled.
errorstring | nullWhy the last start (at boot) failed.
ifacestringはい Interface used (pinned or chosen; empty: none chosen yet).
leasesintegerはい Leases in the table.
pinned_ifacestring | nulldhcp.iface (fixed at deploy time); the screen cannot change it.
runningbooleanはい Answering.
server_duidstring | nullDHCPv6 server DUID in use.
server_ipstring | nullDHCPv4 server identifier in use.
settingsobjectはい Pools and options (wpg_dhcp::Settings).
started_msinteger | nullStart time (milliseconds since the Unix epoch).
statsobjectはい Packet counters of the running server.
supportedbooleanはい Built for Linux (elsewhere the server cannot start).
PUT /api/dhcp body.
キー 型 必須 説明
ifacestring | nullInterface to answer on (ignored when dhcp.iface pins one; must be allowed by tx.allowed_ifaces).
settingsobjectはい Pools and options (wpg_dhcp::Settings: v4, v6).
Why a job ended normally (mirrors wpg_tx::job::FinishReason).
型: "count_reached" | "duration_elapsed" | "source_exhausted" | "stopped"
{ "error": ... } body (OpenAPI schema of every error response).
Error object.
キー 型 必須 説明
codestringはい Stable machine code: not_found, bad_request, invalid_template, policy_violation, read_only, invalid_state, backend_error, unauthorized, setup_required, rate_limited, csrf_failed, forbidden, already_configured, terminal_disabled, snmp_error, internal.
detailsanyExtra data, e.g. the lint issues of an invalid template.
messagestringはい Human readable message in the language of Accept-Language.
One loaded extension file.
キー 型 必須 説明
bindingsintegerはい Number of its bind entries.
protocolsstring``[]はい Ids of the protocols it defines.
sourcestringはい The file.
Body of POST /api/templates/{id}/favorite (empty body = toggle).
キー 型 必須 説明
favoritebooleanはい New value.
POST /api/templates/{id}/favorite response.
キー 型 必須 説明
favoritebooleanはい Current value.
idstringはい Template id.
POST /api/captures/filter request.
キー 型 必須 説明
filterstringはい Filter text.
POST /api/captures/filter response.
キー 型 必須 説明
errorstring | nullWhat is wrong (when invalid).
normalizedstring | nullNormalised filter text (when valid).
okbooleanはい The filter is valid.
posinteger | nullByte offset of the error (when invalid).
GET /api/health response body.
キー 型 必須 説明
localestringはい Negotiated locale.
messagestringはい Localised human-readable status.
statusstringはい Always "ok" when the server answers.
uptime_secsintegerはい Seconds since the server started.
versionstringはい Server version.
An interface on the dashboard.
キー 型 必須 説明
allowedbooleanはい Allowed by the transmit policy.
loopbackbooleanはい Loopback.
namestringはい Name.
runningbooleanはい Carrier / running.
speed_mbpsinteger | nullLink speed.
upbooleanはい Administratively up.
A running job on the dashboard.
キー 型 必須 説明
backendstringはい Backend.
bpsnumberはい L2 bits per second.
idstringはい Job id.
ifacestringはい Interface.
namestringはい Name.
packetsintegerはい Packets sent.
ppsnumberはい Packets per second.
statusJobStatusはい State.
A job as returned by the API (also the persisted history record).
キー 型 必須 説明
backendstringはい Resolved backend.
createdintegerはい Creation time, Unix milliseconds.
finishedinteger | nullEnd time, Unix milliseconds.
idstringはい Job id.
ifacestringはい Resolved interface (output path for pcapfile).
namestringはい Display name (spec.name, else the first template’s name).
plansobject``[]はい Expansion plan of each stream.
ratestringはい Resolved rate.
reportobject | nullFinal report (after the job ended).
specJobSpecはい The request.
startedinteger | nullStart time, Unix milliseconds.
statsobject | nullLatest statistics.
statusJobStatusはい Current state.
workersintegerはい TX workers.
What to send, where and how (all fields but streams are optional).
キー 型 必須 説明
backendstring | nullBackend: null, pcapfile, afpacket, pcap, … (default: tx.default_backend).
batchinteger | nullFrames per send_batch call.
burstinteger | nullFrames per rate-control grant.
countinteger | nullTotal packets (default: the template’s tx.count for a single stream).
dry_runstring | nullDry run: write a pcapng file of this name under <data_dir>/captures instead of sending (forces the pcapfile backend).
durationstring | nullDuration limit, e.g. 10s, 2m.
ifacestring | nullInterface (not needed for null; the output file name for pcapfile).
mixMixInterleaving of several streams.
namestring | nullDisplay name.
pin_coresinteger``[]Core per worker (Linux).
planstring | nullExpansion strategy: auto, prerender, onthefly.
ramp_upstring | nullLinear rate ramp-up time, e.g. 5s.
ratestring | nullRate: 1000pps, 1Mpps, 10Gbps, 50%, ifg=10us, unlimited (default: the first template’s tx.rate, then tx.max_rate, else unlimited).
signaturebooleanStamp every frame with a receive-verification signature (magic + stream id + sequence number + TX time over the last 24 payload octets; see /api/captures with verify).
start_atstring | nullScheduled start: RFC 3339 or +10s.
stream_idinteger | nullSignature stream id of the first stream (stream i gets stream_id + i; default 0).
streamsJobStream[]Streams (at least one). Several streams are mixed into one TX worker.
workersinteger | nullTX worker threads (single stream only).
Job lifecycle state: { "state": "running" }, { "state": "finished", "detail": "count_reached" }, { "state": "failed", "detail": "<error>" }.
Created with start: false, not started yet.
Waiting for start_at.
キー 型 必須 説明
state"scheduled"はい
Sending.
Paused.
Ended normally (count_reached, duration_elapsed, source_exhausted,
stopped).
キー 型 必須 説明
detailEndReasonはい Ended normally (count_reached, duration_elapsed, source_exhausted, stopped).
state"finished"はい
Ended with an error.
キー 型 必須 説明
detailstringはい Ended with an error.
state"failed"はい
One stream of a job: a stored template (template_id) or an inline one.
キー 型 必須 説明
templateobject | nullInline template (takes precedence over template_id).
template_idstring | nullId of a stored template.
varsmap<string, ``string``>Template variable values (name → human notation).
weightintegerWeight for mix: weighted (0 counts as 1).
Dashboard aggregate of the running jobs.
キー 型 必須 説明
activeintegerはい Jobs that are scheduled, running or paused.
bpsnumberはい Sum of the jobs’ L2 bits per second.
l1_bpsnumberはい Sum of the jobs’ L1 bits per second.
ppsnumberはい Sum of the jobs’ packets per second.
runningintegerはい Jobs currently sending.
One SSH jump host of a [ConnectRequest].
キー 型 必須 説明
hoststringはい Host name or address (resolved by the previous hop, or by the server for the first one).
passphrasestring | nullPassphrase of private_key.
passwordstring | nullPassword (also answers a single keyboard-interactive password prompt); empty: the server’s prompts are shown.
portinteger | nullSSH port (default 22).
private_keystring | nullPrivate key (OpenSSH / PEM / PuTTY .ppk text).
usernamestringはい User name on the jump host.
A stored host key (GET /api/terminal/known-hosts).
キー 型 必須 説明
algorithmstringはい Key algorithm (ssh-ed25519, rsa-sha2-512, …).
commentstringはい The entry’s comment (who accepted it and when).
fingerprintstringはい SHA256:... fingerprint.
hoststringはい Host as typed by the user who accepted the key (lower case).
portintegerはい TCP port.
POST /api/lint request.
キー 型 必須 説明
templateobjectはい Template: object or YAML text.
POST /api/lint response.
キー 型 必須 説明
errorsintegerはい Number of errors.
issuesobject``[]はい Findings (level, path, key, args, localised message).
okbooleanはい No errors (warnings allowed).
warningsintegerはい Number of warnings.
A past or running session log (GET /api/terminal/logs).
キー 型 必須 説明
activebooleanはい Still being written by a live session.
modifiedintegerはい Last modification (Unix seconds).
namestringはい File name (the id in /api/terminal/logs/{name}).
sizeintegerはい Size in bytes.
POST /api/auth/login body.
キー 型 必須 説明
passwordstringはい Password.
usernamestring | nullUser name (default admin).
Removed modules.
キー 型 必須 説明
removedstring``[]はい Modules removed with the file.
One file of an upload.
キー 型 必須 説明
contentstringはい File content (text).
namestringはい File name (CISCO-SMI.my; .mib, .txt, .my, .smi, .asn, .asn1 or none).
A loaded MIB module.
キー 型 必須 説明
bundledbooleanはい Bundled with wpg (cannot be deleted).
errorsstring``[]はい Problems: parse warnings, unresolved definitions.
filestring | nullUploaded file it came from.
missing_importsstring``[]はい Modules named in IMPORTS that are not loaded (upload them).
namestringはい Module name.
nodesintegerはい Resolved definitions.
statusstringはい ok, partial (loaded with problems) or error.
POST /api/snmp/mibs body.
POST /api/snmp/mibs result.
キー 型 必須 説明
filesUploadedFile[]はい Per file.
modulesMibModuleOut[]はい The state of the uploaded modules after loading (missing imports are named here).
How several streams are interleaved.
型: "weighted" | "sequential" | "round_robin"
An enumeration value / BITS position.
キー 型 必須 説明
labelstringはい Label.
valueintegerはい Number.
MIB node details.
キー 型 必須 説明
accessstring | nullMAX-ACCESS.
augmentsstring | nullAUGMENTS.
base_typestring | nullBase type.
defvalstring | nullDEFVAL.
descriptionstring | nullDESCRIPTION.
display_hintstring | nullDISPLAY-HINT.
enumsNamedNumber[]はい Enumeration / BITS names.
indexstring``[]はい INDEX (of a row; AUGMENTS followed).
instancestringはい Instance part of the requested id (3 of ifDescr.3).
kindstringはい object_type, object_identifier, …
modulestringはい Module.
namestringはい Descriptor.
objectsstring``[]はい OBJECTS / VARIABLES (notifications).
oidstringはい OID of the definition.
pathPathElem[]はい Path from the root.
referencestring | nullREFERENCE.
rolestring | nullTable / row / column / scalar.
statusstring | nullSTATUS.
syntaxstring | nullSYNTAX text.
type_namestring | nullTextual convention.
unitsstring | nullUNITS.
GET /api/stats/overview response.
キー 型 必須 説明
historyintegerはい Jobs in the history.
ifacesIfaceBrief[]はい Interfaces.
jobsJobBrief[]はい Active jobs.
templatesintegerはい Templates in the library.
totalsJobTotalsはい Totals over the active jobs.
uptime_secsintegerはい Seconds since the server started.
POST /api/parse request.
キー 型 必須 説明
bytes_hexstringはい Frame bytes as hex (whitespace, : / - separators and 0x allowed).
fcsbooleanThe frame ends with a 4-octet FCS.
first_protocolstring | nullProtocol of the first octet (default ethernet2).
POST /api/parse response.
キー 型 必須 説明
bytes_hexstringはい Normalised hex of the input.
diagnosticsobject``[]はい Parse and build findings with localised message.
layoutobject``[]はい Layer / field positions.
lenintegerはい Frame length in octets.
packetobjectはい Decoded packet (wpg_core::Packet: layers with Manual field values).
trailersobject``[]はい Padding / FCS.
Breadcrumb element.
キー 型 必須 説明
namestringはい Name (or the number).
oidstringはい OID.
One keyboard-interactive prompt.
キー 型 必須 説明
echobooleanはい Whether the answer may be shown while typed.
promptstringはい Prompt text from the server.
Remote protocol.
型: "ssh" | "telnet"
Catalog entry.
キー 型 必須 説明
fieldsstring``[]はい Field names in wire order.
idstringはい Stable id (ethernet2, ipv4, …).
layerobjectはい Palette classification (l2, l3, l4, payload, …).
namestringはい Display name.
nextstring``[]はい Protocols this one can carry (its next-layer binding table).
synthbooleanはい Content generator instead of wire fields (payload).
POST /api/snmp/receiver/start body.
キー 型 必須 説明
communitiesstring``[]Accepted communities (empty = any; others are listed with an error).
listenstringはい Listen address (0.0.0.0:162, [::]:1162).
usersReceiverUserIn[]v3 users (kept in memory while the receiver runs).
Trap receiver state.
キー 型 必須 説明
communitiesstring``[]はい Accepted communities (empty = any).
engine_idstringはい This receiver’s engine id (hex), for v3 informs.
from_configbooleanはい Started at boot from snmp.trap_listen.
listenstring | nullBound address.
receivedintegerはい Notifications received since the start.
runningbooleanはい Listening.
usersstring``[]はい Configured v3 user names.
A v3 user of the receiver.
キー 型 必須 説明
auth_passwordstring | nullAuthentication pass phrase.
auth_protocolstring | nullAuthentication protocol (default SHA).
priv_passwordstring | nullPrivacy pass phrase.
priv_protocolstring | nullPrivacy protocol (default AES).
userstringはい User name.
Result of POST /api/protocols/reload.
キー 型 必須 説明
dirsstring``[]はい Directories that were read.
filesExtensionFile[]はい The files now in use, in load order.
POST /api/render request.
キー 型 必須 説明
countinteger | nullPackets to render (1..=server.preview_max, default 1; 256 unless configured).
indexinteger | nullStream index of the first packet (default 0).
templateobjectはい Template: object (JSON form of .wpg.yaml) or YAML text.
varsmap<string, ``string``>Variable values.
POST /api/render response.
キー 型 必須 説明
cardinalityinteger | nullPackets in the whole stream (null = unbounded).
packetsRenderedPacket[]はい The packets.
planobjectはい How a job would expand the stream (pre-render vs on-the-fly).
One rendered packet.
キー 型 必須 説明
bytes_hexstringはい Frame bytes as lower-case hex (without FCS unless the template asks for one).
diagnosticsobject``[]はい Builder findings with localised message.
indexintegerはい Stream index.
layoutobject``[]はい Layer / field positions (wpg_core::LayerLayout).
lenintegerはい Length in octets.
trailersobject``[]はい Padding / FCS after the layers.
A user role (only admin is created for now; operator / viewer are P1).
型: "admin" | "operator" | "viewer"
A search hit.
キー 型 必須 説明
kindstringはい Kind.
modulestringはい Module.
namestringはい Descriptor.
oidstringはい OID.
rolestring | nullTable / row / column / scalar.
syntaxstring | nullSYNTAX text.
One message from the server to WebSocket clients.
Latest statistics of a running job (every 100 ms, one per job).
キー 型 必須 説明
job_idstringはい Job id.
snapshotobjectはい Counters and rates (wpg_tx::job::StatsSnapshot).
type"stats"はい
A job changed state.
キー 型 必須 説明
job_idstringはい Job id.
stateJobStatusはい New state.
type"job_state"はい
A log line (ts, level, target, message, fields).
The template index changed (file watcher or API write).
キー 型 必須 説明
type"templates_changed"はい
Latest statistics of a capture (every 100 ms while it runs, once more at
the end).
キー 型 必須 説明
capture_idstringはい Capture id.
snapshotobjectはい Counters, rates and verification (wpg_rx::RxSnapshot).
type"rx_stats"はい
A capture started or ended.
キー 型 必須 説明
capture_idstringはい Capture id.
stateobjectはい New state ({ "state": "running" | "finished" | "failed", "detail" }).
type"capture_state"はい
The SNMP trap receiver got a notification (also listed by
GET /api/snmp/traps).
キー 型 必須 説明
trapTrapOutはい The rendered notification.
type"snmp_trap"はい
The DHCP server handled a request or sent a router advertisement
(also listed by GET /api/dhcp/activity).
キー 型 必須 説明
activityobjectはい The exchange (wpg_dhcp::Activity).
type"dhcp_activity"はい
The DHCP server started / stopped, its settings changed or leases
expired / were deleted: reload GET /api/dhcp.
キー 型 必須 説明
type"dhcp_state"はい
The user-defined protocols were reloaded (POST /api/protocols/reload):
fetch GET /api/protocols and GET /api/protocols/extensions again.
キー 型 必須 説明
type"protocols_changed"はい
POST /api/auth/setup body.
キー 型 必須 説明
confirmstringはい The same password again.
passwordstringはい The new admin password (at least 8 characters).
GetBulk request body.
キー 型 必須 説明
max_repetitionsinteger | nullmax-repetitions (default 10).
non_repeatersinteger | nullnon-repeaters (default 0).
oidsstring``[]はい Objects (the first non_repeaters are fetched once).
targetSnmpTargetはい The agent.
Trap / Inform request body.
キー 型 必須 説明
targetSnmpTargetはい The receiver (port default 162).
trap_oidstringはい snmpTrapOID (linkDown, IF-MIB::linkUp, 1.3.6.1.6.3.1.1.5.1). v1 traps are converted per RFC 3584.
uptimeinteger | nullsysUpTime in hundredths of a second (default: the server’s uptime).
varbindsVarBindIn[]Extra bindings.
Get / GetNext request body.
キー 型 必須 説明
oidsstring``[]はい Objects: names (sysDescr.0, IF-MIB::ifDescr.1) or dotted OIDs.
targetSnmpTargetはい The agent.
Result of an operation.
キー 型 必須 説明
elapsed_msnumberはい Round trip(s) in milliseconds.
engine_idstring | nullThe agent’s engine id (v3, hex).
error_indexintegerはい error-index (1-based binding, 0 = none).
error_statusintegerはい error-status of the response (0 = noError).
error_status_namestring | nullIts name (noSuchName, notWritable, …), when not 0.
opstringはい get, getnext, getbulk, walk, set, trap, inform.
requestsintegerはい Requests sent.
tablesTableOut[]Conceptual tables found among the bindings (walks).
targetstringはい The agent / receiver address.
truncatedbooleanThe walk stopped at its limit.
varbindsVarBindOut[]はい The bindings (response, walk results, or the notification sent).
versionstringはい v1, v2c, v3.
Set request body.
GET /api/snmp/status.
キー 型 必須 説明
captureCaptureStatus | null
enabledbooleanはい snmp.enabled.
mib_dirstringはい Directory of uploaded MIBs.
modulesintegerはい Loaded modules.
nodesintegerはい Resolved MIB nodes.
receiverReceiverStatus | null
Where to send a request.
キー 型 必須 説明
communitystring | nullCommunity for v1 / v2c (default public).
hoststringはい Host name or address.
portinteger | nullUDP port (default 161 for requests, 162 for notifications).
retriesinteger | nullExtra attempts (default 1, at most 10).
timeout_msinteger | nullWait per attempt in milliseconds (default 2000, at most 60000).
v3V3In | null
versionSnmpVersionVersion (default v2c).
SNMP protocol version.
型: "v1" | "v2c" | "v3"
Walk request body.
キー 型 必須 説明
limitinteger | nullMost bindings returned in all (default 10000, at most 100000).
max_repetitionsinteger | nullmax-repetitions per GetBulk (default 20; v1 walks with GetNext).
oidstringSubtree root: name (ifTable, system) or dotted OID.
oidsstring``[]More subtree roots, walked one after another after oid (either may be empty, not both).
targetSnmpTargetはい The agent.
A table column.
キー 型 必須 説明
counterbooleanはい Counter column (rates make sense).
namestringはい Descriptor.
oidstringはい Column OID.
syntaxstringはい Syntax text.
A conceptual table assembled from walk results.
キー 型 必須 説明
columnsTableColumnOut[]はい Columns present, in OID order.
entrystringはい IF-MIB::ifEntry.
index_namesstring``[]はい INDEX objects.
rowsTableRowOut[]はい Rows in instance order.
tablestring | nullIF-MIB::ifTable.
A table row.
キー 型 必須 説明
cells(string | null)[] はい Readable cells (one per column; null = absent).
indexstring``[]はい Decoded INDEX values (empty when not decodable).
instancestringはい Instance sub-identifiers.
numeric(integer | null)[] はい Numeric cells (integer types).
A template with its index entry and lint findings.
キー 型 必須 説明
issuesobject``[]はい Lint findings with localised message.
summaryTemplateSummaryはい Index entry.
templateobjectはい The template (JSON form of .wpg.yaml).
GET /api/templates response.
キー 型 必須 説明
recentstring``[]はい Recently used template ids, most recent first.
templatesTemplateSummary[]はい Matching templates, sorted by name.
Where a template comes from.
型: "user" | "library"
Index entry of a template.
キー 型 必須 説明
authorstring | nullAuthor.
descriptionstring | nullDescription in the requested language (meta.descriptions[lang], else meta.description, else meta.descriptions.en).
descriptionsmap<string, ``string``>All localised descriptions (language tag → text, e.g. ja, en).
errorstring | nullLoad error when the file does not parse.
favoritebooleanはい Marked as favourite.
idstringはい Stable id (slug of the relative path).
last_usedinteger | nullLast use (open in the GUI, job start), Unix milliseconds.
modifiedinteger | nullFile modification time, Unix milliseconds.
namestringはい meta.name (the file stem when the file does not parse).
pathstringはい Path relative to its root directory.
protocolsstring``[]はい Protocol stack, outermost first.
rootstringはい The root directory.
sourceTemplateSourceはい Library or user template.
tagsstring``[]はい Tags.
writablebooleanはい Whether it can be updated / deleted through the API.
Client → server message on /api/terminal/ws. Keystrokes may also arrive
as binary frames (raw bytes).
First message: opens the session.
Keystrokes / pasted text (UTF-8).
キー 型 必須 説明
datastringはい The text.
type"input"はい
The terminal was resized.
キー 型 必須 説明
colsintegerはい Columns.
rowsintegerはい Rows.
type"resize"はい
Answer to a host_key prompt.
キー 型 必須 説明
acceptbooleanはい Trust the key.
savebooleanStore it in the known hosts (otherwise trust it for this session).
type"host_key"はい
Answers to an auth_prompt (one per prompt).
キー 型 必須 説明
responsesstring``[]はい The answers.
type"auth_response"はい
Starts / stops the session log.
キー 型 必須 説明
enabledbooleanはい Record from now on.
strip_ansiboolean | nullRemove escape sequences (default true).
type"record"はい
Ends the session.
キー 型 必須 説明
type"disconnect"はい
connect: where to and how to log in.
キー 型 必須 説明
colsintegerTerminal width.
hoststringはい Host name or address.
jumpJumpHost[]SSH jump hosts (ProxyJump), nearest first: the server logs in to each in turn and reaches the next one (and finally host) through a direct-tcpip channel. Works for SSH and Telnet targets.
passphrasestring | nullPassphrase of private_key.
passwordstring | nullSSH password (also answers a single keyboard-interactive password prompt).
portinteger | nullPort (default 22 / 23).
private_keystring | nullSSH private key (OpenSSH / PEM / PuTTY .ppk text).
protocolProtocolはい ssh or telnet.
recordboolean | nullRecord a session log (default: terminal.record_sessions).
rowsintegerTerminal height.
strip_ansiboolean | nullRemove escape sequences from the log (default true).
usernamestring | nullSSH user name.
Server → client message on /api/terminal/ws. Remote output travels as
binary frames.
Progress: resolving, connecting, authenticating; with jump hosts,
jumping (opening the tunnel from host onwards) and the other phases
carry the host they concern.
キー 型 必須 説明
hoststring | nullThe host of this phase (sessions with jump hosts).
statestringはい The phase.
type"state"はい
An unknown SSH host key: confirm the fingerprint (host_key message).
キー 型 必須 説明
algorithmstringはい Key algorithm.
fingerprintstringはい SHA256:....
hoststringはい Host.
portintegerはい Port.
type"host_key"はい
The server asks questions (keyboard-interactive, or the password when
none was given): answer with auth_response.
キー 型 必須 説明
hoststringはい The host asking (the target or a jump host).
instructionsstringはい Instructions from the server.
namestringはい Request name from the server.
promptsPromptItem[]はい The prompts.
type"auth_prompt"はい
The session is up.
キー 型 必須 説明
addressstringはい Address actually connected to.
fingerprintstring | nullSSH host key fingerprint.
hoststringはい Host.
portintegerはい Port.
protocolProtocolはい Protocol.
session_idstringはい Session id.
type"connected"はい
viastring``[]Jump hosts the session goes through (user@host:port).
Log state after connected / record.
キー 型 必須 説明
enabledbooleanはい Recording.
filestring | nullThe log file (GET /api/terminal/logs/{name}).
type"record"はい
A failure; fatal ones are followed by closed.
キー 型 必須 説明
codestringはい target_not_allowed, too_many_sessions, resolve_failed, connect_failed, host_key_changed, host_key_rejected, auth_failed, key_invalid, ssh_error, timeout, bad_request, recording_disabled, log_failed.
detailstring | nullUntranslated detail (an OS / protocol error).
fatalbooleanはい The session ends.
infoobject | nullhost_key_changed: {algorithm, fingerprint, known_algorithm, known_fingerprint}; a failure at a jump host adds {hop: "host:port"}.
type"error"はい
The session ended.
キー 型 必須 説明
bytes_inintegerはい Bytes received from the host.
bytes_outintegerはい Bytes sent to the host.
duration_secsintegerはい Session length in seconds.
reasonstringはい remote (the host closed it), client, idle, shutdown, error.
type"closed"はい
GET /api/terminal/status.
キー 型 必須 説明
allowed_targetsstring``[]はい terminal.allowed_targets (empty = any target).
enabledbooleanはい terminal.enabled.
idle_timeout_secsintegerはい terminal.idle_timeout_secs.
max_sessionsintegerはい terminal.max_sessions.
record_sessionsbooleanはい terminal.record_sessions.
sessionsActiveSession[]はい Running sessions (all users).
An API token as listed (never the secret).
キー 型 必須 説明
createdintegerはい Creation time (Unix seconds).
expiresinteger | nullExpiry (Unix seconds); null: never expires.
idintegerはい Token id (for revoking).
last_usedinteger | nullLast use (Unix seconds, updated at most once a minute).
namestringはい Name given at creation.
prefixstringはい The first characters of the secret (wpg_ + 8 hex digits), to recognise it.
userstringはい Owner: requests with the token act as this user, with its role.
A received notification.
キー 型 必須 説明
acknowledgedbooleanはい An inform that was acknowledged.
communitystring | nullCommunity (v1 / v2c).
errorstring | nullWhy the message was not accepted (wrong community, digest, …).
idintegerはい Sequence number (increasing).
levelstring | nullv3 security level.
pdu_typestring | nulltrap_v1, trap_v2, inform (absent when undecodable).
received_msintegerはい Arrival, milliseconds since the Unix epoch.
sourcestringはい Sender address:port.
trap_namestring | nullThe trap OID’s name (IF-MIB::linkDown).
trap_oidstring | nullsnmpTrapOID.0 (dotted).
uptimeinteger | nullsysUpTime.0 / v1 time-stamp (hundredths of a second).
uptime_textstring | nullUptime as 1d 02:03:04.56.
userstring | nullUser (v3).
v1V1Out | null
varbindsVarBindOut[]はい Bindings (without sysUpTime.0 / snmpTrapOID.0).
versionstringはい v1, v2c, v3.
A tree entry.
キー 型 必須 説明
arcintegerはい Last sub-identifier.
has_childrenbooleanはい Something is defined below.
kindstring | nullobject_type, object_identifier, notification_type, …
modulestring | nullModule.
namestring | nullDescriptor (absent for an undefined intermediate OID).
oidstringはい OID.
rolestring | nullTable / row / column / scalar for OBJECT-TYPEs.
Result of one uploaded file.
キー 型 必須 説明
errorsstring``[]はい Problems (no module found: the file was not stored).
filestringはい Stored file name.
modulesstring``[]はい Modules found in it.
storedbooleanはい Whether the file was stored.
user of [AuthStatus].
キー 型 必須 説明
namestringはい User name.
roleRoleはい admin, operator or viewer.
SNMPv1 trap header.
キー 型 必須 説明
agent_addrstringはい agent-addr.
enterprisestringはい enterprise (name or dotted).
genericintegerはい generic-trap.
specificintegerはい specific-trap.
SNMPv3 parameters. The level follows from the pass phrases given:
none = noAuthNoPriv, auth_password = authNoPriv, both = authPriv.
キー 型 必須 説明
auth_passwordstring | nullAuthentication pass phrase (at least 8 characters).
auth_protocolstring | nullMD5, SHA (SHA-1), SHA-224, SHA-256, SHA-384, SHA-512 (default SHA).
context_engine_idstring | nullcontextEngineID (hex; default: the agent’s engine id).
context_namestring | nullcontextName.
priv_passwordstring | nullPrivacy pass phrase (at least 8 characters).
priv_protocolstring | nullDES, AES (AES-128), AES-192, AES-256 (default AES).
userstringはい User name.
A variable binding to send (Set, notifications).
キー 型 必須 説明
oidstringはい Object instance: name (sysName.0, IF-MIB::ifAdminStatus.2) or dotted OID.
typestring | nullauto (default: from the MIB), or i / integer, u / unsigned, c / counter32, C / counter64, t / timeticks, a / ipaddress, o / oid, s / string, x / hex, d / decimal, n / null, opaque.
valuestringValue text (enum labels such as down and object names are accepted).
A rendered variable binding.
キー 型 必須 説明
instancestringはい Instance sub-identifiers (3).
modulestring | nullDefining module.
namestringはい IF-MIB::ifDescr.3 (numeric when no MIB knows it).
numericinteger | nullNumeric value of integer types (rates, charts).
objectstring | nullObject descriptor (ifDescr).
oidstringはい OID (dotted decimal).
rawstringはい The value without MIB knowledge.
syntaxstring | nullTextual convention of the object (DisplayString, InterfaceIndex).
typestringはい Wire type (Counter32, OCTET STRING, noSuchInstance, …).
unitsstring | nullUNITS of the object.
valuestringはい Readable value (enum labels, display hints, units, names).
GET /api/version response body.
キー 型 必須 説明
api_versionintegerはい REST API version (bumped on incompatible changes).
archstringはい Target CPU architecture.
featuresstring``[]はい Optional features compiled in (pcap, …).
localesstring``[]はい Supported UI / message languages.
osstringはい Target OS.
versionstringはい Server version.
wpg バイナリはサーバ (wpg serve) とヘッドレスのツールを兼ねるため、CI や ssh 先での実行にも向いています。例えば wpg send tpl.wpg.yaml -i eth0 --rate 1Mpps でテンプレートを送出します。このページはコマンド定義から自動生成しており、各コードブロックは現行ビルドの --help 出力そのものです。実行時のメッセージは LANG / LC_ALL に従いますが、--help の文面は英語です。
Web Packet Generator
Usage: wpg [OPTIONS] <COMMAND>
Commands:
serve Start the web UI / API server
send Send a template headlessly
render Render a template to a pcapng file without transmitting
import Convert a pcap/pcapng capture into a template
template Template tools (lint, list, migrate, export, import)
ifaces List network interfaces usable for transmission
doctor Diagnose privileges, drivers, hugepages and Npcap
bench Measure transmit performance
capture Receive: counters, the first frames, pcapng output, signature verification
config Configuration file tools (init, show, validate) and API tokens
remote Drive a running server with an API token (jobs, templates)
protocols Protocol tools (list, show, check user-defined protocol files)
help Print this message or the help of the given subcommand(s)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Start the web UI / API server
Usage: wpg serve [OPTIONS]
Options:
--bind <BIND>
Address to listen on (default from the config: 127.0.0.1:8080). Without a password only loopback addresses are accepted (see --allow-insecure)
[env: WPG_BIND]
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--password <PASSWORD>
Admin password (plain text or argon2 hash). Visible in the process list: prefer --password-file, `WPG_PASSWORD` or `wpg config set-password`
--password-file <FILE>
File holding the admin password (plain text or argon2 hash)
--tls
Serve HTTPS; without `[server.tls]` a self-signed certificate is generated into `<data_dir>/tls/`
--allow-insecure
Listen on a non-loopback address even though no password is configured (anyone reaching the server can then set it on the setup screen)
--dev
Development mode: allow CORS from the Trunk dev server (:8081)
--library-path <DIR>
Template library directory (repeatable; replaces `templates.library_paths`)
--data-dir <DIR>
Data directory (user templates, history)
-h, --help
Print help
-V, --version
Print version
テンプレートを送出します。--plan は、全フレームを先に展開する (prerender) か、送出しながら組み立てる (onthefly) かを選びます。--json は最終レポートを標準出力に JSON で出します。
Send a template headlessly
Usage: wpg send [OPTIONS] <TEMPLATE>
Arguments:
<TEMPLATE>
Template file (`.wpg.yaml`)
Options:
-i, --iface <IFACE>
Interface to transmit on
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--backend <BACKEND>
Transmit backend (null, pcapfile, pcap, afpacket, afxdp, dpdk)
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--count <COUNT>
Number of packets
--duration <DURATION>
Duration limit, e.g. `10s`, `2m`
--rate <RATE>
Rate, e.g. `1Mpps`, `10Gbps`, `50%`, `ifg=10us`, `unlimited`
--burst <BURST>
Frames sent back to back per rate-control grant
--wait <MODE>
How the rate control waits: hybrid (sleep, then spin), sleep, spin or busy-poll (spin and service the backend)
--clock <CLOCK>
Rate-control clock: auto (TSC when invariant), tsc or monotonic
[default: auto]
--ramp-up <DURATION>
Ramp the rate up linearly from 0 over this time, e.g. `5s`
--start-at <TIME>
Start at this time: RFC 3339 (`2026-09-29T12:00:00Z`) or a delay (`+10s`)
--plan <PLAN>
Expansion strategy: auto, prerender or onthefly
[default: auto]
--prerender-max-bytes <BYTES>
`auto` pre-renders only streams up to this many bytes (default: `tx.prerender_max_bytes`, 256 MiB)
--prerender-max-packets <N>
`auto` pre-renders only streams up to this many packets (default: `tx.prerender_max_packets`, 100M)
--json
Print the final report as JSON on stdout
--var <NAME=VALUE>
Template variable override (`name=value`), repeatable; wins over --vars-file
--vars-file <FILE>
YAML or JSON map of template variable values
--set <LAYER.FIELD=VALUE>
Set a field to a fixed value, repeatable. LAYER is a protocol id, `proto[n]` or a layer index, e.g. `ipv4.ttl=1`
--gen <LAYER.FIELD=GEN>
Vary a field with a generator, repeatable, e.g. `udp.src_port=range:1000..1999`, `ipv4.dst=list:10.0.0.1,10.0.0.2`, `ipv4.id=random`
--signature
Stamp every frame with a receive-verification signature (magic, stream id, sequence number, TX time over the last 24 payload octets; see `wpg capture --verify`)
--stream-id <ID>
Signature stream id (with `--signature`)
[default: 0]
--batch <N>
Frames per `send_batch` call
--ring-depth <N>
TX ring depth in frames (`afpacket`)
--ring-bytes <BYTES>
Memory of one TX ring / UMEM per worker in bytes (`afpacket`, `afxdp`; default: `tx.ring_bytes`, 16 MiB)
--pin-core <CORE>
Pin the TX thread to this CPU core (Linux; the first worker)
--pin-cores <CORES>
Pin worker i to the i-th core of this list, e.g. `1,2` (Linux)
--workers <N>
TX worker threads, each with its own backend instance (afpacket: socket and ring) and share of the stream and rate
[default: 1]
--qdisc-bypass
Bypass the qdisc layer (`afpacket`, `PACKET_QDISC_BYPASS`)
--no-tx-ring
Use `sendmmsg` instead of the TPACKET_V3 TX ring (`afpacket`)
--auto-pin
Pin the workers to cores on the NIC's NUMA node, core 0 last (Linux; ignored when --pin-cores is given)
--queue <N>
First hardware queue (`afxdp`, `dpdk`; worker i uses queue N+i)
--xdp-mode <MODE>
AF_XDP bind mode: auto (zero-copy, else copy), copy or zerocopy
[default: auto]
--busy-poll
Busy polling: `afxdp` sockets busy-poll the driver (kernel 5.11+) and `wpg send` paces with `--wait busy-poll` unless --wait says otherwise
--eal-args <ARGS>
DPDK EAL arguments (`dpdk`), e.g. "-a 0000:00:04.0 --file-prefix wpg" (split on whitespace; wpg adds `-l <first CPU>` and `--in-memory` unless given)
-h, --help
Print help
-V, --version
Print version
送出せずに、テンプレートのフレームを pcapng ファイルへ書き出します。
Render a template to a pcapng file without transmitting
Usage: wpg render [OPTIONS] --output <OUTPUT> <TEMPLATE>
Arguments:
<TEMPLATE>
Template file
Options:
-o, --output <OUTPUT>
Output pcapng file (`-` writes it to standard output)
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--count <COUNT>
Number of packets
--var <NAME=VALUE>
Template variable override (`name=value`), repeatable; wins over --vars-file
--vars-file <FILE>
YAML or JSON map of template variable values
--set <LAYER.FIELD=VALUE>
Set a field to a fixed value, repeatable. LAYER is a protocol id, `proto[n]` or a layer index, e.g. `ipv4.ttl=1`
--gen <LAYER.FIELD=GEN>
Vary a field with a generator, repeatable, e.g. `udp.src_port=range:1000..1999`, `ipv4.dst=list:10.0.0.1,10.0.0.2`, `ipv4.id=random`
--json
Print the result (packets, bytes, path) as JSON on stdout
-h, --help
Print help
-V, --version
Print version
キャプチャ (または貼り付けた 16 進) をテンプレートに変換します。pcap からテンプレートへのチュートリアル も参照してください。
Convert a pcap/pcapng capture into a template
Usage: wpg import [OPTIONS] <INPUT>
Arguments:
<INPUT>
Input: a `.pcap` / `.pcapng` capture, a hex dump (`.hex`, see `--hex`) or `-` for standard input
Options:
-o, --output <OUTPUT>
Output template (`-` prints YAML on standard output)
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--per-packet <DIR>
Write one template per packet into this directory instead of one merged template
--first-protocol <PROTOCOL>
Protocol the frames start with
[default: ethernet2]
--max-packets <N>
Read at most this many packets
--no-detect-generators
Do not infer generators (range / list / random) from the packets
--hex
Treat the input as pasted hex (Wireshark hex stream, spaced bytes, hexdump)
-h, --help
Print help
-V, --version
Print version
テンプレートのツール。lint はエラー時に終了ステータス 1 を返します。export と import はテンプレートを .wpgbundle アーカイブにまとめ、展開します。
Template tools (lint, list, migrate, export, import)
Usage: wpg template [OPTIONS] <COMMAND>
Commands:
lint Check templates for errors and warnings (exit status 3 on errors)
list List the templates of a directory (default: `templates/`)
show Print the built packet (hex dump and layout tree) of a template
schema Print the JSON Schema of the template format
export Pack templates (files or ids) into a `.wpgbundle` archive
migrate Upgrade templates to the current schema version
import Extract the templates of a `.wpgbundle` archive into a directory
help Print this message or the help of the given subcommand(s)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Check templates for errors and warnings (exit status 3 on errors)
Usage: wpg template lint [OPTIONS] <FILES>...
Arguments:
<FILES>...
Template files
Options:
--json
Print the issues as JSON on stdout
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
List the templates of a directory (default: `templates/`)
Usage: wpg template list [OPTIONS] [DIR]
Arguments:
[DIR]
Directory to scan recursively
Options:
--json
Print the list as JSON on stdout
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Print the built packet (hex dump and layout tree) of a template
Usage: wpg template show [OPTIONS] <FILE>
Arguments:
<FILE>
Template file
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--var <NAME=VALUE>
Template variable override (`name=value`), repeatable; wins over --vars-file
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--vars-file <FILE>
YAML or JSON map of template variable values
--set <LAYER.FIELD=VALUE>
Set a field to a fixed value, repeatable. LAYER is a protocol id, `proto[n]` or a layer index, e.g. `ipv4.ttl=1`
--gen <LAYER.FIELD=GEN>
Vary a field with a generator, repeatable, e.g. `udp.src_port=range:1000..1999`, `ipv4.dst=list:10.0.0.1,10.0.0.2`, `ipv4.id=random`
--json
Print the packet (hex, layers, fields) as JSON on stdout
-h, --help
Print help
-V, --version
Print version
Print the JSON Schema of the template format
Usage: wpg template schema [OPTIONS]
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Pack templates (files or ids) into a `.wpgbundle` archive
Usage: wpg template export [OPTIONS] --output <OUTPUT> <TEMPLATES>...
Arguments:
<TEMPLATES>...
Template files, or ids (file stem / name slug) looked up in `--dir`
Options:
-o, --output <OUTPUT>
Output bundle
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--attach <FILE>
Attach a capture (pcap / pcapng) or other file, repeatable
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--dir <DIR>
Template library used to resolve ids (default: `templates/`)
-h, --help
Print help
-V, --version
Print version
Upgrade templates to the current schema version.
Directories are scanned recursively. The original of a rewritten file is kept as `<file>.bak`; the new file loses its comments. Files already at the current version are not touched.
Usage: wpg template migrate [OPTIONS] <PATHS>...
Arguments:
<PATHS>...
Template files or directories
Options:
--check
Only report outdated templates (exit status 1 if any needs migrating)
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--no-backup
Do not keep a `.bak` copy of migrated files
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
Extract the templates of a `.wpgbundle` archive into a directory
Usage: wpg template import [OPTIONS] --output <OUTPUT> <BUNDLE>
Arguments:
<BUNDLE>
The bundle
Options:
-o, --output <OUTPUT>
Output directory
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--force
Overwrite existing files
-h, --help
Print help
-V, --version
Print version
MAC、アドレス、MTU、リンク状態、ドライバ付きでインタフェースを一覧します。
List network interfaces usable for transmission
Usage: wpg ifaces [OPTIONS]
Options:
--json
Output JSON
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
権限設定 にある環境チェックを実行します。チェックが fail のとき終了ステータスは 0 以外です。
Diagnose privileges, drivers, hugepages and Npcap
Usage: wpg doctor [OPTIONS]
Options:
--json
Output JSON
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
合成フレーム (EtherType 0x88b5)、または --template で指定したテンプレートをレート無制限で送出します。ベースラインは docs/perf.md を参照。--json の項目: backend、detail、iface、frame_size、batch_size、packets、dropped、pps、bps (L2)、l1_bps、elapsed。
Measure transmit performance
Usage: wpg bench [OPTIONS]
Options:
--backend <BACKEND>
Backend to benchmark
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-i, --iface <IFACE>
Interface (for real backends)
--duration <DURATION>
Duration in seconds
[default: 5]
--frame-size <FRAME_SIZE>
Frame size in bytes (without FCS)
[default: 64]
--template <FILE>
Benchmark on-the-fly generation of this template instead of a fixed frame
--var <NAME=VALUE>
Template variable override (`name=value`), repeatable; wins over --vars-file
--vars-file <FILE>
YAML or JSON map of template variable values
--set <LAYER.FIELD=VALUE>
Set a field to a fixed value, repeatable. LAYER is a protocol id, `proto[n]` or a layer index, e.g. `ipv4.ttl=1`
--gen <LAYER.FIELD=GEN>
Vary a field with a generator, repeatable, e.g. `udp.src_port=range:1000..1999`, `ipv4.dst=list:10.0.0.1,10.0.0.2`, `ipv4.id=random`
--json
Output JSON
--batch <N>
Frames per `send_batch` call
--ring-depth <N>
TX ring depth in frames (`afpacket`)
--ring-bytes <BYTES>
Memory of one TX ring / UMEM per worker in bytes (`afpacket`, `afxdp`; default: `tx.ring_bytes`, 16 MiB)
--pin-core <CORE>
Pin the TX thread to this CPU core (Linux; the first worker)
--pin-cores <CORES>
Pin worker i to the i-th core of this list, e.g. `1,2` (Linux)
--workers <N>
TX worker threads, each with its own backend instance (afpacket: socket and ring) and share of the stream and rate
[default: 1]
--qdisc-bypass
Bypass the qdisc layer (`afpacket`, `PACKET_QDISC_BYPASS`)
--no-tx-ring
Use `sendmmsg` instead of the TPACKET_V3 TX ring (`afpacket`)
--auto-pin
Pin the workers to cores on the NIC's NUMA node, core 0 last (Linux; ignored when --pin-cores is given)
--queue <N>
First hardware queue (`afxdp`, `dpdk`; worker i uses queue N+i)
--xdp-mode <MODE>
AF_XDP bind mode: auto (zero-copy, else copy), copy or zerocopy
[default: auto]
--busy-poll
Busy polling: `afxdp` sockets busy-poll the driver (kernel 5.11+) and `wpg send` paces with `--wait busy-poll` unless --wait says otherwise
--eal-args <ARGS>
DPDK EAL arguments (`dpdk`), e.g. "-a 0000:00:04.0 --file-prefix wpg" (split on whitespace; wpg adds `-l <first CPU>` and `--in-memory` unless given)
-h, --help
Print help
-V, --version
Print version
Receive: counters, the first frames, pcapng output, signature verification
Usage: wpg capture [OPTIONS]
Options:
-i, --iface <IFACE>
Interface to receive on (`any` = every interface with `afpacket`); for the `pcapfile` backend the capture file to replay
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--backend <BACKEND>
Receive backend: afpacket (Linux), pcap (feature `pcap`), pcapfile, null
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-f, --filter <EXPR>
tcpdump-style filter, e.g. `udp port 5001 and wpg` (default: every frame)
-c, --count <COUNT>
Stop after this many matching frames
--duration <DURATION>
Stop after this long, e.g. `10s`
--show <N>
Print the first N matching frames
[default: 5]
--hex
Also print a hex dump of the shown frames
-w, --write <FILE>
Write the matching frames to this pcapng file
--verify
Check the signatures stamped by `wpg send --signature` (loss / order / latency)
--promisc
Promiscuous mode
--include-outgoing
Also count frames this host transmits
--json
Machine-readable output
-h, --help
Print help
-V, --version
Print version
wpg.toml のツール。設定リファレンス を参照してください。
Configuration file tools (init, show, validate) and API tokens
Usage: wpg config [OPTIONS] <COMMAND>
Commands:
init Write a fully commented example `wpg.toml`
show Print the effective configuration (file + environment) as TOML, secrets redacted
validate Check the configuration; exit status 1 on errors
set-password Prompt for the admin password and store its argon2id hash as `auth.password_hash` (the file is created from the example if missing)
token API tokens for scripts and `wpg remote` (create, list, revoke), stored in the server's database
help Print this message or the help of the given subcommand(s)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Write a fully commented example `wpg.toml`
Usage: wpg config init [OPTIONS]
Options:
--path <FILE>
Output file
[default: wpg.toml]
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--force
Overwrite an existing file
-h, --help
Print help
-V, --version
Print version
Print the effective configuration (file + environment) as TOML, secrets redacted
Usage: wpg config show [OPTIONS]
Options:
--config <FILE>
Configuration file (default: `wpg.toml` if present)
[env: WPG_CONFIG]
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
-h, --help
Print help
-V, --version
Print version
Check the configuration; exit status 1 on errors
Usage: wpg config validate [OPTIONS]
Options:
--config <FILE>
Configuration file (default: `wpg.toml` if present)
[env: WPG_CONFIG]
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
-h, --help
Print help
-V, --version
Print version
Prompt for the admin password and store its argon2id hash as `auth.password_hash` (the file is created from the example if missing)
Usage: wpg config set-password [OPTIONS]
Options:
--config <FILE>
Configuration file to update
[env: WPG_CONFIG]
[default: wpg.toml]
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--stdin
Read the password from the first line of standard input (no prompt)
-h, --help
Print help
-V, --version
Print version
サーバのデータベース (<data_dir>/wpg.sqlite) の API トークンを直接管理します。サーバの稼働中でも使えます。create は標準出力にトークンだけを出力します。
API tokens for scripts and `wpg remote` (create, list, revoke), stored in the server's database
Usage: wpg config token [OPTIONS] <COMMAND>
Commands:
create Create a token and print its secret (shown only once)
list List the tokens (never their secrets)
revoke Revoke (delete) a token by id
help Print this message or the help of the given subcommand(s)
Options:
--data-dir <DIR>
Data directory holding `wpg.sqlite` (default: `data_dir` of the configuration)
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Create a token and print its secret (shown only once)
Usage: wpg config token create [OPTIONS] <NAME>
Arguments:
<NAME>
Name, to recognise the token later
Options:
--data-dir <DIR>
Data directory holding `wpg.sqlite` (default: `data_dir` of the configuration)
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--user <USER>
User the token acts as (with that user's role)
[default: admin]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--expires-days <DAYS>
Expire after this many days (default: never)
--json
Print the token and its secret as JSON
-h, --help
Print help
-V, --version
Print version
List the tokens (never their secrets)
Usage: wpg config token list [OPTIONS]
Options:
--data-dir <DIR>
Data directory holding `wpg.sqlite` (default: `data_dir` of the configuration)
--json
Print JSON
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Revoke (delete) a token by id
Usage: wpg config token revoke [OPTIONS] <ID>
Arguments:
<ID>
Token id (see `wpg config token list`)
Options:
--data-dir <DIR>
Data directory holding `wpg.sqlite` (default: `data_dir` of the configuration)
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
API トークンを使い、稼働中のサーバを API 経由で操作します。認証と TLS を参照してください。終了ステータス: 0 成功、1 ジョブが失敗 (jobs wait、jobs start --wait)、2 その他のエラー。
Drive a running server with an API token (jobs, templates)
Usage: wpg remote [OPTIONS] <COMMAND>
Commands:
jobs Transmit jobs: list, start, stop, wait
templates The server's template library: list, push
help Print this message or the help of the given subcommand(s)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
Transmit jobs: list, start, stop, wait
Usage: wpg remote jobs [OPTIONS] <COMMAND>
Commands:
list List the server's jobs (running and recently finished)
start Start a job from a library template id or a local template file; prints the job id
stop Stop a job
wait Wait until a job ends; exit status 1 if it failed
help Print this message or the help of the given subcommand(s)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
List the server's jobs (running and recently finished)
Usage: wpg remote jobs list [OPTIONS]
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
Start a job from a library template id or a local template file; prints the job id
Usage: wpg remote jobs start [OPTIONS] <TEMPLATE>
Arguments:
<TEMPLATE>
Template id on the server, or a local `.wpg.yaml` file sent with the job
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--var <NAME=VALUE>
Template variable value (repeatable)
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--rate <RATE>
Rate, e.g. `1000pps`, `1Mpps`, `10Gbps`, `unlimited`
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--count <COUNT>
Number of packets
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--duration <DURATION>
Duration limit, e.g. `10s`, `2m`
--json
Print the server's JSON responses
-i, --iface <IFACE>
Interface on the server
--backend <BACKEND>
Transmit backend (default: the server's)
--name <NAME>
Job name
--wait
Wait until the job ends (like `wpg remote jobs wait`)
-h, --help
Print help
-V, --version
Print version
Stop a job
Usage: wpg remote jobs stop [OPTIONS] <ID>
Arguments:
<ID>
Job id
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
Wait until a job ends; exit status 1 if it failed
Usage: wpg remote jobs wait [OPTIONS] <ID>
Arguments:
<ID>
Job id
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--timeout <SECS>
Give up after this many seconds (exit status 2)
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
The server's template library: list, push
Usage: wpg remote templates [OPTIONS] <COMMAND>
Commands:
list List the templates on the server
push Upload a template file to the server's user templates; prints its id
help Print this message or the help of the given subcommand(s)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
List the templates on the server
Usage: wpg remote templates list [OPTIONS]
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
Upload a template file to the server's user templates; prints its id
Usage: wpg remote templates push [OPTIONS] <FILE>
Arguments:
<FILE>
Template file (`.wpg.yaml`)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--server <URL>
Server URL
[env: WPG_SERVER]
[default: http://127.0.0.1:8080]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
--token <TOKEN>
API token (`wpg_...`). Visible in the process list: prefer `WPG_TOKEN`
[env: WPG_TOKEN]
--insecure
Accept any TLS certificate (for servers with a self-signed certificate)
--json
Print the server's JSON responses
-h, --help
Print help
-V, --version
Print version
Protocol tools (list, show, check user-defined protocol files)
Usage: wpg protocols [OPTIONS] <COMMAND>
Commands:
list List the protocols: built-in ones and those of `--protocols-dir`
show Print a protocol definition, as an extension file to start a new protocol from (change its `id` first)
check Check user-defined protocol files (exit status 1 on errors)
help Print this message or the help of the given subcommand(s)
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
List the protocols: built-in ones and those of `--protocols-dir`
Usage: wpg protocols list [OPTIONS]
Options:
--json
Output JSON
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Print a protocol definition, as an extension file to start a new protocol from (change its `id` first)
Usage: wpg protocols show [OPTIONS] <ID>
Arguments:
<ID>
Protocol id (`udp`, `ipv4`, ...)
Options:
--json
Output the definition as JSON instead of YAML
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help
-V, --version
Print version
Check user-defined protocol files (exit status 1 on errors).
The files are checked together, with the built-in protocols and the other files of `--protocols-dir`.
Usage: wpg protocols check [OPTIONS] <PATHS>...
Arguments:
<PATHS>...
Extension files (`*.yaml`) or directories holding them
Options:
--protocols-dir <DIR>
Directory of user-defined protocol files (`*.yaml`, repeatable; added to `[protocols] dirs` of the configuration)
[env: WPG_PROTOCOLS_DIR]
--config <FILE>
Configuration file (default: `wpg.toml` in the working directory, if any). `wpg send` also takes its default backend and rate limit from `[tx]`
[env: WPG_CONFIG]
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
サーバは作業ディレクトリの wpg.toml、または --config / WPG_CONFIG で指定したファイルを読みます。優先順位は低い順に、組み込みの既定値、ファイル、環境変数 WPG_<SECTION>__<KEY> (__ で階層を区切る。例: WPG_SERVER__BIND=0.0.0.0:8080、WPG_TX__ALLOWED_IFACES='["eth1"]')、wpg serve --bind などのコマンドラインオプションです。未知のキーはエラーです。wpg config init で下記のコメント付きの例を書き出し、wpg config show で実効設定を表示し、wpg config validate で検査し、wpg config set-password で管理者パスワードのハッシュを保存します。管理者パスワードそのものはキーではなく、wpg serve --password、--password-file、WPG_PASSWORD が auth.password_hash、auth.password_file より優先されます。このページは設定の型から自動生成しています。
キー 型 既定値 環境変数 説明
data_dirstringOS のデータディレクトリ (Linux: ~/.local/share/wpg) WPG_DATA_DIRサーバの状態を置くディレクトリ: ユーザテンプレート、お気に入り、SQLite データベース (ユーザ、セッション、ジョブ履歴)、ドライランのキャプチャ、自己署名 TLS 証明書。
認証。
キー 型 既定値 環境変数 説明
password_filestringWPG_AUTH__PASSWORD_FILE管理者パスワードを書いたファイル: argon2 PHC 文字列、または起動時にハッシュする平文。
password_hashstringWPG_AUTH__PASSWORD_HASH管理者パスワードの argon2id PHC 文字列。wpg config set-password が書き込みます。
session_ttl_secsinteger86400WPG_AUTH__SESSION_TTL_SECSセッションの有効期間 (秒)。リクエストのたびに延長されます。
DHCP サーバーツール(1 つのインタフェースで DHCPv4 / DHCPv6。プールとオプションは DHCP 画面で編集)。
キー 型 既定値 環境変数 説明
enabledbooleantrueWPG_DHCP__ENABLEDDHCP 画面と /api/dhcp を有効にします。
ifacestring""WPG_DHCP__IFACEDHCP サーバーが応答するインタフェース(例 eth1。deploy.sh --dhcp-iface で設定)。空なら画面で tx.allowed_ifaces から選びます。
ログ。
キー 型 既定値 環境変数 説明
ansibooleantrueWPG_LOG__ANSI端末への出力に色を付けます。
filestringWPG_LOG__FILEこのファイルにも書き出します (ディレクトリは作成されます)。
format"pretty" | "json""pretty"WPG_LOG__FORMAT行の形式: pretty (人が読む形式) または json (1 行に 1 オブジェクト)。
levelstring"info"WPG_LOG__LEVELフィルタ指定 (RUST_LOG が優先)。例: info、wpg_tx=debug,info。
max_filesintegerWPG_LOG__MAX_FILES残すローテーション済みファイルの最大数 (古いものから削除)。
rotation"never" | "hourly" | "daily""never"WPG_LOG__ROTATIONファイルのローテーション: never、hourly、daily。
ユーザ定義プロトコル。
キー 型 既定値 環境変数 説明
dirsstring[][]WPG_PROTOCOLS__DIRSユーザ定義プロトコルのファイル (*.yaml: 新しいプロトコル定義と既存プロトコルの下への結び付け) を置くディレクトリ。起動時にファイル名順で読み込みます。wpg serve --protocols-dir で追加できます。
HTTP リスナ。
キー 型 既定値 環境変数 説明
base_urlstringWPG_SERVER__BASE_URLリバースプロキシ配下で公開する URL (https://wpg.example.net)。絶対リンクに使います。
bindstring"127.0.0.1:8080"WPG_SERVER__BIND待ち受けアドレス。パスワードがなく、セットアップ画面でユーザも作っていない間は、ループバックアドレスだけを受け付けます (--allow-insecure で解除)。
job_historyinteger100WPG_SERVER__JOB_HISTORYメモリに保持し、ジョブ画面と API に一覧表示する終了済みジョブ数 (1–100000)。
job_history_dbinteger1000WPG_SERVER__JOB_HISTORY_DBデータベースに残す終了済みジョブ数。古いものから削除します (1–10000000)。
preview_maxinteger256WPG_SERVER__PREVIEW_MAX1 回のプレビュー (POST /api/render) で生成できる最大パケット数 (1–100000)。
self_signed_tlsbooleanfalseWPG_SERVER__SELF_SIGNED_TLS<data_dir>/tls/ に生成する自己署名証明書で HTTPS を提供します (次回以降も再利用)。wpg serve --tls と同じです。
HTTPS で使う証明書チェーンと秘密鍵 (PEM)。self_signed_tls より優先します。
キー 型 既定値 環境変数 説明
certstringWPG_SERVER__TLS__CERTPEM 形式の証明書チェーン。
keystringWPG_SERVER__TLS__KEYPEM 形式の秘密鍵。
SNMP マネージャツール(Get / Walk / Set / トラップ、MIB アップロード)。
キー 型 既定値 環境変数 説明
enabledbooleantrueWPG_SNMP__ENABLEDSNMP ツール画面と /api/snmp を有効にします。
mib_dirstring""WPG_SNMP__MIB_DIRアップロードした MIB ファイルのディレクトリ。空なら <data_dir>/mibs。
trap_listenstring""WPG_SNMP__TRAP_LISTEN起動時からトラップ / インフォーム受信を待ち受けるアドレス(例 0.0.0.0:162。1024 未満のポートには root か CAP_NET_BIND_SERVICE が必要)。空なら起動時は受信しません(画面から開始できます)。
テンプレートライブラリ。
キー 型 既定値 環境変数 説明
library_pathsstring[]["./templates"]WPG_TEMPLATES__LIBRARY_PATHS読み取り専用のテンプレートライブラリ (Git のチェックアウトなど)。*.wpg.yaml / *.wpg.json を再帰的に読み込み、ファイルが変わると再読み込みします。
user_dirstringWPG_TEMPLATES__USER_DIRGUI で作成・インポートしたテンプレートを書き込むディレクトリ。既定は <data_dir>/templates。
Web ターミナル: ログインしたユーザのためにサーバが開く SSH / Telnet セッション (Web ターミナルのガイドを参照)。
キー 型 既定値 環境変数 説明
allowed_targetsstring[][]WPG_TERMINAL__ALLOWED_TARGETSセッションの接続先として許可する宛先: host、host:port、*.domain、IP アドレス、CIDR (10.0.0.0/8、[2001:db8::1]:830)。空ならすべて。
enabledbooleanfalseWPG_TERMINAL__ENABLEDWeb ターミナルを有効にします。既定では無効です。
idle_timeout_secsinteger1800WPG_TERMINAL__IDLE_TIMEOUT_SECS入出力がこの秒数ないセッションを切断します。0 で切断しません。
max_sessionsinteger8WPG_TERMINAL__MAX_SESSIONS同時に開けるセッション数の上限 (全ユーザ合計)。
record_sessionsbooleantrueWPG_TERMINAL__RECORD_SESSIONSセッションログ (接続先からの出力) を <data_dir>/terminal-logs に残すことを許可します。false でサーバ側のログを無効にします。
送出のポリシーと既定値。
キー 型 既定値 環境変数 説明
allowed_ifacesstring[][]WPG_TX__ALLOWED_IFACESジョブが送出してよいインタフェース。空ならすべて。null バックエンドとドライランは制限しません。
default_backendstringWPG_TX__DEFAULT_BACKENDジョブがバックエンドを指定しないときのバックエンド (null、pcapfile、afpacket、pcap、afxdp、dpdk)。未設定なら Linux は afpacket、それ以外は pcap、使えなければ null。
dpdk_eal_argsstring[][]WPG_TX__DPDK_EAL_ARGSdpdk バックエンドの DPDK EAL 引数 (例: ["-a", "0000:00:04.0"])。指定がなければ wpg が -l <先頭の CPU> と --in-memory を加えます。EAL はプロセスごとに最初の dpdk ジョブで 1 度だけ起動するため、変更には再起動が必要です。
max_ratestringWPG_TX__MAX_RATEジョブが指定できる最大レート (100kpps、1Gbps)。レート指定のないジョブはこのレートで送出します。
prerender_max_bytesinteger268435456WPG_TX__PRERENDER_MAX_BYTESパケット数 × フレーム長がこのバイト数以下のストリームだけを事前生成 (送出前に全フレームを生成) し、超えるものは送出しながら生成します。0 は --plan prerender を指定しない限り事前生成しません。上限 1 TiB。wpg send --prerender-max-bytes で上書きできます。
prerender_max_packetsinteger100000000WPG_TX__PRERENDER_MAX_PACKETSパケット数がこの値以下のストリームだけを事前生成します。wpg send --prerender-max-packets で上書きできます。
ring_bytesinteger16777216WPG_TX__RING_BYTESワーカーごとの afpacket TX リング / afxdp UMEM のメモリ (バイト、1 MiB–1 GiB)。収まるようにリング深さを減らします。このメモリはロックされるため、大きな値では ulimit -l を引き上げてください。--ring-bytes で上書きできます。
有効な行はすべて組み込みの既定値と同じなので、編集するまで動作は変わりません。コメントアウトした行は省略可能なキーの例です。
# wpg.toml — Web Packet Generator configuration.
#
# Precedence (lowest first): built-in defaults < this file < environment variables
# (WPG_<SECTION>__<KEY>, e.g. WPG_SERVER__BIND=0.0.0.0:8080 or
# WPG_TX__ALLOWED_IFACES='["eth1"]') < command line options (wpg serve --bind ...).
# Unknown keys are rejected. Check a file with `wpg config validate`, print the
# effective configuration with `wpg config show`.
# Server state: user templates, favourites, job history, dry-run captures.
# Default: the OS data directory (Linux: ~/.local/share/wpg).
# data_dir = "/var/lib/wpg"
[server]
# Listen address. Without a password keep it on localhost.
bind = "127.0.0.1:8080"
# Public URL when running behind a reverse proxy.
# base_url = "https://wpg.example.net"
# Serve HTTPS with a self-signed certificate generated into <data_dir>/tls/
# (same as `wpg serve --tls`). Ignored when [server.tls] is set.
self_signed_tls = false
# Most packets one preview request may render (1-100000).
preview_max = 256
# Finished jobs listed on the Jobs screen (kept in memory, 1-100000) and kept in
# the database (1-10000000; older ones are deleted).
job_history = 100
job_history_db = 1000
# TLS certificate chain and private key (PEM) to serve HTTPS with.
# [server.tls]
# cert = "/etc/wpg/cert.pem"
# key = "/etc/wpg/key.pem"
[auth]
# Admin password. Without one (and without a user created on the first-run
# setup screen) the server only listens on localhost. Sources, highest first:
# `wpg serve --password`, `--password-file`, $WPG_PASSWORD, password_hash,
# password_file, the setup screen.
# argon2id hash of the admin password (`wpg config set-password` writes it):
# password_hash = "$argon2id$v=19$m=19456,t=2,p=1$..."
# Or a file holding the hash or the plain-text password:
# password_file = "/etc/wpg/password"
# Session lifetime in seconds (extended by every request).
session_ttl_secs = 86400
[templates]
# Read-only template libraries (Git checkouts etc.), scanned recursively for
# *.wpg.yaml / *.wpg.json and reloaded when files change.
library_paths = ["./templates"]
# Writable directory for templates created or imported in the GUI.
# Default: <data_dir>/templates
# user_dir = "/var/lib/wpg/templates"
[protocols]
# Directories of user-defined protocol files (*.yaml), loaded at startup.
# Changes need a restart.
# dirs = ["/etc/wpg/protocols.d"]
[tx]
# Interfaces jobs may send on; empty = all. The null backend and dry runs are
# not restricted.
allowed_ifaces = []
# Highest rate a job may request, e.g. "100kpps" or "1Gbps". Jobs without a rate
# are sent at this rate.
# max_rate = "100kpps"
# Backend when a job names none: null, pcapfile, afpacket, pcap, afxdp, dpdk.
# Default: afpacket on Linux, else pcap, else null.
# default_backend = "afpacket"
# DPDK EAL arguments for the dpdk backend (wpg adds "-l <first CPU>" and
# "--in-memory" unless given). EAL starts with the first dpdk job; changing them
# needs a restart.
# dpdk_eal_args = ["-a", "0000:00:04.0"]
# Streams are pre-rendered (every frame built before sending) when they have at
# most prerender_max_packets packets and packets * frame length is at most
# prerender_max_bytes (default 256 MiB, up to 1 TiB); larger ones are built on
# the fly. `wpg send --prerender-max-bytes / --prerender-max-packets` override.
prerender_max_bytes = 268435456
prerender_max_packets = 100000000
# Memory of one afpacket TX ring / afxdp UMEM per worker in bytes (1 MiB-1 GiB,
# default 16 MiB); --ring-depth is reduced to fit. Locked memory: raise
# `ulimit -l` / LimitMEMLOCK for large values.
ring_bytes = 16777216
[snmp]
# SNMP tool screen and API (Get / Walk / Set / traps, MIB upload).
enabled = true
# Trap / inform receiver started at boot, e.g. "0.0.0.0:162" (ports below 1024
# need root or CAP_NET_BIND_SERVICE). Empty: not started at boot (it can be
# started from the UI).
trap_listen = ""
# Directory of uploaded MIB files. Empty: <data_dir>/mibs
mib_dir = ""
[dhcp]
# DHCP screen and API (DHCPv4 / DHCPv6 server, Linux only). Pools and options
# are edited on the screen and kept in <data_dir>/dhcp.json.
enabled = true
# Interface the server answers on, e.g. "eth1". Empty: chosen on the screen
# among tx.allowed_ifaces. Ports 67 / 547 need root or CAP_NET_BIND_SERVICE.
iface = ""
[log]
# Filter directives (RUST_LOG overrides this), e.g. "info" or "wpg_tx=debug,info".
level = "info"
# "pretty" or "json".
format = "pretty"
# Also write to this file (its directory is created).
# file = "/var/log/wpg/wpg.log"
# Rotation of the file: "never", "hourly" or "daily".
rotation = "never"
# Keep at most this many rotated files.
# max_files = 7
# Colour the console output when it is a terminal.
ansi = true
[terminal]
enabled = false # Web terminal (SSH / Telnet)
allowed_targets = [] # "host", "host:port" or CIDR; empty = any target
record_sessions = true # keep session logs under <data_dir>/terminal-logs
idle_timeout_secs = 1800
max_sessions = 8
Status: draft
wpg を SSH で Linux ホスト (Ubuntu 20.04〜24.04、Debian。第一の対象は CML2 上の Ubuntu ノード) に入れるスクリプトです。Windows からは scripts\deploy.bat (中身は scripts\deploy.ps1)、Linux / macOS からは scripts/deploy.sh を使います。どちらもホスト側では同じスクリプト (scripts/lib/*.sh) を使うため、結果は同じです。
引数を覚える必要はありません。 引数なしで起動すると、ウィザードが必要なことを 1 つずつ日本語で聞きます (英語の環境では英語)。どの質問も Enter だけで [ ] 内の既定値を選べます。
自動実行もできます。 ウィザードの最後に保存できる回答ファイルを使うと、同じデプロイを質問なしで実行できます (定期アップグレード、複数台、CI)。自動実行 (無人実行) を参照してください。
エクスプローラでリポジトリの scripts フォルダを開き、deploy.bat をダブルクリック します。PowerShell から実行してもかまいません。
.\scripts\deploy.bat # または: powershell -ExecutionPolicy Bypass -File .\scripts\deploy.ps1
必要なもの: Windows 10 1809 以降 / Windows 11 に標準で入っている OpenSSH クライアント (ssh、scp、ssh-keygen) と tar.exe。OpenSSH クライアントが無い場合は「設定 > アプリ > オプション機能」で「OpenSSH クライアント」を追加します。Windows 上に Rust や Git は不要です (Git があれば、ソースのアップロードに git archive を使います)。
scripts/deploy.sh # 引数なし = ウィザード (just deploy-wizard でも同じ)
sshpass が入っていれば SSH パスワードの入力に使います (無くても動きます)。
初回 (Windows の PowerShell 5.1)。**** の部分は入力が表示されません。
wpg デプロイウィザード (Enter で [ ] 内の既定値を使います。Ctrl+C で中止)
接続先ホスト (IP アドレスまたはホスト名): 192.0.2.10
SSH ポート [22]:
SSH ユーザ名 [ubuntu]: cisco
SSH の認証方法:
1) パスワード (初回だけ使い、デプロイ用の鍵を登録します)
2) 既存の秘密鍵ファイル
番号を選んでください [1]:
[1] cisco@192.0.2.10 に接続
SSH パスワード (cisco@192.0.2.10): ********
デプロイ用の鍵を作りました: C:\Users\you\.ssh\wpg_deploy_ed25519
公開鍵をホストの ~/.ssh/authorized_keys に登録します (パスワードを使うのはこの 1 回だけです)。
鍵でログインできるようになりました。次回からパスワードは不要です。
OS: Ubuntu 24.04.1 LTS (x86_64) sudo: password wpg: -
wpg のバイナリの用意:
1) ホスト上でソースからビルド (推奨。ホストにインターネット接続が必要。初回 10〜30 分)
2) 手元の Linux 用バイナリファイルをアップロード
3) GitHub Release からダウンロード (まだリリースがありません)
番号を選んでください [1]:
ソースコード:
1) このパソコンのソース (C:\work\web-packet-generator) をアップロード
2) GitHub から git clone
番号を選んでください [1]:
systemd サービスとしてインストールし、起動時に自動で開始しますか? [Y/n]:
Web UI の待ち受けアドレス:ポート (0.0.0.0 = すべて) [0.0.0.0:8080]:
送信を許可するインタフェース (tx.allowed_ifaces):
1) ens2 UP 192.0.2.10/24 <- 管理用 (SSH 接続中)
2) ens3 UP
3) ens4 UP
番号をカンマ区切りで (例 2,3。all = すべて許可) [2,3]:
Web ターミナルを有効にしますか? (対応する wpg のみ) [y/N]:
SNMP トラップ受信 (UDP 162) を有効にしますか? (対応する wpg のみ) [y/N]: y
DHCP サーバーが応答するインタフェース (空 / - = 画面で選択。対応する wpg のみ): ens4
ens4 の固定 IP (address/len をカンマ区切り。例 192.168.100.1/24,2001:db8:1::1/64。空 / - = 設定しない): 192.168.100.1/24
sudo パスワード (Enter = SSH パスワードと同じ):
wpg の管理者パスワード (Web UI のログイン用): ********
もう一度入力してください: ********
確認
接続先 : cisco@192.0.2.10 (port 22)
バイナリ : ホスト上でビルド (このパソコンのソース: C:\work\web-packet-generator)
サービス : systemd (wpg.service)
待ち受け : 0.0.0.0:8080
送信インタフェース : ens3,ens4
管理者パスワード : 設定する
Web ターミナル : 無効
SNMP トラップ受信 : 有効 (UDP 162)
DHCP サーバー : ens4 192.168.100.1/24
この内容で実行しますか? [Y/n]:
この設定を次回のために保存しますか? (パスワードは保存しません) [Y/n]:
設定を保存しました: C:\Users\you\AppData\Roaming\wpg\deploy.conf (パスワードは保存していません)
ログ: C:\Users\you\AppData\Local\wpg\deploy-logs\deploy-20261027-101500.log
[2/6] アップロード (cisco@192.0.2.10:/tmp/wpg-deploy.Xa81Qe)
[3/6] ビルドに必要なパッケージの導入 (apt)
-> apt-get install build-essential pkg-config libpcap-dev curl git ca-certificates tar
[4/6] ホスト上でビルド (初回は 10〜30 分かかります)
-> installing rustup (https://rustup.rs) into ~/.cargo
-> installed trunk 0.22.1 (prebuilt)
...
-> built wpg 0.1.0
[5/6] インストール (sudo)
-> installed wpg 0.1.0 to /usr/local/bin/wpg
-> setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/local/bin/wpg
-> systemd unit wpg.service (re)started
[6/6] ヘルスチェック (http://127.0.0.1:8080/api/health)
{"status":"ok","version":"0.1.0",...}
完了しました。ブラウザで開いてください:
http://192.0.2.10:8080/
deploy.sh のウィザードも同じ質問をします (バイナリの用意に「このマシンでビルドしてアップロード」が加わります。sudo パスワードは接続の直後に聞きます)。
項目 既定値 補足
接続先ホスト 前回の値 IP アドレスまたはホスト名。
SSH ポート 22
SSH ユーザ名 ubuntu sudo を使えるユーザ。
認証方法 パスワード パスワードは 1 回だけ使い、デプロイ用の鍵を登録します (後述)。既存の鍵ファイルも選べます。鍵で入れるときは聞きません。
sudo パスワード SSH パスワードと同じ NOPASSWD の sudo や root ログインなら聞きません。間違えると 3 回まで聞き直します。
バイナリの用意 ホスト上でビルド ホストがインターネットに出られないときは既定が変わります。下の「バイナリの用意」を参照。
サービスとして入れる はい systemd の wpg.service。
待ち受けアドレス 0.0.0.0:8080127.0.0.1:8080 にすると SSH トンネル経由でだけ使えます。
管理者パスワード (必須) Web UI のログイン (ユーザ admin) 用。2 回入力します。インストール済みなら Enter で変更しません。
送信インタフェース 管理用以外のすべて ホストの ip -br addr を番号付きで表示します。SSH に使っているインタフェースには「管理用」と出ます。all で制限なし。
Web ターミナル / SNMP トラップ受信 いいえ 対応するバージョンの wpg のときだけ有効になります (後述)。
回答 (パスワード以外) は Windows では %APPDATA%\wpg\deploy.conf、Linux / macOS では ~/.config/wpg/deploy.conf に保存され、次回は最初に「前回の設定を使いますか?」と聞きます。Enter で前回と同じ内容になり、聞かれるのはパスワードだけです (鍵でログインできるので SSH パスワードは不要です)。デプロイが成功すると最後に、同じ内容を質問なしで実行するためのファイルを保存するかを聞きます (自動実行 )。
wpg がすでに入っていて wpg.prev があると、最初にメニューが出ます。
wpg はインストール済みです (wpg 0.1.0)。何をしますか?
1) インストール / アップグレード
2) ロールバック (1 つ前のバイナリ wpg.prev に戻す)
3) 中止
方法 向いている場合 必要なもの
ホスト上でソースからビルド (既定) ほとんどの場合。ホストの glibc に合ったバイナリができます。 ホストからインターネット (apt、rustup、crates.io、GitHub) に出られること。メモリ 2 GiB 以上 (足りなければスワップ)、空きディスク 5 GiB 程度。
手元の Linux 用バイナリをアップロード 別の Linux マシンでビルド済みのとき。 wpg (ELF) ファイル。Windows の wpg.exe は使えません。ホストより新しい glibc でビルドしたものは動きません。
GitHub Release からダウンロード リリースが公開された後。 手元のマシンからインターネット。現時点ではリリースはまだありません (ウィザードに「まだリリースがありません」と出ます)。
このマシンでビルド (deploy.sh のみ) 手元が同じ CPU アーキテクチャの Linux のとき。 Rust と trunk (従来の deploy.sh の動作)。
ホスト上でビルドするときは次を行います。
root で build-essential、pkg-config、libpcap-dev、curl、git、ca-certificates を apt-get で入れます (dnf のディストリビューションでは相当するパッケージをできる範囲で入れます)。
SSH ユーザで rustup (stable、minimal プロファイル、~/.cargo)、wasm32-unknown-unknown ターゲット、trunk (ビルド済みのものを取得。取れなければ cargo install trunk) を入れます。
ソースを ~/wpg-build/src に用意します。既定はこのパソコンのソースのアップロードです (Git があれば git archive。コミットしていない変更も含みますが、Git 管理外のファイルは含みません。Git が無ければ tar.exe で target などを除いて固めます)。GitHub からの git clone (ブランチ / タグ指定) も選べます。
scripts/build.sh --release でビルドします。~/wpg-build/target は次回も使うため、2 回目以降のビルドは速くなります。メモリが少ないホストでは並列数を自動で減らします。
SSH 接続 (必要なら鍵の登録) と、ホストの情報の取得 (OS、CPU、sudo、インタフェース、インストール済みの wpg、インターネット接続)。
ホストの一時ディレクトリ (/tmp/wpg-deploy.*、終了時に削除) へのアップロード。
(ホスト上でビルドするとき) 依存パッケージの導入とビルド。
インストール (scripts/lib/deploy-remote.sh を root で実行): バイナリを /usr/local/bin/wpg に置き (直前のものは wpg.prev)、setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip を付けます (setcap が無く apt-get があれば libcap2-bin を先に入れます)。サービスとして入れるときは、システムユーザ wpg、/etc/wpg/wpg.toml (無い場合のみ)、/etc/wpg/wpg.env、/etc/wpg/password を作り、wpg.service を (再) 起動します。ufw / firewalld が有効でポートが開いていなければ、開け方を表示します (ファイアウォールは変更しません)。
ホスト上の wpg doctor の表示と、GET /api/health が応答するまでの待機 (最大 30 秒。応答しなければ journal の末尾を表示)。
開く URL の表示。
各ステップは [3/6] のように番号付きで色分けして表示され、すべてログファイルにも残ります (Windows: %LOCALAPPDATA%\wpg\deploy-logs\、deploy.sh のウィザード: ~/.local/state/wpg/)。失敗すると、失敗したステップ、直前の出力、対処のヒントを表示します。
従来のオプションはそのまま使えます。
# ビルド、アップロード、setcap のみ (ホスト上で `wpg send` / `wpg serve` を自分で実行する)
scripts/deploy.sh ubuntu@192.0.2.10
# 全アドレスで待ち受け、ens3 でだけ送信を許可するサービスとしてインストール
scripts/deploy.sh ubuntu@192.0.2.10 --service --iface ens3 --password-file ./admin-password
# ホスト上でソースからビルドしてインストール (パスワードは 1 回だけ聞かれ、鍵が登録される)
scripts/deploy.sh ubuntu@192.0.2.10 --ask-password --sudo-password --build-on-host --service --iface ens3
# タスクランナー経由でも同じ
just deploy ubuntu@192.0.2.10
# 何も変更せず、実行されるコマンドだけを表示
scripts/deploy.sh ubuntu@192.0.2.10 --service --dry-run
--password-file には、1 行目に管理者パスワード (平文) または argon2id ハッシュを書いたローカルファイルを指定します。ホストには /etc/wpg/password (モード 0640、グループ wpg) として置かれます。指定しない場合、ホストにパスワードが既に無ければ (/etc/wpg/password、/etc/wpg/wpg.toml の password_hash / password_file、既存のユーザデータベースのいずれも無ければ)、ループバック以外のアドレスでサーバを起動することを拒否します。代わりに --bind 127.0.0.1:8080 と SSH トンネル (ssh -L 8080:127.0.0.1:8080 ubuntu@192.0.2.10) を使うか、隔離された検証ネットワークに限って --allow-insecure を使ってください。
オプション 意味
(引数なし)、--interactive ウィザード。
--iface <name>ジョブが送信してよいインタフェース (複数指定可)。WPG_TX__ALLOWED_IFACES に書かれます。管理用インタフェースは含めないでください。
--servicewpg.service をインストール / 更新して再起動します。
--no-serviceサービスを入れません (--config の service=1 を打ち消します)。
--bind <addr:port>サービスの待ち受けアドレス (既定 0.0.0.0:8080)。
--password-file <file>サービスの管理者パスワード (または argon2 ハッシュ)。
--allow-insecureパスワード無しでループバック以外のアドレスで起動します (wpg serve --allow-insecure を実行する drop-in を追加)。
--binary <file>target/release/wpg の代わりにデプロイするバイナリ。
--target <triple>別ターゲット向けにビルドします。例: aarch64-unknown-linux-gnu (クロスリンカが必要)。
--build-on-hostホスト上でソースからビルドします。--source local (既定。このチェックアウトをアップロード) か --source git (--git-url、--git-ref。既定は GitHub の main)。
--release-tag <tag>GitHub Release (latest で最新) の Linux 用バイナリを使います。
--prefix <dir>ホスト側のインストール先 (既定 /usr/local)。
--port <n>、--ssh-opt <opt>SSH のポートと追加の -o オプション (例: --ssh-opt IdentityFile=~/.ssh/lab)。
--identity <file>使う SSH 秘密鍵。
--ask-passwordSSH パスワードを 1 回聞き、デプロイ用の鍵 ~/.ssh/wpg_deploy_ed25519 をホストに登録します。
--sudo-passwordsudo パスワードを先に聞き、sudo -S に標準入力で渡します (既定では sudo が SSH の端末で聞きます)。
--terminal、--snmp-trapWeb ターミナル / SNMP トラップ受信を有効にします (後述)。
--dhcp-iface <名前>DHCP サーバーが応答するインタフェースを固定します (/etc/wpg/wpg.env の WPG_DHCP__IFACE。--service と併用)。DHCP サーバー を参照。
--dhcp-iface-addr <アドレス/長さ>--dhcp-iface の固定 IP (複数可、カンマ区切り可。例 192.168.100.1/24,2001:db8:1::1/64)。/etc/netplan/90-wpg-<IF>.yaml を書いて netplan apply します。デフォルトルートのある IF には設定しません。
--no-templatesサンプルテンプレートを /usr/local/share/wpg/templates にコピーしません。
--no-healthcheckヘルスチェックを省略します。
--rollback/usr/local/bin/wpg と wpg.prev を入れ替えてサービスを再起動します。2 回実行すると元に戻ります。
--dpdk、--hugepages <n>DPDK 向けにホストを準備します (後述)。
--profile <file>、--lang <ja|en>、--log <file>ウィザードの回答ファイル、表示言語、ログファイル。
--dry-runコマンドを表示するだけで実行しません。
--config、--yes、--json、--skip-if-current、--check-config、--targets、--section、--parallel、--set自動実行用 (自動実行 )。
ウィザードの質問はすべてパラメータでも渡せます。-HostName を付けるとウィザードは起動しません (足りないパスワードだけを聞きます。-Yes を付けると何も聞かず、足りなければすぐに失敗します)。
# ホスト上でビルドしてサービスとして入れる (質問なし。sudo パスワードは環境変数 WPG_DEPLOY_SUDO_PASSWORD など)
.\scripts\deploy.ps1 -HostName 192.0.2.10 -User cisco -Iface ens3,ens4 -Yes
# 手元の Linux 用バイナリを使う
.\scripts\deploy.ps1 -HostName 192.0.2.10 -User cisco -BinarySource file -Binary .\wpg
# GitHub の v0.2.0 タグからビルド
.\scripts\deploy.ps1 -HostName 192.0.2.10 -Source git -GitRef v0.2.0
# ロールバック
.\scripts\deploy.ps1 -HostName 192.0.2.10 -User cisco -Rollback
パラメータ 意味
-HostName、-User、-Port、-Identity接続先、SSH ユーザ (既定 ubuntu)、ポート、既存の秘密鍵。
-SshPassword、-SudoPassword、-AdminPasswordSecureString ((Read-Host -AsSecureString) など)。省略すると必要なときに聞きます。
-BinarySource build|file|releaseホスト上でビルド (既定)、-Binary のファイル、GitHub Release (-ReleaseTag)。
-Source local|git、-GitUrl、-GitRefビルドするソース。
-Bind、-Iface待ち受けアドレス、送信を許可するインタフェース。
-NoServiceサービスを入れません (既定は入れます)。
-Terminal、-SnmpTrapWeb ターミナル / SNMP トラップ受信。
-DhcpIface、-DhcpIfaceAddrDHCP サーバーのインタフェースと固定 IP (--dhcp-iface / --dhcp-iface-addr と同じ)。
-Rollback、-NoTemplates、-NoHealthcheckdeploy.sh と同じ。
-ProfilePath、-Lang ja|en、-LogFile回答ファイル、表示言語、ログファイル。
-Interactive、-Yes、-DryRunパラメータを既定値にしてウィザードを起動 / 何も質問しない (確認もパスワードも) / 接続と確認だけ行い、ビルドとインストールはしない。
-Prefix、-AllowInsecureホスト側のインストール先、パスワード無しでの起動 (deploy.sh と同じ)。
-ConfigFile、-Json、-SkipIfCurrent、-CheckConfig、-Targets、-Section、-Parallel、-Set自動実行用 (自動実行 )。
手で入れるときはウィザード、決まった構成を繰り返し入れるとき (定期アップグレード、複数台、CI) は 回答ファイル + --yes で、質問なしに最後まで実行できます。
ウィザードの最後 (デプロイが成功した後) に次のように聞かれます。
この設定で次回から自動実行するファイルを保存しますか? (パスワードは保存しません) [Y/n]:
保存先 [C:\Users\you\AppData\Roaming\wpg\deploy-192.0.2.10.conf]:
sudo パスワードを暗号化して保存しますか? (Windows の DPAPI。この Windows ユーザーがこの PC でだけ復号できます) [Y/n]:
保存しました: C:\Users\you\AppData\Roaming\wpg\deploy-192.0.2.10.conf (パスワードは平文では含みません)
次回からは、質問なしで次の 1 行で実行できます:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\work\web-packet-generator\scripts\deploy.ps1" -ConfigFile "C:\Users\you\AppData\Roaming\wpg\deploy-192.0.2.10.conf" -Yes -SkipIfCurrent
定期実行の例 (タスク スケジューラ、毎週日曜 3:17。ログは %LOCALAPPDATA%\wpg\deploy-logs に残ります):
schtasks /Create /TN "wpg deploy 192.0.2.10" /SC WEEKLY /D SUN /ST 03:17 /TR "..."
表示された 1 行をそのままコピーして使えます (deploy.sh では scripts/deploy.sh --config ~/.config/wpg/deploy-192.0.2.10.conf --yes --skip-if-current と cron の例が出ます)。SSH はウィザードが登録したデプロイ用の鍵で入るので、SSH パスワードは不要です。sudo にパスワードが要るホストでは、Windows なら上の質問で DPAPI で暗号化して保存でき、Linux / macOS では環境変数かパスワードファイル (後述) を使います。
ウィザードが保存する deploy.conf と同じ形式です (キー=値 の行、# で始まる行はコメント)。手で書いてもかまいません。どちらのスクリプトでも同じファイルを読めます。
# deploy.wpg.conf
host=192.0.2.10
user=cisco
binary_source=build
source=git
git_ref=main
bind=0.0.0.0:8080
ifaces=ens3,ens4
service=1
sudo_password_file=/home/you/.config/wpg/sudo.pw
scripts/deploy.sh --config deploy.wpg.conf --yes # Linux / macOS
scripts/deploy.sh --config deploy.wpg.conf --check-config # 読み込んだ設定を表示するだけ (接続しない)
.\scripts\deploy.ps1 -ConfigFile .\deploy.wpg.conf -Yes # Windows
ファイル内の相対パス (binary_file、identity、*_password_file など) は回答ファイルのあるフォルダから見たパスです。コマンドラインのオプションは回答ファイルより優先されます (--set key=value / -Set "key=value" で任意のキーを上書きできます)。知らないキーがあるとエラー (終了コード 1) になるので、書き間違いに気付けます。
キー 既定値 意味
host(必須) 接続先。user@host の形も可。
userubuntuSSH ユーザ。
ssh_port (port)22SSH ポート。
identity(なし) 使う SSH 秘密鍵。省略時はデプロイ用の鍵 (wpg_deploy_ed25519)、ssh-agent / 既定の鍵の順に試します。
binary_sourcebuildbuild (ホスト上でビルド)、file (binary_file をアップロード)、release (GitHub Release)。deploy.sh では local (このマシンでビルド) も可。
binary_filebinary_source=file のときの Linux 用バイナリ。
sourcelocalbuild のときのソース: local (このチェックアウトをアップロード) か git。
git_url、git_refGitHub、main source=git のときのリポジトリとブランチ / タグ / コミット。
release_taglatestbinary_source=release のときのタグ。
bind0.0.0.0:8080待ち受けアドレス。
ifaces(すべて) 送信を許可するインタフェース (カンマ区切り)。
service1systemd サービスとして入れる。
terminal、snmp_trap0Web ターミナル / SNMP トラップ受信。
dhcp_iface、dhcp_iface_addr空 DHCP サーバーのインタフェースと固定 IP (カンマ区切り)。
templates、healthcheck1サンプルテンプレートのコピー / ヘルスチェック。
allow_insecure0パスワード無しでループバック以外で待ち受ける。
prefix/usr/localホスト側のインストール先。
skip_if_current0--skip-if-current と同じ。
dpdk、hugepages0、1024DPDK の準備 (deploy.sh のみ)。
admin_password_file、ssh_password_file、sudo_password_fileパスワード (1 行目) を書いた、自分で作ったファイル。admin_password_file は argon2 ハッシュでも可。
admin_password_dpapi、ssh_password_dpapi、sudo_password_dpapiDPAPI で暗号化したファイル (deploy.ps1、Windows のみ。ウィザードが作ります)。
nameセクション名 / ホスト 結果の表と JSON に出す名前。
parallel1複数台のとき、同時に入れる台数。
lang環境から ja / en。
真偽値は 1 / 0 (yes / no、true / false も可) です。
方法 SSH sudo 管理者 (Web UI)
SSH 鍵 (おすすめ) デプロイ用の鍵 / identity= / ssh-agent - -
環境変数 WPG_DEPLOY_SSH_PASSWORDWPG_DEPLOY_SUDO_PASSWORDWPG_DEPLOY_ADMIN_PASSWORD
ファイル (自分で作る、chmod 600) ssh_password_file=sudo_password_file=admin_password_file=
DPAPI ファイル (Windows) ssh_password_dpapi=sudo_password_dpapi=admin_password_dpapi=
上から順に探します。deploy.ps1 では -SshPassword などの SecureString パラメータが最優先です。
SSH パスワードは鍵でログインできないときだけ使い、そのときデプロイ用の鍵を登録します (次回からは不要)。sudo パスワードが無いときは SSH パスワードを試します。NOPASSWD の sudo や root ログインなら不要です。
管理者パスワードは、初回のインストールでループバック以外 (0.0.0.0:8080 など) に待ち受けるときだけ必須です。2 回目以降は省略すると変更しません (指定すると毎回書き換えます)。
スクリプトがパスワードを平文でファイルに書くことはありません。 DPAPI ファイルは ConvertFrom-SecureString (鍵なし) の出力で、作った Windows ユーザーがその PC でだけ復号できます。タスク スケジューラでは同じユーザーで実行してください。
必要なパスワードが見つからないときは、質問せずにすぐ失敗します (どの環境変数 / キーを設定すればよいかを表示し、終了コード 2 (SSH / sudo) または 1 (管理者パスワード))。--yes / -Yes が無くても、標準入力が端末でない (cron、パイプ、-NonInteractive) ときは質問できないので、--yes を付けるよう表示して終了コード 1 で終わります。
コード 意味
0 成功。--skip-if-current で何もしなかったとき、--dry-run、--check-config も 0。
1 使い方の誤り、回答ファイルの誤り、必要な設定や管理者パスワードが無い、--yes 無しで質問できない。
2 接続 / SSH 認証 / sudo の失敗 (SSH / sudo のパスワードが無い場合を含む)。
3 バイナリの用意 (ローカルのビルド、Release のダウンロード、ホスト上の依存パッケージ導入とビルド) の失敗。
4 アップロードまたはインストールの失敗。
5 ヘルスチェックの失敗 (インストールは済んでいます)。
6 複数台のうち 1 台以上が失敗 (各ホストのコードは表と JSON にあります)。
130 Ctrl+C などで中断 (deploy.sh)。
標準出力に結果の JSON だけを出します (ログは標準エラーとログファイルへ)。1 台でも複数台でも同じ形です。
{"tool":"wpg-deploy","format":1,"status":"ok","exit_code":0,"dry_run":false,"message":"",
"hosts":[{"name":"lab1","host":"192.0.2.10","user":"cisco","port":22,"status":"ok","exit_code":0,
"failed_step":"","message":"","version_before":"wpg 0.1.0","version_after":"wpg 0.1.0",
"source_id":"git:24d946f6614eecbff02ca481df380aafeb63f368","url":"http://192.0.2.10:8080/",
"dry_run":false,"log":"/home/you/.local/state/wpg/deploy-20261027-031700-192.0.2.10.log",
"started_at":"2026-10-27T03:17:00Z","duration_s":41}]}
ホストの status は ok、skipped (最新だったので何もしなかった)、dry-run、checked、aborted、failed のいずれかです。失敗すると failed_step (config、connect、sudo、binary、deps、build、upload、install、health) と message が入ります。
デプロイのたびに、ホストの /usr/local/share/wpg/deploy.stamp に「何をどの設定で入れたか」(ソースの識別子、設定、バイナリの SHA-256、日時。パスワードは含みません) を記録します。--skip-if-current を付けると、接続して次がすべて一致するときはビルドもインストールもせずに終了します (終了コード 0、status は skipped)。sudo パスワードも使いません。
ソースの識別子が同じ: source=git ならブランチ / タグが指すコミット (git ls-remote で解決)、source=local ならこのチェックアウトのコミット (コミットしていない変更があればその差分のハッシュも)、binary_source=file ならファイルの SHA-256、release なら Release のファイルの URL。
設定 (bind、ifaces、service、terminal、snmp_trap、dhcp_iface、dhcp_iface_addr、templates、allow_insecure、prefix) が同じ。
インストール済みのバイナリが記録と同じ (ロールバックや手動の置き換えがあれば再デプロイします)。
サービスとして入れるときは wpg.service が動いていて、ヘルスチェックに応答する。
wpg --version はコミットを含まないため、この記録ファイルで判定します。判定できないとき (Git が無い、参照を解決できない) は警告を出して通常どおりデプロイします。なお、同じバイナリを入れ直したときは wpg.prev を上書きしません (1 つ前のバージョンが残ります)。
--yes と組み合わせると、接続してホストの情報を読み、パスワードがそろっているか (sudo のパスワードは実際に確認) を調べ、実行するはずのコマンドを表示します。ホストは変更しません (鍵の登録もしません)。CI で設定を確かめるのに使えます。接続せずに回答ファイルだけを確かめるには --check-config / -CheckConfig を使います。
回答ファイルに [host <名前>] のセクションを書くと、セクションごとに 1 台ずつ入れます。セクションの前に書いたキーは全台の共通の値で、セクション内の値が優先します (host= を省くとセクション名がホスト名になります)。
# lab.conf
user=cisco
binary_source=build
source=git
git_ref=v0.2.0
sudo_password_file=sudo.pw
[host r1]
host=192.0.2.11
ifaces=ens3
[host r2]
host=192.0.2.12
ifaces=ens3,ens4
bind=127.0.0.1:8080
ホストの一覧だけを別のファイルにすることもできます (--targets / -Targets。1 行 1 台、[user@]host[:port] の後に キー=値 を並べられます。相対パスはこのファイルから見たパス)。
# hosts.txt
cisco@192.0.2.11 ifaces=ens3
cisco@192.0.2.12:2222 ifaces=ens3,ens4
scripts/deploy.sh --config lab.conf --yes --parallel 2
scripts/deploy.sh --config common.conf --targets hosts.txt --yes --json > result.json
.\scripts\deploy.ps1 -ConfigFile .\lab.conf -Yes -Parallel 2
各ホストは別のプロセスで実行され (--parallel / -Parallel で同時に実行する台数を指定、既定 1)、ホストごとのログは ~/.local/state/wpg/deploy-<時刻>/ (Windows: %LOCALAPPDATA%\wpg\deploy-logs\deploy-<時刻>\) に残ります。最後に表を表示し、1 台でも失敗すれば終了コード 6 で終わります。
結果
NAME HOST STATUS EXIT VERSION DETAIL
r1 cisco@192.0.2.11 ok 0 0.2.0 git:5d0c1e2...
r2 cisco@192.0.2.12 skipped 0 0.2.0 git:5d0c1e2...
r3 cisco@192.0.2.13 failed 2 cannot connect to cisco@192.0.2.13 (port 22): ssh: connect to host ...
成功 2 台、失敗 1 台
ウィザードが表示する schtasks の行をコマンド プロンプトに貼り付けます。手で作るときは次のとおりです (ログオンしていないときも実行するには /RU <ユーザー名> /RP を加えます。DPAPI ファイルを使うときは、ファイルを作ったユーザーで実行してください)。
schtasks /Create /TN "wpg deploy lab" /SC WEEKLY /D SUN /ST 03:17 ^
/TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\work\web-packet-generator\scripts\deploy.ps1 -ConfigFile C:\Users\you\AppData\Roaming\wpg\lab.conf -Yes -SkipIfCurrent"
結果はタスク スケジューラの「前回の実行結果」(終了コード) と %LOCALAPPDATA%\wpg\deploy-logs\ のログで確認できます。
# crontab -e
17 3 * * 0 /home/you/web-packet-generator/scripts/deploy.sh --config /home/you/.config/wpg/lab.conf --yes --skip-if-current >/dev/null 2>&1
sudo パスワードが要るときは、sudo_password_file= (自分で作り chmod 600) を回答ファイルに書くか、ホスト側でデプロイ用ユーザに NOPASSWD を設定してください (cron の環境では環境変数を使いにくいため)。
# ~/.config/systemd/user/wpg-deploy.service
[Unit]
Description=wpg unattended deploy
[Service]
Type=oneshot
ExecStart=%h/web-packet-generator/scripts/deploy.sh --config %h/.config/wpg/lab.conf --yes --skip-if-current
# ~/.config/systemd/user/wpg-deploy.timer
[Timer]
OnCalendar=Sun 03:17
Persistent=true
[Install]
WantedBy=timers.target
systemctl --user daemon-reload && systemctl --user enable --now wpg-deploy.timer
journalctl --user -u wpg-deploy # 実行結果
SSH 鍵と sudo パスワードをリポジトリのシークレットに入れておきます。ホストの公開鍵を known_hosts に入れておくと、初回接続で鍵を自動で受け入れずに済みます。
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: deploy to the lab
env:
WPG_DEPLOY_SUDO_PASSWORD: ${{ secrets.LAB_SUDO_PASSWORD }}
WPG_DEPLOY_ADMIN_PASSWORD: ${{ secrets.LAB_ADMIN_PASSWORD }}
run: |
install -m 700 -d ~/.ssh
printf '%s\n' "${{ secrets.LAB_SSH_KEY }}" > ~/.ssh/lab_ed25519 && chmod 600 ~/.ssh/lab_ed25519
printf '%s\n' "${{ secrets.LAB_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
scripts/deploy.sh --config deploy/lab.conf --yes --skip-if-current --json \
--set identity=$HOME/.ssh/lab_ed25519 --set source=git --set git_ref=${{ github.sha }} > deploy-result.json
- uses: actions/upload-artifact@v4
if: always()
with:
name: deploy-result
path: deploy-result.json
deploy.sh deploy.ps1 意味
--config <file>-ConfigFile <file>回答ファイル。
--yes-Yes何も質問しない。
--json-Json標準出力に JSON の結果。
--skip-if-current-SkipIfCurrent最新なら何もしない。
--dry-run-DryRun変更せずに確認とコマンドの表示。
--check-config-CheckConfig回答ファイルを確かめて設定を表示 (接続しない)。
--targets <file>-Targets <file>ホストの一覧ファイル。
--section <name>-Section <name>回答ファイルの 1 つのセクションだけ。
--parallel <n>-Parallel <n>同時に入れる台数。
--set <key=value>-Set "key=value"回答ファイルのキーを上書き (複数可)。
--log <file>-LogFile <file>ログファイル (既定: ~/.local/state/wpg/、%LOCALAPPDATA%\wpg\deploy-logs\)。
SSH パスワードは鍵の登録に 1 回だけ使います。 デプロイ用の鍵 (~/.ssh/wpg_deploy_ed25519、Windows では %USERPROFILE%\.ssh\wpg_deploy_ed25519、パスフレーズ無し) を作り、公開鍵をホストの ~/.ssh/authorized_keys に追記します。パスワードは sshpass (deploy.sh で入っていれば)、または SSH_ASKPASS の一時ヘルパー (OpenSSH 8.4 以降。パスワードは環境変数で渡し、ファイルには書きません。ヘルパーはすぐ削除します) で渡し、どちらも使えなければ ssh 自身がもう一度パスワードを聞きます。鍵が不要になったら、ホストの ~/.ssh/authorized_keys から wpg-deploy@... の行を削除してください。
sudo パスワードと管理者パスワードは ssh の標準入力で渡します (sudo -S、cat > /tmp/wpg-deploy.*/password)。コマンドラインやプロセス一覧、手元のディスクには現れません。保存する回答ファイルにもパスワードは入りません。
初めて接続するホストの鍵は StrictHostKeyChecking=accept-new で自動的に受け入れます (変わった鍵は拒否します)。検証ネットワーク以外では、事前に ssh で一度接続して指紋を確認してください。
管理者パスワードはホストに /etc/wpg/password (0640 root:wpg) として置かれ、wpg が起動時にハッシュ化します。
自動実行のパスワードは、環境変数、自分で作るファイル、Windows では DPAPI で暗号化したファイルから読みます。スクリプトがパスワードを平文で保存することはありません (自動実行 )。
送信を許可するインタフェースから管理用インタフェースを外してください (ウィザードの既定はそうなっています)。試験トラフィックで SSH が切れることがあります。
ウィザードで有効にする (--terminal / --snmp-trap、-Terminal / -SnmpTrap) と、/etc/wpg/wpg.toml に次を書きます。
[terminal]
enabled = true
allowed_targets = []
[snmp]
trap_listen = "0.0.0.0:162"
書くのは このデプロイで新しく作った wpg.toml だけ です。既存の wpg.toml は変更せず、追記する内容と sudo systemctl restart wpg を表示します。
古い wpg は知らないキーがあると起動しないため、入れたバイナリの wpg config validate がそのキーを受け付けるときだけ書きます。受け付けなければ警告を出して飛ばします。
trap_listen があると、UDP 162 (特権ポート) で待ち受けられるように wpg.service に drop-in (/etc/systemd/system/wpg.service.d/bind-service.conf、CAP_NET_BIND_SERVICE) を追加します。ufw が有効なら sudo ufw allow 162/udp を案内します。
パス 内容 デプロイで書き換えるか
/usr/local/bin/wpg、wpg.prev現在と 1 つ前のバイナリ する
/usr/local/share/wpg/templates/サンプルテンプレート (テンプレートライブラリ) する
/usr/local/share/wpg/deploy.stamp最後にデプロイしたソースと設定の記録 (--skip-if-current 用。パスワードは含まない) する
/etc/systemd/system/wpg.servicepackaging/systemd/wpg.service の unitする
/etc/systemd/system/wpg.service.d/allow-insecure.conf (--allow-insecure)、bind-service.conf (SNMP トラップ)する
/etc/wpg/wpg.envWPG_SERVER__BIND、WPG_TX__ALLOWED_IFACES、ライブラリのパス、パスワードファイルする
/etc/wpg/wpg.toml設定ファイル全体 (wpg config init) しない (初回のみ作成)
/etc/wpg/password管理者パスワード 指定したときのみ
/var/lib/wpg/データディレクトリ: データベース、ユーザテンプレート、TLS 証明書 しない
~/wpg-build/、~/.cargo/、~/.rustup/ (SSH ユーザ)ホスト上でビルドしたときのソース、ビルドキャッシュ、Rust ツールチェーン ビルド時のみ
環境変数は wpg.toml より優先されます。wpg.env のキーはデプロイのオプションで変更し、それ以外は wpg.toml で設定してください。unit 自体については サービスとして動かす を参照してください。
--dpdk はホストを準備するだけです。dpdk バックエンドを使うには、--features dpdk 付きでビルドしたバイナリ (scripts/build.sh --dpdk。--build-on-host と組み合わせるとホスト上で --features dpdk でビルドします)、vfio-pci にバインドした NIC、tx.dpdk_eal_args の EAL 引数が必要です。DPDK / AF_XDP のセットアップ を参照してください。
--dpdk を付けると、スクリプトは次を行います。
2 MiB の hugepage を --hugepages 枚 (既定 1024 = 2 GiB) すぐに確保し、起動時にも確保されるようにします (/etc/sysctl.d/80-wpg-hugepages.conf)。何もマウントされていなければ /dev/hugepages に hugetlbfs をマウントします。
vfio-pci をすぐに読み込み、起動時にも読み込まれるようにします (/etc/modules-load.d/wpg-dpdk.conf)。
IOMMU グループが無いときに警告します (仮想 IOMMU の無い CML2 の VM で典型的です)。
NIC を vfio-pci にバインドすることはしません。インタフェースがカーネルから外れ、SSH セッションが切れることがあるためです。dpdk-devbind.py で手動で行ってください。DPDK / AF_XDP のセットアップ を参照してください。
同じ操作 (ウィザードなら「前回の設定を使いますか?」に Enter) を再実行するとアップグレードになります。新しいバイナリが古いものを置き換え、サービスが再起動し、設定とデータは残ります。アップグレード を参照してください。新しいバージョンに問題があれば、ウィザードのメニューで「ロールバック」を選ぶか、次を実行します。
scripts/deploy.sh ubuntu@192.0.2.10 --rollback
症状 対処
ssh / scp が見つかりません (Windows)「設定 > アプリ > オプション機能」で「OpenSSH クライアント」を追加します (管理者 PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0)。
接続できない / タイムアウト アドレス、ポート、ユーザ名を確認し、手動で ssh -p 22 user@host を試します。CML2 では管理用リンク (External Connector) が必要です。
公開鍵を登録できませんでしたパスワードの誤り、またはサーバでパスワード認証が無効 (PasswordAuthentication no)。既存の鍵ファイルを選ぶか、ホスト側で鍵を登録してください。
鍵でログインできませんサーバで公開鍵認証が無効、または ~/.ssh の権限が緩すぎます (chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys)。
sudo に失敗しましたsudo パスワードの誤り、またはユーザが sudo グループに入っていません (sudo usermod -aG sudo <user>)。
ステップ「パッケージの導入」で失敗 ホストからインターネットに出られるか (プロキシなら /etc/apt/apt.conf.d/ と ~/.bashrc に設定)、apt が自動更新でロックされていないかを確認し、数分後に再実行します。
ステップ「ビルド」で killed / signal: 9 メモリ不足です。スワップを追加して (sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile) 再実行します。
ビルドが毎回失敗する ホスト上で rm -rf ~/wpg-build を実行してから再実行します。
the uploaded binary does not run on this host手元のバイナリがホストの glibc / CPU に合いません。ホスト上でのビルドを選びます。
ヘルスチェックが失敗 ホストで sudo journalctl -u wpg -n 50。ポートの重複は sudo ss -ltnp。管理者パスワードが無いとループバック以外では起動しません。
ブラウザから開けない ファイアウォール (sudo ufw allow 8080/tcp)、CML2 の外部接続、待ち受けアドレス (127.0.0.1 だと SSH トンネルが必要) を確認します。
does not support [terminal] / [snmp]入れた wpg がその機能より古いバージョンです。新しいソースでデプロイし直してください。
日本語が文字化けする (Windows) deploy.ps1 を編集して保存し直した場合は、UTF-8 (BOM 付き) で保存してください。
deploy.sh は、Ubuntu 24.04 コンテナ (sshd、systemd の代わりに簡易な systemctl) に対して、ウィザード (パスワードでの鍵登録: sshpass と SSH_ASKPASS の両方、sudo パスワード、インタフェース選択、回答の保存と再利用、ロールバックのメニュー)、ホスト上でのビルド (このチェックアウトのアップロード、rustup と trunk の導入からヘルスチェックまで)、新しい wpg.toml への [terminal] / [snmp] の追記 (対応するバイナリを模したスタブ) と既存の wpg.toml を変更しないことを確認しました。従来の、systemd が動くコンテナでのインストール、パスワード無しでの拒否、--service とヘルスチェック、--rollback、--dpdk の確認結果はそのままです。自動実行は、同じ Ubuntu 24.04 コンテナ (2 つの sshd、それぞれ別のマウント名前空間で /usr/local、/etc/wpg、/var/lib/wpg を分離) に対して deploy.sh で確認しました: 回答ファイルと --yes での初回インストール (環境変数の SSH パスワードで鍵を登録、sudo と管理者パスワードは環境変数、sudo はパスワードファイルからも)、パスワードが足りないときに質問せずすぐ失敗すること (SSH 鍵もパスワードも無い: 2、sudo のパスワードが無い / 違う: 2、初回で管理者パスワードが無い: 1、端末でない標準入力で --yes 無し: 1)、--skip-if-current (変化なしで sudo パスワード無しでもスキップ、バイナリや設定の変更、ロールバックの後は再デプロイ)、--dry-run、--check-config、--json の出力 (python3 -m json.tool で検証)、複数台 (セクション 3 台のうち 1 台が接続できない: 表と JSON にホストごとの結果、終了コード 6。--parallel 2。--targets)、ウィザードの最後の自動実行ファイルの保存と、そのファイルでの再実行。deploy.ps1 / deploy.bat は Windows で実行していません (CI でパースと PowerShell 5.1 互換の構文チェックのみ。自動実行の部分も Windows では未確認です)。CML2 のノードや実機でもまだ確認していません。
Status: draft
サンプルはリポジトリと各リリースアーカイブの packaging/ にあります。どれも、決まった場所の設定ファイル (WPG_CONFIG) と決まったデータディレクトリ (WPG_DATA_DIR) を使って wpg serve を実行します。先に wpg config init --path <file> で設定ファイルを作り、wpg config set-password --config <file> でパスワードを設定してください。ループバック以外のアドレスで待ち受けるサーバは、パスワードが無いと起動しません。
packaging/systemd/wpg.service は scripts/deploy.sh --service がインストールするものです。手動で入れる場合:
sudo useradd --system --home-dir /var/lib/wpg --shell /usr/sbin/nologin wpg
sudo install -m 0755 wpg /usr/local/bin/wpg
sudo install -d -m 0750 -o root -g wpg /etc/wpg
sudo wpg config init --path /etc/wpg/wpg.toml # その後 bind や allowed_ifaces などを編集
sudo wpg config set-password --config /etc/wpg/wpg.toml
sudo chgrp wpg /etc/wpg/wpg.toml && sudo chmod 0640 /etc/wpg/wpg.toml
sudo install -m 0644 packaging/systemd/wpg.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now wpg
journalctl -u wpg -f
unit のポイント:
特権の無いユーザ wpg で動きます。raw ソケットは AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN で得るので、サービス用にはバイナリへの setcap は不要です (NoNewPrivileges=yes の下ではファイルケーパビリティはどのみち無視されます)。
StateDirectory=wpg が wpg 所有の /var/lib/wpg を作ります。ProtectSystem=strict により、それ以外のファイルシステムはサーバから読み取り専用になります。
EnvironmentFile=-/etc/wpg/wpg.env でホストごとの WPG_* を上書きできます (deploy.sh が書きます)。
LimitMEMLOCK=infinity は AF_XDP バックエンド用です (5.11 より前のカーネルでは UMEM が RLIMIT_MEMLOCK に計上されます)。
RestrictAddressFamilies は IP と Unix ソケットに加えて AF_PACKET と AF_XDP を許可します。
待ち受けアドレスは wpg.toml の bind か wpg.env の WPG_SERVER__BIND= で変更し、sudo systemctl restart wpg を実行します。
packaging/launchd/io.github.seiyafunaokajp.wpg.plist はシステムデーモンです (root で動きます。ChmodBPF を設定していなければ /dev/bpf* に必要です。権限設定 を参照)。
sudo install -m 0755 wpg /usr/local/bin/wpg
sudo mkdir -p /usr/local/etc/wpg /usr/local/var/wpg /usr/local/var/log
sudo /usr/local/bin/wpg config init --path /usr/local/etc/wpg/wpg.toml
sudo /usr/local/bin/wpg config set-password --config /usr/local/etc/wpg/wpg.toml
sudo install -m 0644 packaging/launchd/io.github.seiyafunaokajp.wpg.plist /Library/LaunchDaemons/
sudo launchctl bootstrap system /Library/LaunchDaemons/io.github.seiyafunaokajp.wpg.plist
tail -f /usr/local/var/log/wpg.log
停止と削除は sudo launchctl bootout system/io.github.seiyafunaokajp.wpg です。KeepAlive により、サーバがエラーで終了すると再起動されます。ダウンロードしたバイナリは先に quarantine 属性を外してください。外さないと launchd が起動できません (macOS へのインストール の「リリースバイナリ: Gatekeeper と quarantine」を参照)。
wpg.exe はコンソールプログラムで、サービスコントロールマネージャ (SCM) のプロトコルに対応していません。そのため、単純な sc.exe create wpg binPath= "C:\...\wpg.exe serve" で登録したサービスはエラー 1053 で起動に失敗します。代わりに次のどちらかを使ってください。
packaging/windows/wpg-service.ps1 は、起動時に SYSTEM として wpg.exe serve を実行し、停止したら 1 分ごとに再起動するタスクを登録します。管理者として開いた PowerShell で実行します。
.\packaging\windows\wpg-service.ps1 -Action Install -Exe "C:\Program Files\wpg\wpg.exe"
.\packaging\windows\wpg-service.ps1 -Action Status
.\packaging\windows\wpg-service.ps1 -Action Stop
.\packaging\windows\wpg-service.ps1 -Action Uninstall
C:\ProgramData\wpg\wpg.toml が無ければ (wpg config init で) 作り、データは C:\ProgramData\wpg\data に置きます。スクリプトが作るディレクトリは SYSTEM と Administrators だけが開けます。C:\ProgramData の下に新しく作ったフォルダはすべてのユーザが読めますが、ここにはパスワードのハッシュ、データベース、TLS 鍵が入るためです (既存のディレクトリの権限は変えません)。ループバック以外のアドレスで待ち受ける前に、管理者として開いた PowerShell で & "C:\Program Files\wpg\wpg.exe" config set-password --config C:\ProgramData\wpg\wpg.toml でパスワードを設定してください。Npcap が無いときはスクリプトが警告します。
sc.exe / services.msc で管理したい場合は、WinSW か NSSM でラップします。NSSM の例:
nssm install wpg "C:\Program Files\wpg\wpg.exe" serve
nssm set wpg AppEnvironmentExtra WPG_CONFIG=C:\ProgramData\wpg\wpg.toml WPG_DATA_DIR=C:\ProgramData\wpg\data
nssm set wpg AppDirectory C:\ProgramData\wpg\data
sc.exe start wpg
sc.exe query wpg
どちらの場合も Npcap が必要です (wpg doctor が確認します)。Windows Defender ファイアウォールで wpg.exe を許可するのは、ループバック以外で待ち受ける場合に限り、プライベートネットワークだけにしてください。
systemd unit は、systemd が動く Ubuntu 24.04 コンテナで scripts/deploy.sh から起動しました (サーバは CAP_NET_RAW と CAP_NET_ADMIN だけを持つユーザ wpg で動き、/api/health に応答しました)。systemd-analyze verify も通ります。リリースのワークフローは、macOS 14 ランナーで Apple silicon 向けアーカイブから launchd デーモンを、Windows Server ランナーで Windows 向けアーカイブからタスクスケジューラのタスクを上記の手順どおりに登録し、/api/health を確認してから停止・削除します。Windows では設定ディレクトリを BUILTIN\Users が読めないことも確認します (リリース手順 の「CI で確認していること」)。どちらのジョブも通っています。再起動 (起動時トリガーと RunAtLoad そのもの)、NSSM / WinSW によるラップ、Windows での Npcap 経由の送信は確認していません。
Status: draft
リポジトリには multi-stage の Dockerfile と docker-compose.yml があります。ビルドステージ (rust:1-bookworm) は Trunk をダウンロードし、Web UI とリリースバイナリをビルドします。実行用イメージ (debian:bookworm-slim) に入るのは wpg、curl (ヘルスチェック用)、/usr/share/wpg/templates のサンプルテンプレートだけです。
docker build -t wpg .
docker build -t wpg --build-arg FEATURES=pcap . # libpcap バックエンド付き
ビルドにはインターネット接続が必要です (crates.io、GitHub 上の Trunk のリリース、Trunk がダウンロードする Tailwind CSS と wasm-bindgen)。TLS を中継するプロキシの内側では、プロキシの CA 証明書 (PEM) をビルドシークレットで、プロキシのアドレスを標準のビルド引数で渡します。証明書を信頼するのはビルドステージだけで、実行用イメージには入りません。
docker build -t wpg --secret id=ca_certs,src=/path/to/proxy-ca.pem \
--build-arg HTTPS_PROXY=http://proxy.example:3128 .
Docker Hub の匿名 pull のレート制限にかかる場合は、--build-arg RUST_IMAGE=mirror.gcr.io/library/rust:1-bookworm --build-arg RUNTIME_IMAGE=mirror.gcr.io/library/debian:bookworm-slim のように別のレジストリのベースイメージを使えます。
ホストのインタフェースで送信するには、ホストのネットワーク名前空間と 2 つのケーパビリティが必要です。それ以外はすべて外します。
docker run -d --name wpg --network host \
--cap-drop ALL --cap-add NET_RAW --cap-add NET_ADMIN \
-e WPG_PASSWORD='change me' \
-e WPG_TX__ALLOWED_IFACES='["eth1"]' \
-v wpg-data:/var/lib/wpg \
wpg
Compose の場合 (WPG_PASSWORD、WPG_BIND、WPG_ALLOWED_IFACES、WPG_FEATURES を環境変数か .env ファイルから読みます):
WPG_PASSWORD='change me' WPG_ALLOWED_IFACES='["eth1"]' docker compose up -d --build
docker compose ps # /api/health が応答すると "healthy" になる
docker compose logs -f wpg
設定 イメージの既定値 補足
WPG_SERVER__BIND0.0.0.0:8080--network host ではホストのポートです。ローカルに限るなら 127.0.0.1:8080。
WPG_PASSWORDなし ループバック以外で待ち受けるときは必須で、無いとサーバは起動しません。平文または argon2id ハッシュ。Docker secrets では WPG_AUTH__PASSWORD_FILE=/run/secrets/... が使えます。
WPG_DATA_DIR/var/lib/wpg (ボリューム)データベース、ユーザテンプレート、TLS 証明書。
WPG_TEMPLATES__LIBRARY_PATHS["/usr/share/wpg/templates"]独自のライブラリをマウントしてパスを追加します。
WPG_TX__ALLOWED_IFACESすべて ジョブが送信してよいインタフェース。
その他の設定は WPG_<SECTION>__<KEY> 変数で指定するか、wpg.toml をマウントして WPG_CONFIG を設定します。設定リファレンス を参照してください。
プロセスはコンテナ内では root で動きますが、持つのは CAP_NET_RAW と CAP_NET_ADMIN だけです。root 以外のユーザで動かすにはバイナリにファイルケーパビリティが必要で、コンテナのケーパビリティにその一部が無いと実行に失敗するため、イメージでは単純な構成にしています。
Linux ホストを使ってください。macOS / Windows の Docker Desktop はコンテナを VM の中で動かすので、--network host は VM のネットワークになり、フレームは物理 NIC に届きません。
コンテナ内の wpg doctor はコンテナから見た状態 (ケーパビリティ、インタフェース) を報告します。イメージは dpdk feature なしでビルドします (両方のステージに DPDK のライブラリが必要になるため)。DPDK 用の hugepages と vfio-pci は、いずれにしてもホスト側で準備します。
--network host を使わない場合 (既定のブリッジネットワークと -p 8080:8080)、GUI は使えますが、ジョブはコンテナ自身の eth0 でしか送信できません。
2026 年 10 月に次を確認しました (Docker 29.8、Linux 6.18 のホスト、追加 feature なしのイメージ)。
docker build が最後まで完了 (Trunk による Web UI と cargo build --release --locked)。実行用イメージはディスク上で約 170 MB (圧縮時 44 MB)。
docker run --network host --cap-drop ALL --cap-add NET_RAW --cap-add NET_ADMIN -e WPG_PASSWORD=... でヘルスチェックが healthy になり、/api/health と Web UI が応答。コンテナ内の wpg doctor は CAP_NET_RAW / CAP_NET_ADMIN 付きで raw ソケットが使えると報告。
コンテナ内で afpacket バックエンドの wpg send により lo へ 100 フレームを送出し、同じコンテナの wpg capture で受信。
--build-arg FEATURES=pcap のイメージには libpcap0.8 が入り、wpg doctor が検出し、wpg send --backend pcap で lo へ 50 フレームを送出。
docker compose up -d --no-build でサービスが healthy になり、WPG_PASSWORD でのログインが成功 (204)、誤ったパスワードは拒否 (401)。WPG_PASSWORD が無いと compose ファイルのメッセージで起動を拒否。
開発用サンドボックスのプロキシは HTTPS しか通さないため、apt-get の取得先だけを使い捨ての Dockerfile のコピーで https://deb.debian.org に変えました。それ以外はリポジトリの Dockerfile をそのまま使っています。Docker Desktop (macOS / Windows) は確認していません。
Status: draft
アップグレードでは wpg バイナリを置き換えてサーバを再起動します。設定、データベース、テンプレートはそのまま残ります。それぞれがバージョンを持っていて、自動で、またはコマンド 1 つで新しい形式に移行されます。
GitHub Release のページでリリースノートを読みます。
設定とデータディレクトリをバックアップします。データベースは WAL モードの SQLite なので、先にサーバを止めてください (または sqlite3 wpg.sqlite ".backup wpg.backup.sqlite" でコピーします)。
sudo systemctl stop wpg
sudo tar -C / -czf wpg-backup-$(date +%F).tar.gz etc/wpg var/lib/wpg
起動せずに、新しいバイナリで設定とテンプレートを確認します。
./wpg-new --version
WPG_CONFIG=/etc/wpg/wpg.toml ./wpg-new config validate
./wpg-new template migrate --check /var/lib/wpg/templates /path/to/your/library
インストール方法 アップグレード ロールバック
scripts/deploy.sh新しいビルドで同じコマンドを再実行 scripts/deploy.sh <host> --rollback
systemd (手動) sudo install -m 0755 wpg /usr/local/bin/wpg && sudo systemctl restart wpg古いバイナリを入れ直す
launchd sudo install -m 0755 wpg /usr/local/bin/wpg && sudo launchctl kickstart -k system/io.github.seiyafunaokajp.wpg古いバイナリで同じ操作
Windows のタスク wpg-service.ps1 -Action Stop、wpg.exe を置き換え、-Action Start古い wpg.exe で同じ操作
Docker Compose git pull && docker compose up -d --build (wpg-data ボリュームは残る)古いバージョンをチェックアウトして再ビルド
リリースアーカイブ 新しいアーカイブを古いディレクトリに上書き展開 (macOS では quarantine 属性を再度外す) 古いアーカイブを展開
Linux では、バイナリのファイルを置き換えるたびに setcap をやり直す必要があります (deploy.sh は自動で行います。systemd unit では不要です)。
ユーザ、セッション、ジョブ履歴です。スキーマのバージョンは schema_version テーブルに保存されています。起動時に、未適用のマイグレーションをそれぞれ別のトランザクションで順に適用します。手動の作業はありません。新しい wpg が書いたデータベースは “database schema version N is newer than this build supports” で拒否されるので、ダウングレードにはアップグレード前のバックアップが必要です。
未知のキーはエラーになるので、タイプミスが黙って無視されることはありません。新しいバージョンは既定値付きのキーを追加するだけなので、古い wpg.toml はそのまま使えます。ダウングレードした場合は、古いバージョンが知らないキーがあると起動を拒否します。wpg config validate がそのキーを示します。新しいキーとその説明は、wpg config init --path /tmp/wpg.toml で作ったファイルと比べると確認できます。
テンプレートは必ず schema: <n> で始まります。テンプレートを読み込むとき (ライブラリ、ユーザテンプレート、バンドル、API)、wpg は古いバージョンをメモリ上で 移行します。ファイルは書き換えません。GUI から保存したテンプレートは現在のバージョンで書かれます。バイナリが対応するより新しい schema: のテンプレートと、schema: の無いテンプレートは拒否されます (“unsupported template schema”)。
ディスク上のファイルを書き換えるには (Git で管理しているライブラリなど) wpg template migrate を使います。
wpg template migrate --check templates/ # 古いファイルを一覧。1 つでもあれば終了ステータス 1
wpg template migrate templates/ # 書き換え。元のファイルは <file>.bak に残す
wpg template migrate --no-backup a.wpg.yaml # .bak を残さない
ディレクトリは *.wpg.yaml / *.wpg.json を再帰的に探します。書き換えたファイルは YAML のコメントが失われ、キーが正規の順序になるので、差分を確認してください。現在のバージョンのファイルには触れません。
現在のテンプレートスキーマは 1 で、これまでに存在するのはこのバージョンだけなので、移行するものはまだありません。この仕組みは、将来フォーマットを変えたときに保存済みのテンプレートが壊れないようにするためのものです。
古いテンプレートをそのまま読めなくなる変更 (キーの改名・移動、意味の変更) には、新しいスキーマバージョンが必要です。
crates/wpg-template/src/lib.rs の SCHEMA_VERSION を上げます。
MIGRATIONS にステップを追加します。バージョン n の文書をバージョン n + 1 に変換する (schema: n + 1 の設定も含む) fn(serde_yaml::Value) -> Result<serde_yaml::Value, TemplateError> です。MIGRATIONS[n - 1] が n を移行します。ステップは順に実行されるので、各ステップは隣のバージョンだけを知っていれば十分です。
バージョン n のフィクスチャを読み込み、期待するバージョン n + 1 のテンプレートと比べるテストを追加し、フィクスチャは残しておきます。
サンプルテンプレートを更新し (wpg template migrate templates/)、docs/schema/template.schema.json を再生成し (wpg template schema)、テンプレートスキーマのリファレンスを日英とも更新します。
リリースノートに変更を書きます。
追加だけの変更 (既定値のある任意のキーを足すなど) には新しいバージョンは不要です。
データベースの変更も同じ考え方です。crates/wpg-server/src/db.rs の MIGRATIONS に SQL のマイグレーションを追加します。リリース済みのマイグレーションは編集しないでください。
Status: draft
afxdp バックエンドは実装済み (M8) ですが、任意機能です。 --features afxdp を付けてビルドしたときだけ有効になります (cargo build --release -p wpg-cli --features afxdp)。copy モードは lo と veth で動作を確認済み、zero-copy は実機 (物理 NIC) では未確認です。 dpdk バックエンド (M8) も任意機能 (--features dpdk) で、確認済みなのは DPDK の仮想デバイス (net_null、net_ring、net_pcap) のみです。物理 NIC と CML2 の virtio PMD は未確認です。
afxdp バックエンドは libbpf / libxdp を使わず、カーネルの ABI (<linux/if_xdp.h>、bpf(2)) を直接呼ぶ最小実装です。追加のビルド依存はありません。ワーカー (--workers) ごとに次を持ちます。
AF_XDP ソケット 1 つ。NIC のキュー 1 つに bind します。ワーカー i はキュー --queue + i を使います (既定は 0 から)。
UMEM (送出用のフレーム領域、最大 16 MiB)。NIC の NUMA ノードにページを割り当てます (mbind)。
TX リングと completion リング。フレームを UMEM のチャンクにコピーし、ディスクリプタを TX リングに積み、カーネルが求めたとき (XDP_USE_NEED_WAKEUP) だけ sendto で起こします。
モード 動作
auto (既定)まず zero-copy を試し、だめなら copy モードに切り替えます
copy常に copy モード (XDP_COPY)。lo、veth を含むどのインタフェースでも動きます
zerocopyzero-copy (XDP_ZEROCOPY) のみ。使えなければエラー
多くのドライバ (i40e、ice、ixgbe、igc など) は、XDP プログラムが付いている間しか zero-copy 送出用の XDP リングを作りません。そこで auto / zerocopy は、何もしない 2 命令の XDP_PASS プログラムをドライバモードで付けてから zero-copy で bind します (bpf_link なので、バックエンドを閉じると外れます。すでに別の XDP プログラムが付いていればそのまま使います)。プログラムを読み込めない、ドライバが zero-copy の bind を拒否する、最初の wake-up が失敗する、のいずれかなら copy モードに切り替えます。どちらになったかは wpg bench / wpg send の backend 行に表示されます (AF_XDP zero-copy / AF_XDP copy mode、切り替えた場合は理由も)。
注意 : ドライバによっては XDP プログラムの付け外しで NIC のキューを作り直し、リンクが一瞬落ちます。運用中のインタフェースでは --xdp-mode copy を使うか、事前に影響を確認してください。
Linux カーネル 5.10 以降 (wpg doctor のチェック kernel.af_xdp)。--busy-poll は 5.11 以降。
権限: copy モードは CAP_NET_RAW。zero-copy は加えて CAP_NET_ADMIN と CAP_BPF (5.8 より前は CAP_SYS_ADMIN)。
sudo setcap cap_net_raw,cap_net_admin,cap_bpf,cap_ipc_lock+ep "$(command -v wpg)"
5.11 より前のカーネルでは UMEM が RLIMIT_MEMLOCK に計上されます。wpg はソフト上限をハード上限まで上げますが、足りなければ ulimit -l unlimited (systemd なら LimitMEMLOCK=infinity) を設定してください。
1 つのキューに bind できる AF_XDP ソケットは 1 つです。使うキュー数ぶんのチャネルを用意します。キューが足りなければ wpg は ethtool -L の案内付きで失敗します。
ethtool -l ens3 # 現在値と最大チャネル数
sudo ethtool -L ens3 combined 4
wpg bench --backend afxdp -i ens3 --workers 4 --auto-pin
フレーム長の上限は UMEM のチャンク長です (MTU が 2030 以下なら 2048 B、それより大きければ 4096 B)。超えるフレームは dropped に数えます (ジャンボフレームに必要なマルチバッファ AF_XDP は使っていません)。
オプション 意味
--backend afxdpAF_XDP で送出
--xdp-mode auto|copy|zerocopybind モード (上記)
--queue N先頭のキュー番号 (ワーカー i はキュー N+i)
--workers Nワーカー数 = 使うキュー数
--auto-pin / --pin-cores 2,3ワーカーのコア固定 (性能チューニング )
--ring-depth NTX リングのスロット数 (2 のべき乗に丸め、上限は UMEM 16 MiB から決まる)
--busy-pollSO_PREFER_BUSY_POLL / SO_BUSY_POLL を設定し、送出スレッド自身がドライバの NAPI を回す (5.11+)。wpg send では待ち方も busy-poll になる
AF_XDP の copy モードは、どのネットワークデバイスでも動きます。zero-copy はドライバの対応が必要です。以下はメインラインの Linux で AF_XDP zero-copy に対応している主なドライバで、カーネル版は対応が入ったおおよその版です。wpg ではどれも実機で確認していません 。ディストリビューションのカーネルではバックポートの有無で変わるため、必ず wpg bench の表示で zero-copy になったかを確認してください。
ドライバ NIC zero-copy 対応 (目安) wpg での確認
i40eIntel X710 / XL710 / XXV710 4.20 未確認
ixgbeIntel 82599 / X520 / X540 / X550 4.20 未確認
mlx5_coreNVIDIA (Mellanox) ConnectX-4 Lx 以降 5.3 未確認
iceIntel E810 5.5 未確認
stmmacSynopsys DWMAC (組み込み SoC) 5.13 未確認
igcIntel I225 / I226 5.14 未確認
virtio_netKVM / CML2 の virtio-net 新しいカーネル (6.x) で対応。それ以前は copy モード 未確認
vethコンテナ / netns なし (native XDP は可、送出は copy モード) copy モードで確認済み (4 キュー、2 ワーカー)
loループバック なし (copy モード) copy モードで確認済み
確認済みの範囲 (2026-10、Linux 6.18 のコンテナ、root): lo と veth での copy モード送出と受信側での到着、auto での zero-copy からの切り替え (veth には XDP_PASS プログラムがドライバモードで付き、zero-copy の bind が EOPNOTSUPP で拒否されて copy モードになる)、veth の 2 キューに 2 ワーカー。単体テストは cargo test -p wpg-tx --features afxdp (veth は WPG_AFXDP_VETH=vxa,vxb を付けたときだけ)。性能は docs/perf.md を参照。
dpdk バックエンドは DPDK のポーリングモードドライバ (PMD) で送出します。NIC はカーネルから外れ、wpg 自身のスレッドがバッチごとのシステムコールなしで直接扱います。任意機能なので --features dpdk を付けてビルドします (DPDK の開発パッケージと libclang が必要。ビルド を参照)。
cargo build --release -p wpg-cli --features dpdk
確認済みの範囲 (2026-10、Ubuntu 24.04 + DPDK 23.11.4、hugepages と NIC のないコンテナ): --no-huge での EAL 起動、仮想デバイス net_null (wpg bench、2 ワーカー)・net_ring・net_pcap。テンプレートを net_pcap 経由で wpg send すると、pcapfile バックエンドと同じフレームが書き出されました。単体テストは CI で DPDK 24.11 と 23.11 に対して実行します。物理 NIC (vfio-pci)、hugepages、CML2 上の virtio PMD は未確認です。
EAL (DPDK の環境層) は wpg のプロセスごとに 1 度だけ、最初の dpdk ジョブで起動します。引数は指定した EAL 引数に、上書きできる既定値 2 つを足したものです: -l <wpg が使える先頭の CPU> (メイン lcore のみ。送出ワーカーは wpg 自身のスレッドで、非 EAL lcore として DPDK に登録します) と --in-memory (/var/run/dpdk にファイルを作らない。--no-huge を指定したときは代わりに --no-shconf)。EAL はプロセス内で再起動できません。失敗したときや引数を変えたいときは wpg serve を再起動してください (wpg send / wpg bench は毎回新しいプロセスです)。
インタフェースには DPDK のポートを指定します : ポート番号 (0)、デバイス名 (バインドした NIC の PCI アドレス 0000:00:04.0)、または仮想デバイス。仮想デバイスは devargs 付きで書けて、初回に追加されます: net_tap0,iface=dtap0 (カーネルの TAP インタフェース。試験に便利)、net_pcap0,tx_pcap=/tmp/out.pcap (pcap ファイルに書き出す)、net_null0 (捨てる。ベンチマーク用)。見つからない名前は、EAL が見つけたポートの一覧付きでエラーになります。
ワーカー (--workers N) は 1 つのポートを共有します。ポートを --queue + N 本の TX キューで設定し、ワーカー i は TX キュー --queue + i で送ります。1 つのポートを同時に使えるジョブは 1 つです。ジョブが終わるとポートを停止します。
バッファ : ポートごとに NIC の NUMA ソケット上の mbuf プールを 1 つ作り、大きさは --ring-depth (キューあたりの TX ディスクリプタ数。ドライバの上下限に丸めます) と --batch から決めます。フレームは mbuf にコピーします (データ領域 2048 オクテット。それより長いフレームは dropped。ジャンボフレームは非対応)。TX リングが一杯なら最大 10 ms 再試行し、残りは dropped に数えます。ドライバが対応していれば MBUF_FAST_FREE を有効にします。
wpg send / wpg bench の backend 行に、DPDK のバージョン、ポート、ドライバ、キュー、ディスクリプタ数、プール、NUMA ソケット、リンク状態、EAL 引数の全体を表示します。
scripts/deploy.sh <host> --dpdk [--hugepages N] が最初の 2 手順 (hugepages の確保と起動時の設定、hugetlbfs、vfio-pci、IOMMU の確認) を行います。NIC のバインドは行いません。scripts/deploy.sh によるデプロイ を参照してください。
Hugepages (wpg doctor のチェック hugepages。未設定なら警告)。4 ワーカー・既定の --ring-depth 4096 でポート 1 つのプールは約 70 MiB、これにドライバの確保分が加わります。
echo 1024 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
grep Huge /proc/meminfo
IOMMU と vfio : 物理マシンでは IOMMU を有効にし (カーネル引数 intel_iommu=on iommu=pt または amd_iommu=on)、sudo modprobe vfio-pci します。
NIC のバインド 。インタフェースはカーネルから (そして wpg ifaces から) 消えるので、ssh セッションが通っているインタフェースは絶対にバインドしないでください。
dpdk-devbind.py --status # PCI アドレスと現在のドライバ
sudo ip link set ens4 down
sudo dpdk-devbind.py --bind=vfio-pci 0000:00:04.0
# カーネルに戻す: sudo dpdk-devbind.py --bind=virtio-pci 0000:00:04.0 (または ixgbe、i40e など)
NVIDIA / Mellanox ConnectX (mlx5) は例外で、カーネルのドライバのまま rdma-core 経由で DPDK から使います。バインドし直さないでください。
権限 : root で実行します。一般ユーザーでの vfio には /dev/vfio/* の権限、CAP_IPC_LOCK / 大きな RLIMIT_MEMLOCK、hugepage のマウントへのアクセスが必要で、ここでは扱いません。
wpg send / wpg bench では --eal-args (1 つの文字列を空白で分割)、wpg serve では wpg.toml の tx.dpdk_eal_args (設定リファレンス ) または WPG_TX__DPDK_EAL_ARGS で渡します。よく使うもの:
引数 意味
-a 0000:00:04.0この PCI デバイスだけを probe する (複数指定可)。指定しなければ DPDK ドライバにバインドされた NIC をすべて使う
-l 2メイン lcore (既定は wpg が使える先頭の CPU)。送出ワーカーはこれまでどおり --pin-cores / --auto-pin で固定
--socket-mem 512 / -m 512最初に確保する hugepage メモリ (MiB)
--vdev net_tap0,iface=dtap0起動時に仮想デバイスを作る (インタフェースに名前を書いても可。上記)
--file-prefix wpg--in-memory の代わりに共有のランタイムファイルを使う (dpdk-proc-info やテレメトリソケット用)
--log-level lib.eal:debug失敗したときに EAL のログを増やす
--no-huge -m 256hugepages なしで動かす (仮想デバイスのみ。物理 NIC には hugepages が必要)
sudo wpg bench --backend dpdk -i 0000:00:04.0 --eal-args "-a 0000:00:04.0" --workers 2 --auto-pin
sudo wpg send t.wpg.yaml --backend dpdk -i 0000:00:04.0 --eal-args "-a 0000:00:04.0" --rate 1Mpps
# NIC なし: tcpdump で見られる TAP インタフェース (root が必要)
sudo wpg send t.wpg.yaml --backend dpdk -i net_tap0,iface=dtap0 --count 10 &
sudo tcpdump -ni dtap0
# wpg.toml
[tx]
default_backend = "dpdk"
allowed_ifaces = ["0000:00:04.0"]
dpdk_eal_args = ["-a", "0000:00:04.0", "-l", "1"]
CML2 の Ubuntu ノードのデータ用インタフェースは virtio-net デバイスで、DPDK は virtio PMD (net_virtio、標準の DPDK パッケージに含まれる) で扱います。
ゲストには通常 IOMMU がないため、vfio-pci はバインドを拒否します。vfio の no-IOMMU モード (バインド前に echo 1 | sudo tee /sys/module/vfio/parameters/enable_unsafe_noiommu_mode。DMA が隔離されないため “unsafe” ですが、検証用 VM なら許容範囲) か uio_pci_generic を使います。
管理用インタフェース (通常 ens2) はカーネルに残し、データ用インタフェースだけをバインドします。
virtio PMD の TX キュー数は、ふつうノードの vCPU 数 / virtio のキューペア数までです。それを超える --workers はキュー数を示すエラーになります。
性能は DPDK ではなく、ホストの vhost 経路と仮想リンクで頭打ちになります。DPDK に頼る前に同じリンクで afpacket と比べてください。CML2 では差が小さいことがよくあります。
送出に NIC の MAC アドレスは関係ありません (送信元 MAC はテンプレートのもの)。送出だけならプロミスキャスモードも不要です。
送出のみ (wpg capture の DPDK 受信はなし)。
フレームは 2048 オクテットまで。マルチセグメント mbuf、TX のチェックサム / セグメンテーションオフロードは使いません (wpg が完成したフレームを作るため)。
1 つのポートを同時に使えるジョブは 1 つ。EAL 引数はプロセスの間固定です。
DPDK は共有ライブラリ版のみ (PMD はプラグインとして読み込まれます)。
期待性能 (spec §2.2、実機では未計測): 物理 NIC で AF_XDP は 1 コアあたり数 Mpps、DPDK は 1 コアあたり 10 Mpps 以上。計測したら docs/perf.md のチェックリストで記録してください。
バインディングは dpdk-sys crate にあります (ADR-0004)。link feature (wpg-tx の dpdk feature が有効にします) を付けると、ビルドスクリプトが pkg-config で DPDK (libdpdk、23.11 以降。24.11 / 23.11 以外は警告付きでビルド) を探し、bindgen でバインディング (EAL、ethdev、mempool / mbuf、lcore、RTE_* 定数) を生成します。ヘッダ内で static inline になっている高速パスは、DPDK 自身の cflags でコンパイルした小さな C の shim で包みます (wpg_rte_eth_tx_burst、wpg_rte_pktmbuf_alloc、wpg_rte_errno など)。feature を付けなければ crate は空なので、通常のビルドに DPDK は要りません。
# Debian 13 (DPDK 24.11) / Ubuntu 24.04 (DPDK 23.11)
sudo apt install dpdk-dev libclang-dev pkg-config
cargo test -p dpdk-sys --features link # バインディング + net_ring ポートでの EAL スモークテスト
cargo build -p wpg-tx --features dpdk # バインディングをリンクした wpg-tx
ソースからビルドした DPDK (meson / ninja) を使う場合は、pkg-config と共有ライブラリの場所を指定します。
export PKG_CONFIG_PATH=/opt/dpdk-24.11/lib/x86_64-linux-gnu/pkgconfig
export LD_LIBRARY_PATH=/opt/dpdk-24.11/lib/x86_64-linux-gnu
DPDK 24.11 は、親ディレクトリが world-writable (/tmp など) な場所から PMD プラグインを読み込むことを拒否します。/opt や /usr/local にインストールしてください。スモークテストは EAL を --no-huge --no-pci で起動し、net_ring の仮想ポートを使うため、hugepages・NIC・root のいずれも不要です。CI (ジョブ dpdk) が両方の LTS で実行します。DPDK は共有ライブラリ版のみ対応です (PMD はプラグインとして読み込まれます)。バックエンド自体のテスト (cargo test -p wpg-tx --features dpdk --lib dpdk) も net_ring / net_pcap / net_null を使うため、hugepages・NIC・root なしで動きます。
Status: draft
最初のデプロイ先は、virtio-net インタフェースを持つ Cisco CML2 上の Ubuntu ノードで、afpacket バックエンドが主経路です。このページでは準備と注意点をまとめます。
検証状況 : wpg 自身の挙動 (doctor のチェック、エラーメッセージ、フラグ) はコードとコンテナ上での wpg 実行に基づきます。CML2 上での実測はまだ行っていません。 docs/perf.md の数値はすべて lo と null バックエンドで測ったもので、afpacket の上限の目安にすぎません。以下の CML2 固有の記述 (ブリッジの挙動、MAC フィルタ) は一般的な Linux/KVM の知識であり、お使いの CML2 バージョンでの確認が必要です。M2 の「CML2 上での実測」は未完了です。
virtio-net インタフェースが接続された Ubuntu ノード (22.04 以降、カーネル 5.15 以降推奨)。wpg doctor は TPACKET_V3 に 3.2 以上、AF_XDP に 5.10 以上を要求します。
pcap バックエンドも使う場合は --features pcap でビルドし、libpcap0.8 を入れます。afpacket にライブラリは不要です。
vCPU は 2 つ以上。送出は 1 本のビジーなスレッドなので、OS 用に 1 コア空けます。
最小の構成は、wpg を動かす Ubuntu ノード 1 台と試験対象のノードです。受信と照合 (受信と検証 ) も行うなら、受信用の Ubuntu ノードをもう 1 台置きます。
External Connector (NAT / ブリッジ) ── ens2 [Ubuntu: wpg] ens3 ── 試験対象 (IOSv、CSR1000v、XRv9k、FRR …) ── ens3 [Ubuntu: 受信側 (任意)]
管理用のリンク : Ubuntu ノードの最初のインタフェース (ens2) を External Connector につなぎます。バイナリのコピー (scripts/deploy.sh)、ssh、Web UI への接続にだけ使い、試験トラフィックは流しません。
データ用のリンク : 2 番目以降 (ens3、ens4 …) を試験対象につなぎます。リンクの両端が起動していないとインタフェースは carrier なしのままです。
ノードの大きさ : vCPU 2 以上 (--workers N なら N + 1 以上)、メモリ 2 GiB 以上。DPDK を使うなら hugepages のぶん (既定の 1024 ページで 2 GiB) を足します。
初期設定 : Ubuntu ノードの Config (cloud-init の user-data) で、ssh 公開鍵と、必要なら ethtool、tcpdump、libpcap0.8 を入れておくと後が楽です。
#cloud-config
ssh_authorized_keys:
- ssh-ed25519 AAAA... you@workstation
packages: [ethtool, tcpdump]
デプロイ : 手元のマシンから管理用アドレスに対して scripts/deploy.sh を実行します (scripts/deploy.sh によるデプロイ )。送信を許すインタフェースを --iface で限定してください。
scripts/deploy.sh ubuntu@192.0.2.10 --service --iface ens3 --password-file ./wpg-password
Web UI : パスワードを設定して 0.0.0.0:8080 で待ち受けるか、サービスを --bind 127.0.0.1:8080 にして ssh のポート転送 (ssh -L 8080:127.0.0.1:8080 ubuntu@192.0.2.10) で開きます (認証と TLS )。
AF_PACKET ソケットには CAP_NET_RAW が必要です。root で実行するか、バイナリに一度だけ capability を付与します。
sudo setcap cap_net_raw,cap_net_admin+eip /usr/local/bin/wpg
これは wpg doctor が (実行中のバイナリの実パスで) 表示するヒントです。バックエンド自体が拒否された場合は次のメッセージが出ます: AF_PACKET needs CAP_NET_RAW: run as root or grant it with `sudo setcap cap_net_raw,cap_net_admin+ep $(command -v wpg)` 。ファイルを置き換えると capability は消えるため、コピーのたびに setcap をやり直します (scripts/deploy.sh が行います)。systemd では file capability の代わりに AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN を使います。nosuid でマウントされたファイルシステム上では capability は無効です。
$ wpg ifaces
NAME IDX MAC IPV4 IPV6 MTU STATE SPEED DRIVER
lo 1 - 127.0.0.1 - 65536 up, loopback - -
ifb0 2 66:00:97:e0:50:14 - - 1500 down - -
ifb1 3 62:7f:e1:7b:e9:80 - - 1500 down - -
eth0 4 02:fc:00:00:00:01 192.0.2.2 - 1400 up - virtio_net
(上の一覧は開発用コンテナのもので、CML2 のものではありません。) 状態が up で、ドライバが virtio_net で、試験したいリンクにつながっているインタフェースを選びます。ssh セッションが通っている管理用インタフェースでは送出しないでください。CML2 上の Ubuntu では名前は通常 ens2、ens3 などで、CML2 トポロジ上のインタフェース順に並びます。CML2 の UI に表示される MAC と照合して確認します。MTU 列は最大フレームサイズを決めます (後述)。インタフェースは carrier 付きで up である必要があり、CML2 で未接続のインタフェースは carrier なしのままです。
$ wpg doctor
wpg doctor: environment check
✓ Raw sockets are available [caps.raw_socket]
euid/elevated=true CAP_NET_RAW=yes CAP_NET_ADMIN=yes bpf_writable=n/a
✓ At least one usable network interface is up [iface.any_up]
eth0
✓ Kernel supports AF_XDP (5.10 or newer) [kernel.af_xdp]
kernel 6.18.44-fc-v49 (need >= 5.10.0)
✓ Kernel supports TPACKET_V3 [kernel.tpacket_v3]
kernel 6.18.44-fc-v49 (need >= 3.2.0)
! No hugepages configured (only needed for the DPDK backend) [hugepages]
0 x 2048 kB (0 free), 0 x 1048576 kB (0 free)
→ Reserve hugepages and bind the NIC to DPDK: echo 1024 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages ; sudo dpdk-devbind.py --status (then: --bind=vfio-pci <PCI address>)
- Not applicable on this operating system [npcap]
- Not applicable on this operating system [backend.pcap]
✓ libpcap is available [pcap_lib]
/usr/lib/x86_64-linux-gnu/libpcap.so
5 ok, 1 warning(s), 0 failure(s)
(要約行は Fluent メッセージで多言語化されています。ここでは英語の実出力を載せています。) afpacket で重要なのは caps.raw_socket (なければ fail)、iface.any_up、kernel.tpacket_v3 です。hugepages の警告は DPDK を使わない限り想定内です。wpg doctor --json でスクリプト向けに同じ一覧を得られます。続いて、ホストに影響しない順で動作確認します。
wpg send tpl.wpg.yaml --backend pcapfile -i /tmp/out.pcapng # ドライラン: pcapng に書くだけで送出しない
wpg bench --backend afpacket -i eth0 --duration 5 # 64 バイトを無制限で送出します
wpg send tpl.wpg.yaml -i eth0 --backend afpacket --rate 10kpps --count 1000
最初は低い --rate から始めてください。wpg bench は CML2 のリンクへ全速力で送ります。
wpg は送出専用で、afpacket ソケットはプロトコル 0 で作られるため何も受信しません。したがって 送信ノードでプロミスキャスモードは不要 です。制約は経路側にあります。
CML2 ノード間の内部リンク は CML2 ホストが実装する仮想リンクです。ノードのインタフェースに割り当てられた MAC 以外を送信元にしたフレームは、フィルタされたり、学習が期待どおりに行われなかったりする可能性があります。送信元 MAC を偽装するフレーム (ARP スイープ、多数のクライアント MAC を使う DHCP 負荷) が相手に届かない場合は、まずインタフェース本来の MAC を送信元にして試し、それでも届くなら CML2 リンクが残りを落としている可能性を疑います。これは CML2 のバージョンごとに確認が必要です。
External connector (CML2 ホストのネットワークや物理 NIC へのブリッジ): ホストのブリッジや上流スイッチが port security や MAC 学習数制限を掛けている場合があります。多数 MAC の高レート送出は物理スイッチの CAM テーブルを溢れさせるため、隔離したセグメントでのみ使ってください。
受信側 (CML2 のルータや tcpdump を動かす別の Ubuntu ノード) は、宛先 MAC が自分でない場合にだけプロミスキャスが必要です: sudo ip link set ens3 promisc on。
wpg は、テスト権限のあるラボ環境でのみ使用してください。法的注意 を参照。
afpacket のリングはスロットの大きさをインタフェースの MTU (上限 9216) から決め、スロットより大きいフレームは別の通常ソケットから送出されます。送るフレーム長は FCS を除く Ethernet ヘッダ + ペイロードなので、1514 バイトのフレームには MTU 1500 が必要です。上の例では virtio インタフェースの MTU が 1400 で、1514 バイトのフレームはカーネルに拒否され (EMSGSIZE)、dropped に数えられます。wpg ifaces で MTU を確認し、テンプレートのフレームを MTU + 14 以下にするか、両端の MTU を上げます (sudo ip link set ens3 mtu 9000)。ジャンボフレームは経路上のすべての CML2 リンクと相手ノードが対応している必要があり、CML2 のバージョンやノード種別に依存します。
CML2 上では未計測です。手元にあるのは docs/perf.md の lo のベースラインで、64 バイトフレーム・1 スレッドで約 1.4–1.9 Mpps、律速は loopback の受信経路です。virtio-net ではゲストからホストへの経路 (virtio TX キュー、CML2 ホストの vhost スレッド、仮想リンク) が律速になるため、lo の値を下回り、ホストに強く依存すると見込まれます。試す価値のある調整は順に --qdisc-bypass、--batch を大きくする、--pin-core、--no-tx-ring との比較です。結果は docs/perf.md のチェックリストに沿って記録してください。
--qdisc-bypass は PACKET_QDISC_BYPASS を設定し、qdisc 層を経由しません。lo では 64 バイトのスループットが約 30% 向上しました。代償として、そのインタフェースの tc シェーピング、優先制御、netem がこのトラフィックに効かなくなり、qdisc の統計 (tc -s qdisc) に載らず、デバイスキューが満杯のときは qdisc で待たずにカーネルが ENOBUFS を返して破棄します。wpg は短時間リトライしたうえで dropped に計上します。netem で障害を模擬する場合は使わないでください。
オフロードが変えるのは、受信側に 見える ものであって、wpg が送ったものではありません。GRO / LRO が有効だと、Linux の受信側の tcpdump は TCP ストリームで MTU を超える結合フレームを表示することがあります。正確に観測するには sudo ethtool -K ens3 gro off lro off で無効にします。wpg はチェックサム込みでフレームを自分で組み立てるので、送信ノードのチェックサムオフロードは影響しません (意図的に壊したチェックサムはそのまま送られます)。virtio ゲストの送信側キャプチャで “incorrect checksum” と出るのはカーネル自身のスタックが作ったパケットだけで、wpg のフレームではありません。現在の設定は ethtool -k で確認します。
バックエンド CML2 (virtio-net) での使いどころ 準備
afpacket既定。まずこれを使います。 追加の準備が要らず、管理用インタフェースと共存できますCAP_NET_RAW (上記)
afxdpafpacket で頭打ちのとき比べてみる価値があります。virtio-net の zero-copy は新しいカーネルが必要で、多くの場合 copy モードになり、afpacket との差は小さくなります--features afxdp でビルド、カーネル 5.10 以上、キュー数 (ethtool -L) (AF_XDP )
dpdkvirtio PMD でインタフェースをカーネルから外して使います。律速はホストの vhost 経路なので、効果は環境次第です --features dpdk でビルド、hugepages、vfio の no-IOMMU モードか uio_pci_generic (CML2 と virtio )
pcap他の OS と同じ手順で試したいときだけ --features pcap でビルド、libpcap0.8
どのバックエンドでも、送る前に --backend pcapfile でフレームを確かめ、低い --rate から始めます。性能を比べるときは同じリンクで wpg bench を順に実行し (性能チューニング )、結果を docs/perf.md のチェックリストに沿って記録してください。
症状 想定される原因 対処
AF_PACKET needs CAP_NET_RAW ... / EPERM / caps.raw_socket が fail権限がない root で実行するか sudo setcap cap_net_raw,cap_net_admin+eip $(command -v wpg)。バイナリ入れ替え後は再実行。nosuid マウント上では無効
ENOBUFS、または dropped が 0 でない TX キューが満杯: 仮想リンクか vhost が送出レートより遅い。約 100 ms リトライして破棄 --rate を下げる、--batch を小さくする、--qdisc-bypass を外す、相手とリンク速度を確認、--no-tx-ring と比較
特定サイズのフレームだけ dropped になる MTU より大きいフレーム (EMSGSIZE) wpg ifaces の MTU を確認し、フレームを小さくするか両端の MTU を上げる
“interface not found” / ENODEV 名前の誤り、または名前が変わった wpg ifaces。eth0 形式と ens3 形式の違いに注意
iface.any_up が “none up with carrier” と警告インタフェースが down、または CML2 のリンクが未接続/未起動 sudo ip link set ens3 up。ノードを起動し、CML2 トポロジでリンクを確認
送信側は packets を数えるが相手に届かない リンクの取り違え、CML2 リンクの MAC フィルタ、VLAN 不一致、受信側が promisc でない まず送信ノードのインタフェースで、次に相手でキャプチャ。本来の送信元 MAC で試す。ip link set ... promisc on
lo のベースラインよりはるかに遅いvirtio/vhost の限界、vCPU が他の処理と共有 ノードに 2 vCPU 以上、--pin-core、性能チューニング 参照
指定したレートに届かない 経路の持続可能な上限を超えている。wpg send の出力の精度も参照 レートを下げる。性能チューニング 参照
Status: draft
templates/interop/ のテンプレートで、wpg が組み立てたパケットを相手のルータが正しく受け取るかを確かめます。wpg はステートレスな送出器なので (TCP セッションやデータベース同期はしない)、各シナリオは「相手側で観測できる状態の変化」1 つを確かめるものです。
検証状況 : 下表の 7 シナリオは、FRR 8.4.4 に対して scripts/interop/frr-netns.sh (ネットワーク名前空間 + veth、afpacket で送出) で確認済みです (2026-10-12、すべて PASS)。IOS-XR / Junos の設定例と確認コマンドは一般的な知識に基づくもので、実機・CML2 での確認はまだしていません。 結果が異なった場合は issue で知らせてください。
テンプレート 送るもの 相手側で期待する状態
ospfv2-hello-2way相手のルータ ID を載せた OSPFv2 Hello (優先度 0)、10 秒間隔 ネイバー 2-Way/DROther (Full にはならない)
ripv2-response-route198.51.100.0/24 (メトリック 1) と 203.0.113.0/25 (メトリック 5) の RIPv2 Response、30 秒間隔 RIB に R 経路 (メトリック +1)
isis-l2-lan-hello-up相手の MAC を IS Neighbors TLV に載せた L2 LAN IIH (優先度 0、MTU までパディング)、3 秒間隔 L2 隣接 Up
vrrpv3-preempt優先度 200 の VRRPv3 広告 (VRID 5)、1 秒間隔 相手が Backup。止めると約 3.6 秒で Master に戻る
pim-hello-neighborPIMv2 Hello (ホールドタイム 105 秒、DR 優先度 0)、30 秒間隔 PIM ネイバー一覧に wpg
ldp-link-helloLDP リンク Hello (224.0.0.2、ホールドタイム 15 秒)、5 秒間隔 LDP ディスカバリに Link (TCP セッションは張らない)
bfd-session-up状態 Down → (相手の Discriminator を入れて) 状態 Up の BFD 制御パケット、300 ms 間隔 BFD セッション Up。止めると検出時間 (約 0.9 秒) 後に Down
アドレスは既定で wpg が 10.99.0.1、相手が 10.99.0.2/24 です。違う場合は --var で変えます (各テンプレートの variables 参照)。どのテンプレートも --var src_mac=<送出インタフェースの MAC> を渡すと分かりやすくなります。
BFD は 2 段階です。まず --var state=down で数パケット送ると相手が Init になるので、相手の Local Discriminator を確認して --var peer_discriminator=<値> で状態 Up を送り続けます。
sudo apt install frr iproute2 # frr サービスは起動しなくてよい
cargo build -p wpg-cli
sudo scripts/interop/frr-netns.sh # 全シナリオを実行して PASS / FAIL を表示
スクリプトは名前空間 wpgfrr を作り、veth (wpg0 ⇔ frr0) の向こうで FRR のデーモン (zebra、ospfd、ripd、isisd、vrrpd、pimd、ldpd、bfdd) を直接起動し、各テンプレートを wpg send --backend afpacket で送って vtysh の出力を確かめます。終了時に後片付けします。--keep で環境を残せば sudo ip netns exec wpgfrr vtysh -N wpg で中を見られます (--down で削除)。
出力例:
PASS OSPFv2 neighbor 2-Way
PASS RIPv2 routes installed
PASS IS-IS L2 adjacency Up
PASS VRRPv3 peer is Backup
PASS PIM neighbor
PASS LDP link discovery
PASS BFD session Up
FRR 側の設定は次のとおりです (スクリプトが投入)。VRRP は FRR の要件として、仮想 MAC 00:00:5e:00:01:05 を持つ macvlan vrrp4-2-5 を作っています。
router ospf
ospf router-id 10.99.0.2
network 10.99.0.0/24 area 0
router rip
version 2
network 10.99.0.0/24
router isis 1
net 49.0001.0000.0000.0002.00
is-type level-2-only
interface frr0
ip router isis 1
ip pim
vrrp 5 version 3
vrrp 5 priority 100
vrrp 5 ip 10.99.0.254
mpls ldp
router-id 10.99.0.2
address-family ipv4
discovery transport-address 10.99.0.2
interface frr0
bfd
peer 10.99.0.1 interface frr0
receive-interval 300
transmit-interval 300
wpg を動かす Ubuntu ノードの送出インタフェースと、相手ルータのインタフェースを同じセグメントにつなぎます (CML2 での注意点 の準備を先に)。
相手に下の設定を入れます (インタフェース名は環境に合わせる)。
シナリオごとに wpg send templates/interop/<名前>.wpg.yaml -i <インタフェース> --backend afpacket --var src_mac=<MAC> ... を実行し、確認コマンドで状態を見ます。IS-IS は --var peer_mac=<相手の MAC>、BFD は上記の 2 段階が必要です。
シナリオ FRR IOS-XR (未確認) Junos (未確認)
OSPFv2 show ip ospf neighborshow ospf neighborshow ospf neighbor
RIPv2 show ip route ripshow route ripshow route protocol rip
IS-IS show isis neighborshow isis adjacencyshow isis adjacency
VRRPv3 show vrrp 5show vrrpshow vrrp
PIM show ip pim neighborshow pim neighborshow pim neighbors
LDP show mpls ldp discoveryshow mpls ldp discoveryshow ldp neighbor
BFD show bfd peers briefshow bfd sessionshow bfd session
interface GigabitEthernet0/0/0/0
ipv4 address 10.99.0.2 255.255.255.0
router ospf 1
router-id 10.99.0.2
area 0
interface GigabitEthernet0/0/0/0
router rip
interface GigabitEthernet0/0/0/0
router isis 1
is-type level-2-only
net 49.0001.0000.0000.0002.00
address-family ipv4 unicast
interface GigabitEthernet0/0/0/0
address-family ipv4 unicast
router vrrp
interface GigabitEthernet0/0/0/0
address-family ipv4
vrrp 5 version 3
priority 100
address 10.99.0.254
multicast-routing
address-family ipv4
interface GigabitEthernet0/0/0/0
enable
router pim
address-family ipv4
interface GigabitEthernet0/0/0/0
mpls ldp
router-id 10.99.0.2
interface GigabitEthernet0/0/0/0
router static
address-family ipv4 unicast
192.0.2.0/24 10.99.0.1 bfd fast-detect minimum-interval 300 multiplier 3
set interfaces ge-0/0/0 unit 0 family inet address 10.99.0.2/24 vrrp-group 5 virtual-address 10.99.0.254 priority 100
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces lo0 unit 0 family iso address 49.0001.0000.0000.0002.00
set protocols vrrp version-3
set protocols ospf area 0 interface ge-0/0/0.0
set protocols rip group wpg neighbor ge-0/0/0.0
set protocols isis interface ge-0/0/0.0 level 1 disable
set protocols pim interface ge-0/0/0.0
set protocols mpls interface ge-0/0/0.0
set protocols ldp interface ge-0/0/0.0
set routing-options static route 192.0.2.0/24 next-hop 10.99.0.1 bfd-liveness-detection minimum-interval 300 multiplier 3
ステートフルな手順は扱いません (非ゴール): OSPF は Full にならず (優先度 0 の DROther で止める)、LDP / BGP の TCP セッション、IS-IS の LSP フラッディング、BFD 状態機械の自動追従はしません。BGP は TCP が必要なため対象外です。
RIP の経路は最後の Response から 180 秒でタイムアウトします。継続するには送出を続けます。
IPv6 のシナリオ (OSPFv3、RIPng、MLD、VRRPv3 for IPv6) は、確認に使った環境で IPv6 が無効だったため含めていません。
VRRP の送信元 MAC は仮想 MAC 00:00:5e:00:01:<VRID> です。VRID を変えるときは src も合わせて変えてください。
Status: draft
まず wpg bench で計測し、docs/perf.md のベースライン (lo、null、WSL2 上の veth / dummy で計測。実 NIC は未計測。WSL2 では afpacket が 1 コア 2–3 Mpps) と比較します。特記しない限り、以下のフラグは wpg send と wpg bench の両方にあります。CLI リファレンス を参照してください。
1 度に 1 つずつ変え、毎回 wpg bench で測ります (64 バイト、--duration 10 (秒) 程度)。
上限を知る : wpg bench --backend null で、送出経路を除いたフレーム生成の上限を測ります。実インタフェースでの値がこれに近ければ、律速は wpg 側です。
afpacket の基本 : --qdisc-bypass (tc を使わない場合)、--batch を 64 / 128 / 256 / 512 で比較、--no-tx-ring と比較。
コアの固定 : --pin-core (1 ワーカー) か --auto-pin。NIC の割り込みと同じ NUMA ノードに置き、governor を performance に (下の「IRQ アフィニティと CPU governor」)。
ワーカーを増やす : --workers 2、4 … とキュー数まで増やし、伸びが止まる点を探します。
バックエンドを変える : それでも足りなければ afxdp (--xdp-mode と --busy-poll)、次に dpdk (DPDK / AF_XDP のセットアップ )。仮想 NIC (CML2 など) では差が小さいことが多いので、CML2 での注意点 も参照してください。
レートの精度を詰める : 目標レートで wpg send し、最終レポートの達成率と遅れを見て --wait / --clock を調整します (下の「レート精度」)。
記録する : 環境 (CPU、NIC とドライバ、カーネル、コマンド、wpg bench --json の出力) を docs/perf.md のチェックリストに沿って残します。
--pin-core <CORE> は送出スレッドを 1 つの CPU コアに固定します (Linux)。スケジューラによる移動を防ぎ、キャッシュを温かく保ちます。NIC の割り込みを処理していないコアを選び、できれば NIC と同じ NUMA ノードのコアにします (lscpu、/sys/class/net/<if>/device/numa_node)。そのコアには他の仕事を載せないでください (残りは isolcpus や taskset で分離)。
--batch <N>: send_batch 1 回でバックエンドに渡すフレーム数。大きいほどシステムコールが減ります (既定は wpg send が 64、wpg bench が 256)。大きすぎるとレート制御の粒度が粗くなります。64、128、256、512 で試します。
--ring-depth <N>: afpacket の TX リングのスロット数 (既定 4096)。リング (afxdp では UMEM) 全体は --ring-bytes / tx.ring_bytes が上限 (既定 16 MiB) で、lo (16 KiB スロット) では実効 1024 になります。深いリングはバーストを吸収しますが、持続レートは上がりません。
--burst <N> (wpg send): レート制御の 1 回の許可で連続送出するフレーム数。
既定値は多くのホストに合っています。次の場合だけ引き上げてください。どれも wpg.toml のキー (設定リファレンス ) があり、wpg send ではコマンドラインでも上書きできます。
tx.prerender_max_bytes (256 MiB) と tx.prerender_max_packets (1 億)、--prerender-max-bytes / --prerender-max-packets: 両方の上限に収まるストリームは送出前にすべて生成し (--plan auto)、超えるものは送出しながら生成します。フィールドをその場で書き換えられないテンプレートは事前生成のほうが高いレートが出るため、そうしたストリームが上限をわずかに超え、ホストのメモリに余裕があるときに引き上げます。複数のジョブを同時に動かす小さなホストでは引き下げます。
tx.ring_bytes (16 MiB)、--ring-bytes: ワーカーごとの afpacket TX リング / afxdp UMEM のメモリ。ジャンボフレームや長いバーストで 16 MiB より深いリングが要るときに --ring-depth と合わせて引き上げます。このメモリはロックされるため、ulimit -l (systemd では LimitMEMLOCK) も合わせて引き上げてください。
server.preview_max (256): 1 回のプレビューで生成できる最大パケット数。1 回のリクエストでストリームの先まで見たいときに引き上げます。リクエストごとにその数をサーバーで生成します。
server.job_history (100) と server.job_history_db (1000): ジョブ画面に出す終了済みジョブ数と、データベースに残す数。
afpacket の既定は TPACKET_V3 の TX リングです。フレームを共有スロットにコピーし、バッチごとに send() を 1 回呼んで送出を起動します。--no-tx-ring は代わりに sendmmsg を使います (リングを確保できない場合の自動フォールバックでもあります)。lo では両者の差は数 % 程度で (release で ring 1.44、sendmmsg 1.50 Mpps)、他のドライバでは結果が変わり得るため両方を測ってください。bench の表示にはどちらのモードかが出ます。
qdisc 層を通らず、lo で約 30% 高速になりますが、そのトラフィックには tc のシェーピングや netem が効かなくなります。CML2 での注意点 を参照。
レート制御はトークンバケットです (wpg send)。待ち方は --wait で選びます。
--wait動作 CPU
hybrid (既定)期限が遠い間は sleep、最後の 50 マイクロ秒は busy-spin 待ち時間に比例して少し
sleepsleep のみ最小
spinbusy-spin のみ 1 コアを使い切る
busy-pollspin しながらバックエンドの後処理 (afxdp の completion リング回収、ドライバの起動) も行う。--busy-poll を付けると既定になる 1 コアを使い切る
精度のための工夫 (M8):
送出スレッドのタイマスラックを 50 マイクロ秒から 1 マイクロ秒に下げます (PR_SET_TIMERSLACK、Linux。sleep を使う待ち方のとき)。
sleep の寝過ごしを学習します 。実際に何マイクロ秒遅れて起きたかの移動平均を取り、次の sleep をその分だけ短くします (残りは spin で詰めます)。
クロックに TSC を使います (--clock auto、既定)。x86_64 で TSC が invariant (CPUID、または Linux の constant_tsc と nonstop_tsc) なら rdtsc を直接読み、起動時に一度だけ Instant と突き合わせて周波数を求めます。1 回の読み取りが数 ns で済むので、spin の 1 周が短くなり、期限からの遅れが半分程度になります。--clock monotonic で従来の Instant に戻せます。TSC が使えない環境では自動で monotonic になります。
lo のコンテナでの計測結果 (前後比較を含む) は docs/perf.md の「レート制御の精度」にあります。要点: 1 kpps の hybrid で平均の遅れが 74.5 から 10–15 マイクロ秒、sleep では 62–121 から 2–44 マイクロ秒に減りました。中央値の遅れは spin 系で 0.1 マイクロ秒前後 (TSC で 0.03–0.06)。最大値 (数ミリ秒) は共有ホストの vCPU が奪われることによるもので、待ち方では消せません。精度が必要なら --pin-core / --auto-pin と isolcpus を併用してください。
フレーム間隔が待ちの分解能より短い場合、制御は複数フレームをまとめて許可する (--burst) ので、平均 レートは目標に沿いますが個々の間隔は揃いません。ifg=<時間> はバースト 1 を強制します。達成レートが指定より低い場合は経路側が限界で、停止後の追い付きバーストは 10 ms 分に制限されるため、詰まりのあとに一気に送り出すことはありません。wpg send の最終レポートに達成率と遅れ (最大、平均) が、--json には p50 / p99 (p50_jitter、p99_jitter) と TSC を使ったか (tsc) が含まれます。
--workers N は N 個の送出ワーカーを起動します。ワーカーごとにスレッド、バックエンドのインスタンス (afpacket はソケットと TX リング、afxdp はソケットと UMEM、dpdk は共有ポートの TX キュー) を持ち、ストリームとレートを N 等分します (--rate 1Mpps --workers 4 なら 1 ワーカー 250 kpps)。カウンタは合算され、最終レポートにワーカーごとの内訳が出ます。pcap と pcapfile は 1 ワーカーのみです。
キューへの割り当て:
afxdp : ワーカー i は NIC のキュー --queue + i に bind します。キュー数は ethtool -L <if> combined N で用意します (DPDK / AF_XDP )。
dpdk : ポートを --queue + N 本の TX キューで設定し、ワーカー i は TX キュー --queue + i で送ります。mbuf プールは NIC の NUMA ソケットに置きます (DPDK )。
afpacket : キューを直接は選べません。カーネルが送出 CPU からキューを決めます。XPS (/sys/class/net/<if>/queues/tx-<n>/xps_cpus) が設定されていればその対応表に従い、なければ --qdisc-bypass 時は「CPU 番号 mod キュー数」になります。ワーカーを別々のコアに固定すれば、別々のキューに分散します。
# 4 キューの NIC に 4 ワーカー、NIC と同じ NUMA ノードのコアに自動で固定
wpg bench --backend afxdp -i ens3 --workers 4 --auto-pin
wpg send tpl.wpg.yaml -i ens3 --backend afpacket --qdisc-bypass --workers 4 --pin-cores 2,3,4,5
--auto-pin はワーカーを NIC の NUMA ノード (/sys/class/net/<if>/device/numa_node) のコアに順に固定します。プロセスに許可されたコア (taskset / cgroup の cpuset) だけを使い、コア 0 (割り込みや雑務が集まりがち) は最後に回します。NUMA 情報がない環境 (仮想 NIC、1 ノードのマシン) では許可されたコアを順に使います。--pin-cores を指定した場合はそちらが優先です。
ワーカーは固定したあとで自分のフレームバッファを確保するので、Linux の first-touch によりメモリはそのコアのノードに置かれます。
afxdp の UMEM は NIC のノードに割り当てます (mbind(MPOL_PREFERRED))。backend の表示に NUMA node N と出ます。
割り込み (TX 完了) も同じノードのコアに寄せてください (下の「IRQ アフィニティ」)。
NIC の割り込みを分散または固定します: cat /proc/interrupts | grep <if>、echo <mask> | sudo tee /proc/irq/<n>/smp_affinity。手動で固定する場合は irqbalance を止めます。送出スレッドと TX 完了割り込みは同じ NUMA ノードに置きます (同じコアである必要はありません)。
governor は performance にします: sudo cpupower frequency-set -g performance。VM では governor はホストが制御するため、CML2 ホストの管理者に確認してください。
レイテンシのスパイクが出る場合は深い C-state を無効にし、pin したコアの SMT 兄弟には負荷を載せません。
管理アカウントは admin の 1 つです。パスワードは次のうち最初に設定されているものを使います (優先度の高い順)。
wpg serve --password <PASSWORD>。プロセス一覧で他のユーザから見えるため、試用時のみにしてください。
wpg serve --password-file <FILE>。ファイルには平文パスワードか argon2 ハッシュを書きます。
環境変数 WPG_PASSWORD (平文か argon2 ハッシュ)
wpg.toml の auth.password_hash。wpg config set-password がパスワードを尋ねてこのキーに書き込みます。スクリプトでは --stdin を使います。
wpg.toml の auth.password_file (平文か argon2 ハッシュ)
上のいずれも無い場合は、初回アクセス時のセットアップ画面
平文のパスワードは起動時に argon2id (19 MiB、2 パス。OWASP 推奨値) でハッシュ化し、<data_dir>/wpg.sqlite に保存します。設定したパスワードを変えると、次回の起動時に既存のセッションはすべて無効になります。
パスワードが設定されるまでは次のように動作します。
/api/health、/api/version、/api/auth/*、/api/docs 以外の API はすべて 401 setup_required を返します。
wpg serve はループバック以外のアドレスで待ち受けず、終了コード 2 で終了します。--allow-insecure を付けると待ち受けますが、大きな警告をログに出し、サーバに到達できる誰もがパスワードを設定できる状態になります。
--allow-insecure を付けない限り、セットアップ画面はサーバ自身 (ループバック) からのリクエストしか受け付けません。
wpg serve # 127.0.0.1:8080 を開いてパスワードを設定
wpg config set-password # または先に wpg.toml へハッシュを保存
wpg serve --bind 0.0.0.0:8080 --tls # 以後は任意のアドレスで待ち受け可能
ログイン後は wpg_session Cookie でセッションを識別します。値はランダムな 256 ビットのトークンで、HttpOnly; SameSite=Strict (HTTPS では Secure も) を付けて発行します。データベースにはトークンの SHA-256 だけを保存します。
セッションの有効期間は auth.session_ttl_secs (既定 24 時間) で、リクエストのたびに延長されます。
POST、PUT、DELETE のリクエストは、セッションの CSRF トークンを X-CSRF-Token ヘッダで送る必要があります。トークンは GET /api/auth/status と、スクリプトから読める wpg_csrf Cookie で受け取れます。ログインとセットアップには CSRF トークンは不要ですが、Content-Type: application/json のリクエストしか受け付けません。
WebSocket (/api/ws、Web ターミナルの /api/terminal/ws) の接続にもセッション Cookie が必要です。Origin が別ホストを指す接続は拒否します。Web ターミナルの安全策は Web ターミナル を参照してください。
API: GET /api/auth/status、POST /api/auth/setup {password, confirm}、POST /api/auth/login {password, username?}、POST /api/auth/logout。詳しくは API リファレンス を参照してください。
スクリプト、CI ジョブ、wpg remote は、セッションの代わりに API トークンで認証します。
# サーバ上で実行 (稼働中でも可)。標準出力にはトークンだけを出力
wpg config token create ci --expires-days 90
# または Web UI の「設定」→「API トークン」
export WPG_SERVER=https://wpg.example.net:8080 WPG_TOKEN=wpg_...
wpg remote jobs start examples-arp-sweep --backend null --count 100 --wait
curl -H "Authorization: Bearer $WPG_TOKEN" "$WPG_SERVER/api/jobs"
トークンは wpg_ に 16 進 64 桁 (ランダムな 256 ビット) を続けたものです。表示するのは作成時の 1 回だけです。データベースには SHA-256 と、見分けるための先頭 12 文字 (wpg_ と 16 進 8 桁) だけを保存します。トークンは十分に長いランダム値なので高速なハッシュで足ります。argon2 にすると API リクエストのたびに約 19 MiB と数十ミリ秒かかります。
Authorization: Bearer <トークン> を付けたリクエストは、トークンを作成したユーザとして、そのユーザの役割で動作します。細かいスコープはありません。CSRF トークンは不要で、Cookie も発行しません。
Authorization ヘッダがあるリクエストでは、セッション Cookie を見ません。誤った、期限切れの、または失効したトークンには 401 unauthorized を返します。失敗はクライアントのアドレスごとの ログインのレート制限 に数えます。
有効期限は 1〜3650 日、または無期限です。パスワードを変えてもトークンは有効なままです。失効 (Web UI、wpg config token revoke <id>、DELETE /api/tokens/{id}) はトークンを削除し、次のリクエストから拒否します。
トークンではトークンを管理できません。Bearer のリクエストには /api/tokens が 403 forbidden を返します。作成と失効はセッション (Web UI) か、サーバ上の wpg config token で行います。admin はすべてのユーザのトークンを、その他のユーザは自分のトークンだけを表示・失効できます。
トークンの作成、失効、拒否は監査ログに記録します。最終使用日時は最大 1 分に 1 回記録します。
API: GET /api/tokens、POST /api/tokens {name, expires_in_days?} ({token, secret} を返す)、DELETE /api/tokens/{id}。
wpg remote はサーバ証明書を検証します。自己署名証明書のサーバには --insecure を付けてください。
ログインの失敗はクライアントのアドレスごとに 1 分あたり 5 回まで許可します。それを超えるとそのクライアントは 1 分間ロックアウトされます。ロックアウトが繰り返されるたびに時間は 2 倍になり、最大 15 分です。ロックアウト中のログインには 429 rate_limited を返し、details.retry_after_secs と Retry-After ヘッダで待ち時間を示します。
すべてのログイン試行を login_attempts テーブルに記録し、30 日間保持します。リバースプロキシの後ろでは、全クライアントがプロキシのアドレスを共有します。
ログイン、ログイン失敗、ログアウト、セットアップ、API トークンの作成・失効・拒否、ジョブ操作 (作成、開始、一時停止、再開、停止、削除) は、ユーザ名とクライアントのアドレスを付けて wpg::audit ターゲットでログに記録します。これらのイベントだけを出力するには RUST_LOG=wpg::audit=info を指定します。
wpg serve --tls (または server.self_signed_tls = true) を指定すると、自己署名の ECDSA 証明書を <data_dir>/tls/ に生成し、次回以降の起動でも再利用します。証明書の有効期間は 800 日で、期限の約 1 か月前に作り直します。対象は localhost、127.0.0.1、::1、bind アドレス、ホスト名です。起動時に SHA-256 フィンガープリントを表示するので、ブラウザに表示される値と照合してください。
自前の証明書を使うには wpg.toml に [server.tls] cert = "...", key = "..." (PEM ファイル) を指定します。自己署名証明書より優先されます。
TLS のポートでは平文の HTTP に応答せず、HTTPS へのリダイレクトもしません。
リバースプロキシ (nginx、Caddy) を使う場合は、wpg を 127.0.0.1 で待ち受けさせ、TLS はプロキシで終端します。/api/ws の WebSocket アップグレードも転送してください。
すべての応答に Content Security Policy を付けます (default-src 'self'。スクリプトはサーバからのものと 'wasm-unsafe-eval'、起動用インラインスクリプトのハッシュのみ許可。インラインスタイル許可。connect-src 'self' ws: wss:。frame-ancestors 'none')。あわせて X-Content-Type-Options: nosniff、X-Frame-Options: DENY、Referrer-Policy: no-referrer、制限的な Permissions-Policy も付けます。/api/docs の Swagger UI には、インラインスクリプトを許可する緩いポリシーを適用します。
wpg の画面から、試験対象の機器に SSH / Telnet で接続できます。パケットを送りながら対向機器のカウンタやログを確認するときに、Tera Term などの端末ソフトや踏み台サーバを別に用意する必要がありません。接続は wpg サーバから張るので、作業用 PC から機器に直接届かないラボ (CML2、EVE-NG、閉域の実機ラボ) でも使えます。設計の背景は ADR-0011 にあります。
Web ターミナルは既定で無効です。wpg.toml に [terminal] セクションを書き、サーバを再起動します。
[terminal]
enabled = true # Web ターミナル (SSH / Telnet)
allowed_targets = ["10.0.0.0/8", "*.lab.example", "console-srv:2001"]
record_sessions = true # <data_dir>/terminal-logs にセッションログを残す
idle_timeout_secs = 1800 # 無操作で切断するまでの秒数 (0 = 切断しない)
max_sessions = 8 # 全ユーザ合計の同時セッション数
キー 既定値 内容
enabledfalseWeb ターミナルを有効にする
allowed_targets[]接続を許可する宛先。空の場合はすべて許可
record_sessionstrueセッションログを許可する (false でサーバ側のログを無効化)
idle_timeout_secs1800入出力が途絶えてから切断するまでの秒数。0 で無効
max_sessions8同時に開けるセッション数
環境変数でも指定できます (例: WPG_TERMINAL__ENABLED=true、WPG_TERMINAL__ALLOWED_TARGETS='["10.0.0.0/8"]')。設定は wpg config validate で確認できます。allowed_targets を空のまま、ループバック以外のアドレスで待ち受けると警告が出ます。
書き方 意味
r1、r1.lab.exampleそのホスト名 (大文字小文字は区別しない)。ポートは問わない
r1:22そのホスト名の 22 番ポートだけ
*.lab.examplelab.example のサブドメインすべて
192.0.2.10、192.0.2.10:2001その IP アドレス (とポート)
[2001:db8::1]:830IPv6 アドレスとポート
10.0.0.0/8、2001:db8::/32アドレス範囲 (CIDR)
ホスト名の規則は利用者が入力した名前と照合します。アドレスと CIDR の規則は、名前解決した結果のアドレスと照合し、許可されたアドレスにだけ接続します。照合したアドレスにそのまま接続するので、DNS を後から書き換えて許可範囲を迂回することはできません。
サイドバーの ターミナル (ショートカット g c) を開きます。
接続フォームでプロトコル (SSH / Telnet)、ホスト、ポート (省略時は 22 / 23)、SSH のユーザ名を入力します。
SSH の認証方式を選びます。
パスワード : 入力したパスワードで認証します。空欄にすると、サーバのプロンプト (keyboard-interactive やパスワード入力) をダイアログで表示します。ネットワーク機器でよくある keyboard-interactive の「Password:」プロンプトには、入力したパスワードで自動的に応答します。
秘密鍵 : OpenSSH 形式、PEM、PuTTY の .ppk を貼り付けるか、ファイルから読み込みます。パスフレーズ付きの鍵にも対応します。
接続 を押すと新しいタブが開きます。複数のタブを同時に開け、他の画面に移動してもセッションは維持されます。
プロファイルを保存 で、プロトコル、ホスト、ポート、ユーザ名、認証方式、ログ設定をブラウザ (localStorage) に保存できます。パスワード、秘密鍵、パスフレーズは保存しません。
初めての SSH ホストでは、ホスト鍵のアルゴリズムと SHA-256 フィンガープリント (SHA256:...) を表示します。正しい値と一致することを確かめてから接続してください。正しい値は、たとえば次の方法で得られます。
対象ホスト上で ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub を実行する。
信頼できる経路の端末で ssh-keyscan -p 22 ホスト | ssh-keygen -lf - を実行する。
ネットワーク機器では、機器が表示する公開鍵 (Cisco IOS の show crypto key mypubkey rsa など) を OpenSSH 形式にして ssh-keygen -lf に渡す。機器によっては MD5 や 16 進表記で表示するため、形式をそろえて比較します。
信頼して保存 : 鍵をサーバの <data_dir>/terminal/known_hosts (OpenSSH の known_hosts 形式) に保存して接続します。次回からは確認なしで接続します。
今回のみ接続 : 保存せずに接続します。作り直すことの多いラボ機器に向きます。
キャンセル : 接続しません。
保存済みの鍵と異なる鍵が提示されると、中間者攻撃の可能性があるため接続を拒否し、提示された鍵と保存済みの鍵を表示します。機器の交換や鍵の再生成など心当たりがある場合は、画面下の 既知のホスト から該当ホストの鍵を削除し、再接続して新しい鍵を確認します。ssh-keyscan で取得した行を known_hosts に追記しておくこともできます。
接続フォームの 踏み台 (ProxyJump) で 踏み台を追加 を押し、経由する SSH サーバを近い順に入力します (最大 4 台)。OpenSSH の ssh -J ops@bastion,ops@inner admin@r1 と同じ動きで、手で ssh を打たずに 1 回で奥の機器につながります。
ブラウザ ── wpg サーバ ──SSH── 踏み台 1 ──SSH── 踏み台 2 ──SSH / Telnet── 機器
wpg サーバは踏み台 1 にだけ直接接続します。踏み台 2 と機器へは、手前の踏み台に開いた direct-tcpip チャネル (OpenSSH の -W / ProxyJump と同じ仕組み) を通ります。踏み台側の sshd で AllowTcpForwarding が有効である必要があります。
各段のホスト鍵は、直接接続と同じように初回に確認ダイアログが出ます。ダイアログとログインプロンプトには、どの段のホストかが表示されます。
各段のログインは、パスワードか秘密鍵を段ごとに指定します。パスワードを空にすると、その段でプロンプトを表示します。秘密鍵とパスワードはプロファイルに保存しません (踏み台のホスト、ポート、ユーザ名は保存します)。
最終的な宛先は SSH でも Telnet でも構いません。踏み台の奥にあるコンソールサーバの Telnet ポートにも、そのまま接続できます。
失敗した場合、どの踏み台で起きたかがエラーに表示されます (例: 「踏み台 10.0.0.1:22 で発生」)。
監査ログとステータス (GET /api/terminal/status) には経由した踏み台 (via) が記録されます。
許可リストとの関係 : allowed_targets は、踏み台を含むすべての段に適用されます。1 段目の踏み台は wpg サーバで名前解決して照合します。2 段目以降と最終的な宛先は踏み台側で名前解決されるため、ホスト名ならホスト名のエントリ (r1.lab、*.lab.example)、IP アドレスならアドレスや CIDR のエントリで照合します。名前で指定した宛先は CIDR のエントリでは許可されません。
Telnet では、サーバから要求されたときだけオプションを交渉します (ECHO、SGA、NAWS によるウィンドウサイズ通知、端末タイプ XTERM-256COLOR、BINARY)。wpg からは交渉を始めないので、ターミナルサーバの生 TCP ポート (CML2 や EVE-NG のコンソール) にも余計なバイトを送りません。Enter は NVT の規則どおり CR NUL として送ります。
操作 方法
コピー 範囲を選択 (既定で自動コピー)、Ctrl+Shift+C、Ctrl+Insert
貼り付け 右クリック / 中クリック、Ctrl+Shift+V、Shift+Insert、Ctrl+V
検索 ツールバーの検索欄 (Enter で次、Shift+Enter で前)
複数行を貼り付けるときは、行数と内容を表示して確認します (設定で無効にできます)。行ごとの待ち時間 を設定すると、1 行ごとに指定ミリ秒待って送ります。入力バッファが小さい機器のコンソールに設定を流し込むときに使います。ファイル送信 はテキストファイルの内容を同じ確認のあとに送ります。
ブラウザのクリップボード API は HTTPS か localhost でしか使えません。HTTP で別ホストから使う場合、右クリックでの貼り付けはできないので Ctrl+V か Shift+Insert を使ってください (コピーは動作します)。
文字サイズ、スクロールバック行数、自動コピー、右クリック貼り付け、貼り付け確認、行ごとの待ち時間は ターミナル設定 で変更でき、ブラウザに保存されます。
record_sessions = true の場合、接続時に「サーバにセッションログを記録する」を選ぶと (既定でオン)、接続先から受信した内容を <data_dir>/terminal-logs/ に記録します。ファイル名は 20261027-101500_ssh_r1.lab_22_ab12cd34.log の形式 (UTC 時刻、プロトコル、ホスト、ポート、セッション ID) です。
記録するのは接続先からの出力だけで、キー入力は記録しません (エコーされない入力、たとえばパスワードは残りません)。
既定でエスケープシーケンスを取り除いたプレーンテキストで記録します (Tera Term の「プレーンテキスト」相当)。取り除かない場合は cat で色付きのまま再生できます。
ツールバーの ログ開始 / ログ停止 で途中から記録したり止めたりできます。再開すると新しいファイルになります。
1 ファイルは 256 MiB で記録を止めます (セッションは続きます)。
セッションログ の一覧からダウンロード、削除できます。記録中のログは削除できません。
ログは自動では削除されません。保持期間は運用で管理してください (ファイルは所有者のみ読み書きできる権限 0600 で作成します)。
サーバにログを残さない場合でも、バッファを保存 でブラウザ上のスクロールバックをテキストファイルとして保存できます。
Web ターミナルを有効にすると、wpg サーバは試験ネットワークへの踏み台になります。次の点に注意してください。
接続先を絞る : allowed_targets に試験対象のアドレス範囲だけを書きます。空のままにすると、wpg にログインできる全員が、サーバから届く任意のホスト (管理ネットワークや社内のサーバを含む) に接続できます。
HTTPS を使う : パスワードや秘密鍵はブラウザから wpg サーバへ送られます。localhost 以外で使う場合は wpg serve --tls か証明書を設定し、HTTPS で接続してください (認証と TLS )。
パスワードは保存しない : wpg はパスワード、秘密鍵、パスフレーズをディスクに保存しません。接続処理の間だけメモリに置きます。ブラウザのタブは再接続のために入力内容をメモリに保持しますが、タブを閉じると消えます。
監査ログ : セッションの開始・終了・拒否を wpg::audit ターゲットで記録します (wpg のユーザ、クライアントのアドレス、接続先、ログイン名、終了理由、送受信バイト数、ログファイル名)。RUST_LOG=wpg::audit=info で監査イベントだけを出力できます。ホスト鍵の保存・削除、ログの削除も記録します。
権限 : ログインしているユーザだけが使えます。WebSocket は同一オリジンからの接続だけを受け付けます (server.base_url を設定したリバースプロキシ経由を含む)。viewer ロール (P1) のユーザは使えません。
無操作タイムアウトと同時セッション数 : 放置されたセッションは idle_timeout_secs で切断します。max_sessions で同時セッション数を制限します。
古い暗号方式 : 古いネットワーク機器と接続できるよう、SHA-1 の鍵交換や CBC 暗号も最下位の優先度で提示します。相手がより安全な方式を持たない場合にだけ使われます。
リバースプロキシの後ろに置く場合は、/api/ws と同様に /api/terminal/ws の WebSocket アップグレードも転送してください。nginx の例:
location /api/terminal/ws {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 3600s;
}
proxy_read_timeout は idle_timeout_secs より長くしてください。
メソッド パス 内容
GET /api/terminal/status設定 (有効 / 無効、許可リスト) と実行中のセッション
GET /api/terminal/wsセッションの WebSocket (無効時は 403 terminal_disabled)
GET /api/terminal/logsセッションログの一覧
GET / DELETE /api/terminal/logs/{name}ログのダウンロード / 削除
GET /api/terminal/known-hosts保存済みのホスト鍵
DELETE /api/terminal/known-hosts/{host}/{port}ホスト鍵の削除
WebSocket では最初に {"type":"connect","protocol":"ssh","host":"r1","username":"admin","password":"...","cols":120,"rows":40} を送ります。サーバは state、host_key、auth_prompt、connected、record、error、closed を JSON で、端末の出力をバイナリフレームで返します。キー入力はバイナリフレーム (または {"type":"input","data":"..."}) で送ります。詳細は API リファレンス の TerminalClientMessage / TerminalServerMessage を参照してください。
表示 原因と対処
「このホストはサーバの接続許可リストにありません」 allowed_targets に宛先を追加し、サーバを再起動します
「ホスト鍵が変わっています」 機器の鍵が変わりました。正当な変更なら 既知のホスト から古い鍵を削除します
「SSH エラー: No common … algorithm」 機器と共通の暗号方式がありません。機器側で新しい方式 (aes-ctr、ecdh、ed25519 など) を有効にしてください
「ログインに失敗しました」 ユーザ名、パスワード、鍵を確認します。鍵認証が無効な機器もあります
踏み台で「接続できませんでした」(踏み台 … で発生) 踏み台から宛先に届かないか、踏み台の sshd で AllowTcpForwarding no になっています
右クリックで貼り付けできない HTTP で別ホストから使っています。Ctrl+V / Shift+Insert を使うか、HTTPS にします
表示が崩れる ウィンドウサイズを変えると機器に通知されます。Telnet で NAWS に対応しない機器では terminal length 0 などで調整してください
Status: draft
wpg は送出だけでなく、受信側の簡単な確認もできます (v1 は最小構成です)。
受信カウンタ: 受信フレーム数・バイト数・pps / bps と、フィルタに一致したフレームの数とレート
tcpdump 風のフィルタ式による一致判定
最初の N フレームの表示 (Hex とデコード結果)
一致したフレームの pcapng 保存
送出時に埋め込んだシグネチャの照合による、ロス・順序逆転・重複・遅延の概算
CLI は wpg capture 、Web UI は「受信」画面、API は /api/captures です。
バックエンド OS 内容
afpacketLinux AF_PACKET raw ソケットで受信します。-i any で全インタフェース。CAP_NET_RAW が必要です (権限設定 )。自ホストが送出したフレーム (PACKET_OUTGOING) は既定で数えないため、lo で送受信しても 1 フレームは 1 回だけ数えられます。--include-outgoing で送出側も数えます。カーネルでのドロップ数 (PACKET_STATISTICS) を dropped に表示します。
pcap全 OS libpcap / Npcap。--features pcap でビルドしたときのみ使えます。送出フレームの除外 (pcap_setdirection) は Windows では効きません。
pcapfile全 OS pcap / pcapng ファイルを、記録時刻のまま受信したものとして再生します。インタフェースの代わりにファイルパスを指定します。実機 NIC なしの確認や、別の場所で取ったキャプチャのオフライン照合に使います。再生は一瞬で終わるため、pps / bps は「処理速度」になります。
null全 OS 何も受信しません (テスト用)。
フィルタは tcpdump / BPF の一部を、バックエンドに関係なくユーザ空間で評価します。空のフィルタは全フレームに一致します。キーワードは大文字小文字を区別しません。
書き方 意味
and / &&、or / ||、not / !、( )論理演算 (優先順位は not > and > or)
ether [src|dst] host <MAC>、ether src <MAC>送信元 / 宛先 MAC (00:11:22:33:44:55、0011.2233.4455)
ether proto <番号|ip|ip6|arp|vlan|mpls|lldp|pppoe>EtherType (VLAN タグの種別も含めて判定)
broadcast、multicast (ether を前に付けても可)宛先 MAC が全 1 / マルチキャスト
vlan [<ID>]802.1Q / 802.1ad タグがある (ID 指定時はいずれかのタグがその ID)
mplsMPLS (0x8847 / 0x8848)
ip、ip6、arp、rarpL3 の種別
tcp、udp、sctp、icmp、icmp6トランスポートの種別
ip proto <番号|名前>、ip6 proto …、proto …IP プロトコル番号 (ospf、gre、pim、vrrp などの名前も可)
[src|dst] host <アドレス>、src <アドレス>IPv4 / IPv6 アドレス (ARP の送信元 / 対象アドレスも対象)
[src|dst] net <アドレス/長さ>、net <アドレス> mask <マスク>ネットワーク
[tcp|udp|sctp] [src|dst] port <番号>ポート
[tcp|udp|sctp] [src|dst] portrange <下限>-<上限>ポート範囲
less <n>、greater <n>、len <|<=|>|>=|==|!= <n>フレーム長 (FCS なし)
wpg (signature)wpg のシグネチャを含むフレーム
例: udp dst port 5001 and wpg、vlan 100 and not arp、ip6 and net 2001:db8::/32。
tcpdump との違い:
vlan の後ろでもオフセットはずれません。どのプリミティブも VLAN タグの内側を見ます。
host / net は ARP のアドレスにも一致します。
ip[0] & 0xf のようなバイトオフセット式はありません。
判定はユーザ空間で行うため、受信した全フレームがユーザ空間にコピーされます。
文法エラーは位置付きで報告されます (wpg capture は終了コード 2、API は 400、Web UI は入力欄に表示)。
wpg send --signature (ジョブでは "signature": true、Web UI の新しいジョブのフォームの 詳細設定 にあるチェックボックス) を指定すると、送出する各フレームの 末尾 24 オクテット にシグネチャを書き込みます。
オフセット 長さ 内容
0 4 magic 57 50 47 01 ("WPG" + 版 1)
4 4 ストリーム ID (ビッグエンディアン)
8 8 ストリーム内の連番 (0 から)
16 8 送出時刻 (Unix エポックからのナノ秒)
上書きするのはペイロード (または Ethernet のパディング) だけです。Ethernet / 802.1Q / 802.1ad / IPv4 / IPv6 (拡張ヘッダ) / UDP / TCP / ICMP / ICMPv6 のヘッダを読み、その後ろに 24 オクテット以上ないフレームはそのまま送り、統計の unsigned (CLI の「未署名」) に数えます。シグネチャを使うときは、ペイロードを 24 オクテット以上にしてください。
UDP / TCP / ICMP / ICMPv6 のチェックサムは差分更新 (RFC 1624) するので、受信側で不正なチェックサムにはなりません。IPv4 の UDP チェックサムが 0 (未計算) の場合は 0 のままです。OSPF や GRE のチェックサムなど、それ以外のチェックサムは更新しません。
ストリーム ID は --stream-id (既定 0) + ストリーム番号です。複数ストリームのジョブでは、ストリームごとに別の ID になります。
連番はストリームごとに、全ワーカーを通して 0 から振られます。送出時刻はバッチ単位で取ります。
受信側はフレームの末尾 92 オクテット以内で magic を探すため、受信時に付いた Ethernet パディングや FCS があっても見つけられます。
--verify (API / Web UI では verify) を付けると、フィルタに一致したフレームのシグネチャをストリームごとに集計します。
項目 意味
received そのストリーム ID で受信したフレーム数
seq first–last 受信した最小・最大の連番
lost (最大 − 最小 + 1) − 受信した連番の種類数。概算です。最小より前 (受信開始前に送られた分) と、集計時点でまだ届いていないフレームは数えません。
reordered それより大きい連番の後に届いたフレーム
duplicates 直近 65536 連番以内で 2 回目に届いた連番 (それより古い重複は reordered に数えます)
latency min / avg / max 受信時刻 − 送出時刻
jitter 連続するフレームの遅延の差の絶対値の平均
遅延は送信側と受信側の時計が一致している場合だけ意味があります (同一ホスト、または PTP / NTP で同期したホスト)。負の値は時計がずれていることを示します。遅延にはカーネルのネットワークスタックとバッチ処理の時間も含まれます。
# 端末 1: 受信 (1000 フレーム受けたら終了)
wpg capture -i lo -f "udp port 5001 and wpg" --count 1000 --verify -w rx.pcapng
# 端末 2: 送出
wpg send templates/examples/eth-ipv4-udp-range.wpg.yaml -i lo --backend afpacket \
--count 1000 --rate 50kpps --signature --stream-id 9
受信側の出力例:
# 0 12:54:03.823537753 106 B ethernet2 / ipv4 / udp / raw [wpg stream 9 seq 0]
...
matched 1000 pkts 106000 bytes
saved 1000 pkts to rx.pcapng
signed 1000 with a signature, 0 without
stream 9 received 1000 seq 0-999 lost 0 (0.000%) reordered 0 duplicates 0
latency min 96.4 µs avg 190.5 µs max 829.9 µs jitter 5.6 µs
受信側で wpg capture -i eth1 --verify -f "udp and wpg" を先に起動し、送信側で wpg send … --signature を実行します。遅延を見る場合は両ホストの時計を PTP などで同期してください。ロスと順序の確認には時計の同期は不要です。
wpg send templates/examples/eth-ipv4-udp-range.wpg.yaml --backend pcapfile -i tx.pcapng \
--count 500 --signature
wpg capture --backend pcapfile -i tx.pcapng --verify
別の場所 (スイッチのミラーポートなど) で取ったキャプチャも、同じ方法でオフライン照合できます。
「受信」画面でバックエンド、インタフェース、フィルタ (入力中に検査されます)、件数・時間の上限、表示する先頭フレーム数、保存ファイル名、シグネチャ照合の有無を指定して開始します。実行中はカウンタとレートが WebSocket でリアルタイムに更新され、ストリームごとの照合結果、先頭 N フレームの一覧 (選んだフレームの Hex とデコード結果) を表示します。保存した pcapng は終了後にダウンロードできます。
pcapfile バックエンドのファイルと保存先は、サーバのデータディレクトリの captures/ 以下のファイル名で指定します (ジョブのドライラン出力もここに書かれます)。
フィルタはユーザ空間で評価し、afpacket は 1 フレームごとに recvfrom を呼ぶため、数十万 pps を超える受信には向きません。高レートの計測では、受信カウンタを NIC やスイッチの統計と併用してください。
保存する pcapng のタイムスタンプはマイクロ秒単位です。
本格的なキャプチャ機能 (リングバッファ、ファイル分割、カーネル BPF) は対象外です。
Status: draft
wpg には、パケット生成とは別に SNMP マネージャが入っています (Web UI の「SNMP」画面、API は /api/snmp )。機器のカウンタを読みながら負荷をかける、トラップが飛ぶか確かめる、といった検証を wpg だけで行えます。設計は ADR-0010 を参照してください。
Get / GetNext / GetBulk / Walk / Set (SNMPv1 / v2c / v3)
SNMPv3 USM: noAuthNoPriv / authNoPriv / authPriv、認証 MD5 / SHA-1 / SHA-224 / SHA-256 / SHA-384 / SHA-512、暗号 DES / AES-128 / AES-192 / AES-256。エージェントの Engine ID は自動で検出します
トラップ / インフォームの送信と受信
MIB のアップロードと、名前・列挙値・表示ヒント・単位を使った読める表示
やり取りした SNMP データグラムの pcap / pcapng 保存
画面は 3 つのタブに分かれます。ヘッダの「pcap 保存」はすべてのタブに共通です。
宛先 (ホスト、ポート、バージョン、v1 / v2c はコミュニティ、v3 はユーザー・セキュリティレベル・プロトコル・パスフレーズ) を入力します。よく使う宛先は「プロファイルを保存」でブラウザに保存できます。コミュニティとパスフレーズはプロファイルにもサーバにも保存されません。
OID 欄にオブジェクト名か OID を入力します。読み込み済み MIB の名前が補完されます (ifDescr.1、IF-MIB::ifTable、sysUpTime.0、1.3.6.1.2.1.1)。スペース区切りで複数指定できます。「MIB ツリーから選ぶ」を開くと、ツリー (全体、またはモジュールごと) のチェックボックスで OID 欄に追加・削除できます。スカラーには .0 が付きます。
Get / GetNext / GetBulk / Walk を押します。ボタンの下に各操作の説明があります。
Get: 指定したインスタンスの値。スカラーは sysDescr.0、表の列は ifDescr.1 のように INDEX まで指定します。sysDescr や ifTable のままだと noSuchObject が返ります (結果欄にその旨を表示します)。
GetNext: 各 OID の次のインスタンス 1 件。
GetBulk (v2c / v3): 各 OID の後ろを「最大繰り返し数」件ずつ 1 リクエストで返します。サブツリーの終わりでは止まらないので、指定した OID の外の値も含まれます。
Walk: 各 OID のサブツリーをすべて、指定した順に辿ります。v2c / v3 では GetBulk、v1 では GetNext で進み、サブツリーの終わり・endOfMibView・増えない OID で止まります。sysDescr.0 のようなインスタンスを指定すると Get の結果になります。「Walk 上限」はすべての OID の合計です。
結果欄には要求した OID を表示します。
結果は「名前・型・値」の表で表示します。値は MIB を使って整形します。
元の値 表示
ifOperStatus の 1up(1)
MacAddress (1x:) 00:1b:21:aa:bb:cc
DateAndTime 2026-10-27,13:5:9.4,+9:0
TimeTicks 12345678 1d 10:17:36.78 (12345678)
hrMemorySize 80488048 KBytes (UNITS)
OID 値 IF-MIB::ifIndex
「生の値」にチェックを入れると MIB を使わない値を表示します。Walk の結果に概念表 (ifTable など) が含まれていれば、INDEX をキーにした行 × 列の表で表示します (「表形式」で切り替え)。表に入らない値 (interfaces を Walk したときの ifNumber.0 など) は表の上に一覧で表示します。
「自動更新」を選ぶと、最後の読み取り操作をその間隔で繰り返します。Counter32 / Counter64 は前回との差から毎秒のレートを計算し、スパークラインで推移を表示します (Counter32 の折り返しも考慮します)。
Set は「Set」欄に OID・型・値を並べます。型 auto は MIB から型を決め、down のような列挙ラベルも受け付けます。MIB にないオブジェクトは型 (net-snmp と同じ i u c C t a o s x d n) を選んでください。エージェントのエラー (notWritable、wrongType など) は結果欄に表示します。
受信 : 待ち受けアドレス (既定 0.0.0.0:162)、受け付けるコミュニティ (空ならすべて)、v3 ユーザーを指定して「開始」します。受信した通知は一覧にすぐ表示され (WebSocket の snmp_trap イベント)、トラップ OID と各バインディングを MIB の名前で表示します。インフォームには自動で応答します。コミュニティ違いや認証失敗のメッセージも、エラー付きで一覧に出ます。
送信 : 操作タブの宛先設定で、トラップ OID (linkDown など) とバインディング (1 行に「オブジェクト 値」か「オブジェクト 型 値」) を送ります。v1 では RFC 3584 に従って Trap-PDU に変換します。「インフォーム」にすると応答を待ちます。v3 トラップでは wpg 側が権威エンジンになります。
MIB ファイル (.mib .txt .my) をドラッグ & ドロップするか「ファイルを選択」でアップロードします。ファイルは <data_dir>/mibs (設定 snmp.mib_dir) に保存され、すぐに読み込まれます。モジュール一覧には読み込み状態を表示します。
読み込み済み : 問題なし
問題ありで読み込み : 一部の定義が解決できない、IMPORTS 先のモジュールがない、など。足りないモジュール名を表示するので、それもアップロードしてください (ベンダ MIB は CISCO-SMI のような共通モジュールに依存することが多いです)
使用不可 : 何も解決できない
ベンダ MIB によくある崩れ (コメント行、知らないマクロ、IMPORTS 漏れ、壊れた定義) は警告として記録し、残りは使えるようにします。アップロードしたモジュールは削除できます (同じファイルに含まれるモジュールごと削除)。同梱モジュールは削除できませんが、同名の新しい版をアップロードすると置き換わります。
MIB ツリーではノードを展開して、説明・構文・アクセス・列挙値・INDEX などを確認できます。「表示するモジュール」でアップロードした MIB (または同梱 MIB) を 1 つ選ぶと、そのモジュールで定義されたオブジェクトだけを、モジュールの最上位ノードから表示します (1.3.6.1 から辿る必要はありません)。モジュール一覧の虫眼鏡ボタンでも切り替えられます。「リクエストで使う」で操作タブの OID 欄に入り (スカラーは .0 付き)、Get (スカラーのみ) / GetNext / Walk ボタンでは操作タブに移ってそのまま実行し、結果欄までスクロールします。
同梱 MIB: SNMPv2-SMI / TC / CONF / MIB、RFC1155-SMI、RFC-1212、RFC-1215、RFC1213-MIB、IANAifType-MIB、IF-MIB、INET-ADDRESS-MIB、IP-MIB、HOST-RESOURCES-MIB、SNMP-FRAMEWORK-MIB、SNMP-USER-BASED-SM-MIB、UUID-TC-MIB、IANA-ENTITY-MIB、ENTITY-MIB (RFC から抽出した IETF の MIB モジュール)。
ヘッダの「pcap 保存」をオンにすると、以降に wpg が送受信するすべての SNMP データグラム (リクエスト、応答、トラップ、インフォーム) を記録します。.pcap / .pcapng でダウンロードでき、Wireshark で SNMP として表示できます。データグラムは通常の UDP ソケットで送受信しているため、Ethernet / IP / UDP ヘッダは実際のアドレスとポートで合成し、MAC アドレスはプレースホルダ (02:00:00:00:00:01 が wpg 側、02:00:00:00:00:02 が相手) です。記録はメモリ上で最大 10 万フレームまで保持します。
[snmp]
enabled = true # SNMP ツール画面と API
trap_listen = "" # 例 "0.0.0.0:162"。空なら起動時は受信しない (画面から開始できる)
mib_dir = "" # 既定 <data_dir>/mibs
trap_listen を設定すると、起動時にトラップ受信を開始します (起動時の受信器はコミュニティ制限なし・v3 ユーザーなし。必要なら画面から開始し直してください)。
1024 未満のポートで待ち受けるには root か CAP_NET_BIND_SERVICE が必要です。
sudo setcap cap_net_bind_service=+ep "$(command -v wpg)"
権限がない場合は 0.0.0.0:1162 などで待ち受け、機器のトラップ送信先ポートをそこに向けてください。権限不足で開始できないときは、その旨のエラーを表示します。
受信器は SNMPv3 の時刻窓 (notInTimeWindow) を検査しません。遅れたメッセージも表示するためです。noAuthNoPriv の v3 メッセージは任意のユーザー名で受け付けます。
v3 のパスフレーズは 8 文字以上が必要です (RFC 3414 の推奨と多くの機器の制限)。
MIB パーサは名前と型を引くためのもので、SMI の厳密な検証器ではありません。
Status: draft
wpg には試験用の DHCP サーバーが入っています (Web UI の「DHCP」画面、API は /api/dhcp )。wpg のホストを試験対象 (ルーター、CPE、端末) と直結し、相手にアドレスやプレフィックスを配れます。設計は ADR-0012 を参照してください。
DHCPv4: アドレスプール、サブネットマスク・ルーター・DNS・ドメイン名・NTP、固定割り当て (MAC → IP)、リレー (giaddr / option 82)
DHCPv6: アドレス (IA_NA)、プレフィックス委任 (IA_PD)、DNS サーバー / ドメイン検索リスト、Rapid Commit
ルーター広告 (RA): ホストに DHCPv6 を使わせる M / O フラグ、任意のオンリンクプレフィックス
インタフェースの固定 IP (画面からは一時的に、デプロイ時は netplan で永続的に)
リース表とやり取りのログ
Linux でのみ動作します。
DHCP は指定した 1 つのインタフェースからだけ 応答します (ソケットを SO_BINDTODEVICE でそのインタフェースに縛ります)。管理用のインタフェースには出しません。
デプロイ時に固定するのが基本です。
scripts/deploy.sh user@host --service --iface ens3 \
--dhcp-iface ens3 --dhcp-iface-addr 192.168.100.1/24,2001:db8:1::1/64
--dhcp-iface ens3: /etc/wpg/wpg.env に WPG_DHCP__IFACE=ens3 を書きます。画面ではインタフェースを変更できなくなります。サービスには CAP_NET_BIND_SERVICE (ポート 67 / 547) のドロップインが付きます。
--dhcp-iface-addr: そのインタフェースの固定 IP です。/etc/netplan/90-wpg-ens3.yaml を書いて netplan apply します (DHCP クライアントと RA の受け入れは無効になります)。デフォルトルートのあるインタフェースには書き込みません。元に戻すにはこのファイルを消して sudo netplan apply してください。
Windows からは deploy.ps1 -DhcpIface ens3 -DhcpIfaceAddr 192.168.100.1/24 です。回答ファイルでは dhcp_iface= / dhcp_iface_addr= です。
wpg.toml で直接指定することもできます。
[dhcp]
enabled = true
iface = "ens3"
iface が空のときは、画面で tx.allowed_ifaces に含まれるインタフェースから選びます。
インタフェース、DHCPv4 のサーバー識別子、DHCPv6 のサーバー DUID、wpg が付与したアドレス、受信 / 送信の数を表示します。ヘッダの「保存して起動」で設定を保存してサーバーを起動 (動作中なら再起動) し、「停止」で止めます。動作中に wpg を再起動すると、サーバーも自動で再開します。
インタフェースのアドレス (固定 IP) : 192.168.100.1/24, 2001:db8:1::1/64 のように書くと、サーバーの起動時にインタフェースに付与し (リンクも up にします)、停止時に wpg が付けた分だけ削除します。再起動 (OS) をまたいで残したい場合はデプロイ時の --dhcp-iface-addr を使ってください。最初の IPv4 アドレスが DHCPv4 のサーバー識別子になります (「サーバー識別子」欄で上書きできます)。
DHCPv4 : 範囲の先頭 / 末尾、サブネットマスク、リース時間 (T1 / T2 はその 1/2 と 7/8)、ルーター、DNS サーバー、ドメイン名、NTP サーバー。リストはカンマかスペースで区切ります。固定割り当ては 1 行に MAC IP (範囲外のアドレスも可) です。
DHCPv6 : 「アドレス (IA_NA)」は範囲から 1 つずつ、「プレフィックス委任 (IA_PD)」はプールのプレフィックス (例 2001:db8:100:: / 40) を委任長 (例 56) で区切って順に配ります。推奨有効期間と有効期間 (T1 / T2 は推奨有効期間の 1/2 と 4/5)、DNS サーバー、ドメイン検索リスト、ADVERTISE の優先度、Rapid Commit を設定します。
ルーター広告 : ホストは RA の M フラグ (アドレス) か O フラグ (その他の設定) を見て初めて DHCPv6 を使います。リンク上に RA を出すルーターがなければ「ルーター広告を送る」を有効にしてください。M フラグは IA_NA が有効なとき、O フラグは常に立てます。オンリンクプレフィックスを書くと Prefix Information を付け、「SLAAC」で A フラグも立てます。ルーター寿命を 0 にすると、デフォルトルーターにはなりません。
割り当て中・提示中・辞退 (DECLINE、使用中と報告されたアドレス) のリースを表示します。削除すると wpg 側の記録が消えます (クライアントは次の更新まで使い続けます)。期限切れのリースは自動で消えます。
要求と応答 (DISCOVER → OFFER、SOLICIT → ADVERTISE、RA の送信など)、応答しなかった理由 (プール枯渇、別サーバーを選択、未知のサーバー識別子) を新しい順に表示します。
処理 必要な権限
ポート 67 / 547 で待ち受け CAP_NET_BIND_SERVICE
RA の送信 (生 ICMPv6) CAP_NET_RAW
インタフェースへのアドレス付与 CAP_NET_ADMIN
deploy.sh が入れる systemd サービスはすべて持っています (--dhcp-iface を指定したとき、または SNMP トラップの設定があるとき bind-service.conf ドロップインが付きます)。手動で動かす場合は sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/local/bin/wpg を実行してください。
同じリンクに別の DHCP サーバーがあると競合します。試験用インタフェースでのみ使ってください。
DHCPv4 の応答は、リレー経由ならリレーへ、更新中のクライアントにはユニキャスト、それ以外はブロードキャストで送ります。
DHCPv6 のリレーメッセージ (RELAY-FORW) には応答しません。
静的な DHCPv6 割り当て (DUID → アドレス) はありません。
リポジトリは crates/ 配下の Cargo workspace です。ユーザーに見える文字列は locales/ 、サンプルは templates/、ドキュメントは docs/、E2E テストは e2e/ と、いずれも crates/ と同じ階層に置かれます。
クレート 役割 wasm32
wpg-coreプロトコル定義 IR、パケットの合成・解析、フィールドジェネレータ、lint 診断 (diag::keys)。OS 非依存 ○
wpg-protocols組み込みプロトコル定義 (Ethernet 〜 IS-IS / CLNP)。Rust マクロで wpg-core の IR にコンパイルされる ○
wpg-i18nFluent ベースの i18n (ja / en / zh-CN / zh-TW / ko / de / fr / es)。locales/<lang>/main.ftl を include_str! で埋め込む ○
wpg-templateテンプレートファイル形式 (.wpg.yaml / JSON)、スキーマのバージョン管理と (デ)シリアライズ
wpg-tx送信バックエンド (null、pcap、AF_PACKET、AF_XDP、DPDK) を TxBackend トレイトの裏に置く
wpg-rx受信側カウンタと簡易検証 (v1 は最小限)
wpg-sysOS の情報: ネットワークインタフェース、権限、カーネル、hugepages、Npcap / libpcap 検出、doctor チェック
wpg-logロギング設定: tracing サブスクライバ (pretty / JSON)、ローテーションログ、ライブ配信用のブロードキャストシンク
wpg-serverWeb UI を組み込んだ axum の HTTP / WebSocket サーバ
wpg-cliコマンドライン本体 (serve、send、render、import、template、doctor など)。成果物は wpg バイナリ
wpg-webLeptos (CSR) の Web UI。Trunk で WASM にコンパイルする ○
dpdk-sysDPDK (24.11 / 23.11 LTS) の生の FFI。bindgen で生成し、インラインの高速パス (rte_eth_tx_burst、rte_pktmbuf_alloc など) と rte_errno は C の shim (wpg_ 接頭辞) で包む。link feature を付けたときだけ中身が入る (wpg-tx の dpdk から有効化)。ADR-0004
wpg-testutilテスト補助: pcap / pcapng の読み書き、16 進ヘルパー、golden ファイルの突合 (非公開)
さらに wpg-golden-tests が golden pcap のバイト突合と tshark 突合を担います (cargo test -p wpg-golden-tests)。
wpg-core・wpg-protocols・wpg-i18n・wpg-web は Web UI のためにブラウザ (wasm32-unknown-unknown) でもビルドできる必要があります。この 4 クレートではファイル I/O やスレッド、OS 依存のクレートを使わないでください。CI と just check-wasm が次を実行して保証します。
cargo check -p wpg-core -p wpg-protocols -p wpg-i18n --target wasm32-unknown-unknown
送信や OS の情報取得 (wpg-tx、wpg-sys) はネイティブ専用です。合成・解析ロジックを足すときは、OS 非依存の wpg-core に置けないか先に検討してください。
コアのプロトコルは Rust マクロ (crates/wpg-protocols/src/) で定義し、同一の IR にコンパイルされます。IR から合成、解析、GUI エディタ、リファレンスドキュメントが生成されます。新しいプロトコルには、定義、Fluent 文字列、サンプルテンプレート、golden pcap、可能であれば tshark 突合テストが必要です。これにより、プロトコル追加のコストを一定に保ちます。
定義する。 crates/wpg-protocols/src/ の該当モジュール (例: アプリ層なら app.rs) にマクロでプロトコルを足し、カタログに登録します。フィールドには desc = "key" で Fluent キーを付けます。近似に逃げる前に、下の「定義の部品」で表現できないか確認してください。
Fluent 文字列を足す。 プロトコル名と各フィールドの desc キーを locales/*/main.ftl の全言語に追加します (i18n 文字列の追加手順 )。
サンプルテンプレートを置く。 templates/protocols/<group>/ に .wpg.yaml を 1 つ以上追加します。descriptions の ja / en と protocol: / layer: タグを付けます。samples.rs のテストが、全プロトコルにサンプルがあること、整形式サンプルが同じスタックに読み戻せることを検査します。
golden を再生成する。 just golden-update で tests/golden/*.hex / *.pcap を作り直し、差分を確認します。.hex / .pcap は手で編集しないでください。
突合する。 tshark があれば WPG_TSHARK=1 cargo test -p wpg-golden-tests -- --ignored で Wireshark と突き合わせます。
補足ドキュメントを更新する。 近似が残る場合やカプセル化が特殊な場合は docs/{ja,en}/src/protocols/ に ja / en そろえて追記します。
リファレンスを再生成する。 just docs-gen でプロトコルリファレンス などを作り直してコミットします (下の「リファレンスドキュメント」)。
プッシュ前のチェック (CLAUDE.md) をすべて通します。
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace --no-fail-fast
cargo check -p wpg-core -p wpg-protocols -p wpg-i18n --target wasm32-unknown-unknown
近似 (opaque なバイト列や Manual 固定) に逃げる前に、次の部品で表現できないか確認してください。
目的 部品 例
要素数フィールド auto = count(list_field) (リスト要素・TLV 値の中でも可。count(list_field, adjust = -1) で「最後の要素の位置」)IGMPv3 num_group_records、VRRP count_ip_addrs、SRH last_entry
一部を除いたチェックサム auto = checksum(kind, coverage, exclude = [field])OSPFv2 authentication、LSA ls_age
後続の可変長フィールドのオクテット数 auto = size(field) (リスト要素・TLV 値の中でも可)IS-IS のサブ TLV 長
ceil(ビット数 / 8) オクテットのプレフィックスbytes(from = len, adjust = 7, div = 8) (Length::FromField { div })IS-IS 拡張 IP / IPv6 到達性
可変長要素 N 個のリスト Length::Count { field }IS-IS の省略可能なサブ TLV ブロック (S ビット)
可変長フィールドの後、ヘッダ長フィールドの位置で終わる領域 Length::UntilOffset { field, unit, adjust } (終わりは field * unit + adjust)長さ指示子までの CLNP / ES-IS オプション、SRH の TLV (hdr_ext_len * 8 + 8)、GTPv2-C の IE (長さは 5 オクテット目から: adjust = 4)、RTCP (ワード数 − 1: unit = 4, adjust = 4)
末尾の N オクテットを残す領域 Length::ToEndExcept { octets }ICV の前までの MACsec セキュアデータ
終端オクテット列で終わるテキスト / リスト Length::Until { terminator } (bytes: 終端まで、値は終端を含まない。list: 要素の先頭が終端になるまで)SIP の CRLF で終わる行と空行、null オクテットで終わる RTCP SDES 項目
TLV の型と長さの間にある値オクテット TlvDef::head_octetsSCTP チャンクのフラグ
N オクテット境界まで詰める TLV 項目 (詰め物は長さに含めない) TlvDef::align (unpadded_last: 最後の項目は外側の項目が詰める)SCTP のチャンク・パラメータ・エラー原因
同じタイプで値によってレイアウトが変わる TLV 項目 TlvVariant::when_value_starts / when_value_len (タイプを共有するバリアント。判別条件のないものが既定)AFI / SAFI ごとの BGP MP_REACH_NLRI、3 / 4 オクテットの OSPF SR の SID、EVPN の IPv4 / IPv6 IP Prefix ルート
長さが型より前にある TLV 項目 TlvDef::len_first (head_octets / long_length とは併用不可)RSVP オブジェクト (長さ、Class-Num、C-Type)
長さの直後にあり長さに数えない TLV の値オクテット TlvDef::uncounted_octets (ヘッダを含まない長さのときのみ)GTPv2-C IE のスペア / インスタンスのオクテット
End 項目で終わり、その後に詰め物が続く TLV 列 Length::UntilTlv { type_value } (tlv フィールドのみ)CFM、802.3ah OAM の TLV (End TLV 0)
TLV の長さを広げるタイプのフラグ TlvDef::long_length (TlvLongLength { flag, len_bits }。値が長すぎると自動で付く)BGP の Extended Length パス属性
指定 PDU 長まで埋め草 TLV で埋める TlvDef::fill (TlvFill { variant, until })IS-IS Hello の Padding TLV
NUL 終端文字列 cstring 型TFTP filename / mode
長さ指示子付き OSI アドレス nsap 型 (長さオクテットは自動)CLNP / ES-IS / IS-IS の NSAP・NET
送信元ポートでも demux Binding::alt_fieldUDP / TCP の src_port
ペイロード先頭ビットで demux Binding::peek (Peek { on, bits, table }。skipping(n) で先頭 n ビットを飛ばしてから読む)MPLS、GTP-U、OSI (NLPID)、IPv6 ルーティングタイプ (skip = 16)
上位層チェックサムの宛先を置き換えるルーティングヘッダ ProtocolDef::final_destination (FinalDestination { list, when }: when が 0 以外のとき list の要素 0 を疑似ヘッダの宛先に)SRv6 SRH
長さだけが違うメッセージ BindingEntry::with_min_lenIGMPv3 / MLDv2 クエリ
同じ番号でレイアウト違い BindingEntry::reparsingVRRPv2/v3、HSRPv1/v2、TFTP
評価順などの詳細は仕様 docs/spec/02-packet-builder.md の「次プロトコルの選択」を参照してください。
プロトコルリファレンス は定義から自動生成します。just docs-gen (cargo run -p wpg-cli -- docs gen) を実行して結果をコミットしてください。新しいプロトコル、フィールド、バインディング、サンプルテンプレートは自動で反映され、フィールド説明は desc = "..." の Fluent キー (ja / en) から取ります。手書きの補足は docs/{ja,en}/src/protocols/ に書き、プロトコル ID をバッククォートで書けば (`isis_l1_lsp`)、生成ツールが双方向のリンクを張ります。コミット済みのページが古いと、テスト generated_docs_are_up_to_date (wpg-cli) が失敗します。
ユーザーに見える文字列は、サーバ・CLI・Web UI (エラーメッセージを含む) のいずれでも直書きせず、Fluent のキーにします。文字列は wpg-i18n クレートが扱い、locales/<lang>/main.ftl の Fluent ファイルから include_str! で埋め込まれます (ブラウザでも動くようファイル I/O はありません)。対応言語は日本語 (ja)・英語 (en)・中国語簡体字 (zh-CN)・中国語繁体字 (zh-TW)・韓国語 (ko)・ドイツ語 (de)・フランス語 (fr)・スペイン語 (es) の 8 つです。
マニュアル (mdBook) と wpg docs gen が生成するリファレンス、同梱テンプレートの説明 (meta.descriptions) は日本語と英語だけです。テンプレートに表示言語の説明が無いときは英語の説明を表示します。
locales/*/main.ftl の すべて (8 言語) に、同じキーで 1 行ずつ足します。英語が基準かつフォールバックです。プレースホルダ ({ $name }) とバッククォートで囲んだコード・ID は翻訳せずにそのまま残します。
# locales/en/main.ftl
send-done = Sent { $packets } packets in { $elapsed }
# locales/ja/main.ftl
send-done = { $packets } パケットを { $elapsed } で送信しました
# locales/de/main.ftl (zh-CN / zh-TW / ko / fr / es も同様)
send-done = { $packets } Pakete in { $elapsed } gesendet
コードから参照します。引数が無ければ t、あれば t_args を使います。
#![allow(unused)]
fn main() {
use wpg_i18n::{t, t_args, FluentArgs, Locale};
let s = t(locale, "error-not-found");
let mut args = FluentArgs::new();
args.set("packets", 1022);
args.set("elapsed", "0.5s");
let s = t_args(locale, "send-done", &args);
}
未定義のキーは、英語へ、最後はキー名そのものへフォールバックします。{ $name } のプレースホルダ名は呼び出し側との契約なので、翻訳で変えないでください。
すべての言語の .ftl は 同じキー集合 でなければなりません。wpg-i18n のユニットテストがこれを検査し、どれかの言語にキーが欠けていたり、英語に無いキーがあったりすると失敗します。
cargo test -p wpg-i18n
これが仕様 (docs/spec/11-risks.md) の「i18n 抜け漏れ 0 (lint)」にあたります。専用の wpg サブコマンドはありません。同じテストで、プロトコルカタログのフィールド説明キーがすべて存在すること、使われていないキーが無いこと (no_unused_keys: どのソースからも参照されないキーは削除します。実行時に接頭辞から組み立てる docgen-* と rtcp-* は対象外) も検査します。CI では cargo test --workspace の一部として走ります。GUI の E2E (just e2e、e2e/README.md ) はブラウザ上での言語切替も確認します。
プロトコル定義 (wpg-protocols) のフィールドに付ける desc = "key" は Fluent キーです。プロトコルを足したら、その desc キーをすべての言語の .ftl に追加します (CONTRIBUTING.ja.md の「プロトコルの追加」、プロトコルの追加手順 )。
#![allow(unused)]
fn main() {
// crates/wpg-protocols/src/app.rs
op: enum(8) { 1 => boot_request, 2 => boot_reply } = 1, desc = "dhcp-op";
}
# locales/*/main.ftl
dhcp-op = ...
診断 (diag-*)・lint (lint-*) のメッセージも同じ仕組みです。引数名 ({ $field } など) は wpg-core の diag::keys との契約です。
locales/<tag>/main.ftl を作り、全キーを翻訳します (<tag> は BCP 47 の言語タグ。例: pt-BR)。
wpg-i18n の Locale に変種を追加し、Locale::ALL・as_str()・source()・from_langid (Accept-Language や LANG からの判定) に足します (crates/wpg-i18n/src/lib.rs の doc コメント参照)。
言語名のキー ui-lang-<tag> (その言語自身での名前。例: ui-lang-pt-br = Português (Brasil)) をすべての .ftl に足し、crates/wpg-web/src/i18n.rs の locale_label_key に対応を追加します。ヘッダと設定画面の言語メニューに自動で並びます。
cargo test -p wpg-i18n -p wpg-web でキーの抜けが無いことを確認します。
言語の判定は、Web UI では保存済みの設定、なければブラウザの navigator.languages、API では Accept-Language、CLI では LC_ALL / LC_MESSAGES / LANG の順です。中国語は文字体系と地域で振り分け、zh-Hant・zh-TW・zh-HK・zh-MO は繁体字、それ以外の zh は簡体字になります。対応していない言語は英語になります。
ワークスペースは単一バージョンです (Cargo.toml の [workspace.package] version。各クレートは version.workspace = true)。セマンティックバージョニング に従い、v1.0 までは破壊的変更があり得ます。
タグを打つ前に、次がすべて緑であることを確認します。普段の「プッシュ前のチェック」(CLAUDE.md) に加えて、プロトコルとセキュリティ、ドキュメントのゲートがあります。
# プッシュ前のチェック
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace --no-fail-fast
cargo check -p wpg-core -p wpg-protocols -p wpg-i18n --target wasm32-unknown-unknown
# プロトコル (golden pcap と tshark 突合)
cargo test -p wpg-golden-tests
WPG_TSHARK=1 cargo test -p wpg-golden-tests -- --ignored
# セキュリティ (just audit / just deny)
cargo audit
cargo deny check
ROADMAP.ja.md の v1.0 リリース判定 (M12) では、これに加えて次を満たします。
P0 + P1 プロトコルの golden pcap と tshark 突合がすべて緑。
3 OS でビルド・起動・pcap バックエンド送出が確認できている。
GUI の E2E (just e2e) が緑、i18n の全言語の抜け漏れが 0 (cargo test -p wpg-i18n)。
UI を変えたときは docs/{ja,en}/src/images/ のスクリーンショットとビルダーの GIF を just screenshots で再生成する (コミット前に目で確認)。
ドキュメントが ja / en そろっており、docs/build.sh が通る。
CHANGELOG.md が更新されている。
ゲートをすべて通す (上記)。
CHANGELOG.md の Unreleased の項目を新しいバージョンの節 (## [X.Y.Z] - YYYY-MM-DD) に移し、前回のタグ以降の変更を Conventional Commits から補う。アップグレード時の注意 (テンプレートスキーマ、データベース、設定の変更。アップグレード を参照) も書く。
Cargo.toml のワークスペースバージョン (と [workspace.dependencies] の内部 wpg-* の version) を上げ、Cargo.lock を更新する (cargo check)。
release: vX.Y.Z でコミットし、注釈付きタグ vX.Y.Z を打つ (git tag -a vX.Y.Z -m "wpg X.Y.Z")。
タグをプッシュする (git push origin vX.Y.Z)。.github/workflows/release.yml がアーカイブをビルドし、SHA256SUMS を書き、自動生成のノート付きで GitHub Release を作成するので、その後ノートを編集する。ハイフンを含むタグ (v1.0.0-rc.1) はプレリリースになる。タグがワークスペースのバージョンと一致しないと scripts/release.sh が失敗する。
ワークフローを手動実行 (workflow_dispatch) したとき、またはパッケージングに関わるファイル (scripts/release.sh、scripts/smoke-archive.sh、scripts/build.ps1、packaging/、Docker のファイル、ワークフロー自身、Npcap の読み込みコード) を変える PR では、何も公開せずにアーカイブをビルド・テストしてワークフローの artifact として残します。パイプラインの確認に使ってください。
リリースは .github/workflows/release.yml がビルドします。各ターゲットをそれぞれのランナーで scripts/release.sh がビルドして scripts/smoke-archive.sh で確認し、さらに各 OS でアーカイブを試すジョブ (下記) が走ります。ほかのジョブがすべて通ると、最後のジョブがすべてのアーカイブと SHA256SUMS ファイルを付けた GitHub Release を公開します。リリースビルドの trunk はワークフローでバージョンを固定しているので、同じタグを再実行しても同じ Web UI がビルドされます。
アーカイブ ランナー feature 補足
wpg-<ver>-x86_64-unknown-linux-gnu.tar.gzubuntu-22.04(なし) glibc 2.35 でリンクするので、Ubuntu 22.04 / Debian 12 以降で動きます。afpacket で送信するので libpcap は不要です
wpg-<ver>-aarch64-apple-darwin.tar.gzmacos-14pcapApple シリコン。libpcap は macOS に標準で入っています
wpg-<ver>-x86_64-apple-darwin.tar.gzmacos-14 (クロス)pcapIntel Mac
wpg-<ver>-x86_64-pc-windows-msvc.zipwindows-latestpcapNpcap が無くても起動します。送信には Npcap が必要です
各アーカイブには、wpg / wpg.exe (Web UI を組み込み済み)、README.md、README.ja.md、CHANGELOG.md、2 つのライセンス、templates/、packaging/ (systemd、launchd、Windows サービスのサンプル) が入ります。macOS と Windows は libpcap / Npcap でしか送信できないため、この 2 つは pcap feature 付きでビルドします。Windows では release.sh が wpcap.lib をリンクするために Npcap SDK (バージョンと SHA-256 はスクリプトに固定、target/ にキャッシュ) をダウンロードします。SDK は同梱しません。wpg.exe は wpcap.dll を遅延ロードする (crates/wpg-cli/build.rs) ので、Npcap の無いマシンでも起動し、wpg doctor を実行できます。署名と公証はしていません 。利用者が行う手順は macOS と Windows のインストールページを参照してください。
ジョブ 確認内容
build (<target>)scripts/smoke-archive.sh: .sha256 ファイル、アーカイブの中身、wpg --version、wpg doctor --json、wpg render、wpg serve が /api/health に応答し組み込みの UI を返すこと (クロスビルドの Intel macOS 版は中身のみ)
macOS (launchd, pcap)Apple シリコン版のアーカイブと launchd デーモンを サービスとして動かす のとおりに入れて /api/health を確認し、削除する。続けて feth ペアの片側で --backend pcap により 16 フレーム送信し、もう片側で wpg capture --backend pcap により受信する
Windows (scheduled task, no Npcap)wpg doctor が npcap チェックを失敗にすること、wpg send --backend pcap がクラッシュせずに「Npcap is not installed」で止まること、packaging\windows\wpg-service.ps1 でタスクを登録・起動 (/api/health で確認)・停止・削除できること、C:\ProgramData\wpg と wpg.toml を BUILTIN\Users が読めないこと
Windows (build.ps1)Npcap SDK を C:\Npcap-SDK に置いて (pcap が自動で付く) scripts\build.ps1 を実行し、できたバイナリを動かす
Docker (compose)docker compose up --build --wait、コンテナの /api/health と wpg doctor
ランナーには Npcap を無人インストールできない (サイレントインストールは OEM 版のみ) ため、Npcap 経由の送信は CI では確認できません。リリース前に Windows 実機で手動確認してください。
scripts/release.sh # ホストのターゲット、dist/ に出力
scripts/release.sh --target x86_64-apple-darwin # クロスターゲット (そのリンカ / SDK が必要)
scripts/release.sh --skip-frontend --features pcap # crates/wpg-web/dist を再利用
scripts/smoke-archive.sh dist/wpg-*.tar.gz # または: just smoke-archive <archive>
scripts/release.sh --checksums dist # dist/ のすべての SHA256SUMS
--skip-frontend を付けない限り trunk (cargo install trunk --locked) が必要です。crates/wpg-web/dist/index.html が無いとパッケージ化を拒否するので、Web UI の無いリリースが出ることはありません。Windows では Git Bash から実行します (7z か zip を使います)。
ロードマップでは cargo-dist を予定していました。小さなスクリプトにしたのは、wpg では cargo build の前に Trunk でフロントエンドをビルドする必要があり (UI は rust-embed で組み込まれる)、アーカイブにはバイナリの横にテンプレートとサービスファイルを入れるためです。cargo-dist でも独自のビルド前ステップと include で両方できますが、生成されたワークフローは cargo-dist を更新するたびに再生成が必要です。release.sh はローカルでも CI でも同じスクリプトです。インストーラ (shell / PowerShell / Homebrew / MSI) は作りません。必要になったら cargo-dist を再検討してください。
まだ行っていません。macOS の利用者は quarantine 属性を外す必要があります (macOS へのインストール )。Windows では SmartScreen が不明な発行元として警告することがあります (Windows へのインストール )。署名と公証には Apple Developer ID とコード署名証明書が必要ですが、プロジェクトはまだ持っていません。
困ったときはまず wpg doctor を実行してください。権限・インタフェース・カーネル・hugepages・Npcap / libpcap を 1 行ずつ診断し、OS 別の対処コマンドを表示します。wpg doctor --json はスクリプト向けに同じ内容を返し、チェックが fail のとき終了ステータスは 0 以外です。
チェック id 未達のときの状態 意味と対処
caps.raw_socketfail (Windows は Npcap の管理者専用モードしだい) raw ソケットの権限。Linux は CAP_NET_RAW / root、macOS は BPF アクセス、Windows は Npcap が管理者専用モードのときだけ管理者昇格。権限設定
iface.any_upwarn loopback 以外のインタフェースが carrier 付きで up。ケーブル / リンクを確認
kernel.af_xdpwarn AF_XDP バックエンド用にカーネル 5.10 以降
kernel.tpacket_v3warn カーネル 3.2 以降。なければ afpacket は sendmmsg にフォールバック
hugepageswarn Hugepages の設定。DPDK バックエンドでのみ必要
npcapfail / warn (Windows のみ) Npcap が導入され、wpcap.dll が System32\Npcap か System32 にあるか。他 OS では skip
backend.pcapfail (Windows、macOS) この wpg に pcap バックエンド (pcap feature) が組み込まれているか。Windows と macOS で送信できるのはこのバックエンドだけです。Windows で Npcap SDK なしでビルドするとここが fail になるので、SDK を C:\Npcap-SDK に展開して scripts\build.ps1 をもう一度実行します (Windows へのインストール )。macOS では scripts/build.sh をもう一度実行します。Linux では skip
pcap_libwarn libpcap が見つかること (pcap バックエンドで必要)。Windows と、バックエンドを組み込んでいないときは skip
webui.embeddedwarn wpg より先に Web UI がビルドされていたか。そうでなければ wpg serve は仮のページを表示します。scripts/build.sh (Windows は scripts\build.ps1) をもう一度実行します
各結果は ok / warn / fail / skip (この OS では対象外) のいずれかです。
生ソケットの送信には権限が必要です。wpg doctor を実行し、caps.raw_socket の行に表示されるコマンド (Linux なら sudo setcap cap_net_raw,cap_net_admin+ep $(command -v wpg) など) を実行してください。file capability はバイナリを置き換えると失われます。権限設定 を参照してください。
average が目標を下回り dropped が多いときは、バックエンドが追い付いていません。--burst を上げる、afpacket で --qdisc-bypass を使う、--workers を増やす (1 ワーカー = 1 コア) を試してください。性能チューニング 。
--rate 50% は、リンク速度の分かる実インタフェースが必要です。lo では Cannot determine the link speed になります。絶対値 (1Gbps など) を指定してください。
null バックエンドの unlimited は、フレームを作る速さの測定であり、ネットワークの数値ではありません。
--backend null (作って数えるだけ)、または --backend pcapfile -i out.pcapng (ファイルに書き出し) で予行演習できます。wpg render FILE -o out.pcapng も送信せず pcapng を書き出します。
wpg template lint FILE が、未知のフィールド・範囲外の値・ジェネレータの書式誤り・長さ / チェックサムの不一致を報告します。わざと壊したテンプレート (templates/malformed/) は警告 (diag-*) 止まりで、送信はできます。
wpg import → wpg render の往復はバイト単位で一致します (タイムスタンプは wpg が独自に付けるため異なります)。diff <(tshark -r a.pcapng -x) <(tshark -r b.pcapng -x) で確認できます。
golden pcap の tshark 突合は WPG_TSHARK=1 cargo test -p wpg-golden-tests -- --ignored です。自分のキャプチャは tshark -r out.pcapng -V で、チェックサムが [correct] になることなどを確認できます。
言語は、GUI は設定画面、CLI は LANG / LC_MESSAGES / LC_ALL 環境変数 (POSIX の優先順)、API は Accept-Language ヘッダで切り替わります。文字列が未翻訳なら英語にフォールバックします。キーを足す手順は i18n 文字列の追加手順 を参照してください。
ここに無い問題は、wpg doctor --json の出力を添えて issue で報告してください。項目は報告に応じて追加します。
wpg は、ネットワークの検証・試験を目的としたツールです。使用してよいのは、自分が所有するネットワーク、または明示的に試験の許可を得たネットワークだけ です。
本ツールはステートレスに任意のフレームを高速に送出でき、ARP / ND スイープ、SYN / MAC フラッド、不正なフレームなど、運用中のネットワークを乱し得るトラフィックを生成できます。許可なくこれらを他者のネットワークや機器に対して行うことは、多くの国・地域で違法です。利用に伴う責任はすべて利用者が負います。
新しいテンプレートは、送信前に必ず予行演習用のバックエンド (--backend null、または -i out.pcapng を指定した pcapfile) で確認してください。
本番ネットワークから隔離したラボで試験してください (CML2 などの仮想環境が有用です。CML2 での注意点 )。
管理者設定の [tx] max_rate と allowed_ifaces で、使えるレートとインタフェースを制限できます (設定リファレンス )。
攻撃ツール化を目的とする変更は受け付けません (CONTRIBUTING.ja.md「責任ある利用」)。
本ソフトウェアは MIT または Apache-2.0 のデュアルライセンスで、どちらかを選んで利用できます。コントリビューションは、別段の表明がない限り同じデュアルライセンスで提供されたものとみなします (Developer Certificate of Origin。git commit -s で sign-off してください)。
依存クレートはそれぞれのライセンスに従います。一覧とライセンスポリシーは cargo deny check (deny.toml) で検査しています。
Web ターミナルの画面には xterm.js と、その fit / web-links / search アドオン (いずれも MIT ライセンス) を同梱しています。著作権表示とライセンス本文は crates/wpg-web/vendor/xterm/LICENSE にあり、wpg の配布物では /xterm/LICENSE として配信されます。
Windows の送信に使う Npcap は本ソフトウェアには同梱されず、利用者が npcap.com から入手し、同社の規約のもとでインストールする必要があります。再配布には別途ライセンスが必要な場合があります。
本ソフトウェアは、MIT / Apache-2.0 ライセンスに定めるとおり「現状のまま」提供され、明示黙示を問わずいかなる保証もありません。