BGP_AGGREGATE_ADDRESS テーブル¶
概要¶
BGP aggregate-address (集約広告) の設定テーブル。frr-mgmt-framework または bgpcfgd テンプレ経路で aggregate-address <prefix> [summary-only] [as-set] ... に変換される1。
VRF スコープ
YANG 定義のキーは aggregate-address のみで VRF スコープが取れない。MR 由来の初期実装で、BGP_GLOBALS の default VRF に対する集約として扱われる前提。複数 VRF 対応については HLD / 実装と整合性検証が要 (本ページは YANG 定義のみを根拠とする)。
データフロー (自動生成)¶
flowchart LR
CDB[("CONFIG_DB<br/>BGP_AGGREGATE_ADDRESS")]
DM["bgpcfgd"]
CDB --> DM
凡例
CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。
key 構造¶
<aggregate-address> は inet:ip-prefix (IPv4 / IPv6 prefix)。
主要フィールド¶
| フィールド | 型 | 既定 | 説明 |
|---|---|---|---|
bbr-required |
boolean | false | BBR (best route) entry が存在する場合のみ aggregate を生成 |
summary-only |
boolean | false | より詳細な経路を抑止し、集約のみ広告 |
as-set |
boolean | false | AS_SET path を含めて origin AS 情報を保持 |
aggregate-address-prefix-list |
string [0-9a-zA-Z_-]* (length 0..128) |
"" | 集約に含める prefix を絞る prefix list |
contributing-address-prefix-list |
string [0-9a-zA-Z_-]* (length 0..128) |
"" | contributing 経路を絞る prefix list |
購読者¶
関連 CONFIG_DB / YANG / CLI¶
- 関連 CONFIG_DB:
BGP_GLOBALS、PREFIX_SET - 関連 CLI:
vtysh -c "show ip bgp aggregate" - 関連 YANG:
sonic-bgp-aggregate-address
例外条件・特殊挙動¶
| 条件 | 挙動 |
|---|---|
| prefix が不正な IP アドレス形式 | validate_prefix() が None → STATE_DB に state=inactive、FRR 未投入 |
bbr-required=true かつ BBR 状態が不明 |
STATE_DB に state=inactive、skip |
bbr-required=true かつ BBR が disabled |
STATE_DB に state=inactive、skip |
| BBR が enabled に変化 | bbr-required=true の全アドレスを STATE_DB から読み出して FRR に再投入 |
| BBR が disabled に変化 | bbr-required=true の全アドレスを FRR から削除、STATE_DB を inactive に更新 |
DEL 操作で STATE_DB が inactive |
FRR への削除コマンドをスキップ |
DEVICE_METADATA.localhost.bgp_asn 未設定 |
KeyError が上位に伝播 |
| FRR push 失敗 | STATE_DB に state=inactive、再試行なし |
値依存挙動マトリクス¶
enum 型フィールド¶
該当無し (全フィールド boolean または freeform string)
boolean フィールド¶
| フィールド | true の効果 |
false の効果 |
evidence |
|---|---|---|---|
summary-only |
FRR aggregate-address <prefix> summary-only を生成。contributing route を BGP UPDATE から抑制 |
summary-only キーワードなし |
sonic-bgp-aggregate-address.yang; frr-mgmt-framework |
as-set |
aggregate-address <prefix> as-set を生成。AS_SET path 属性を付与 |
as-set キーワードなし |
sonic-bgp-aggregate-address.yang |
bbr-required |
BBR (BGP Best Route) エントリが存在する場合のみ aggregate を生成 | BBR 状態に依存しない | managers_aggregate_address.py:74 |
複合条件¶
bbr-required=trueかつ BBRdisabled→STATE_DBにstate=inactiveを書き込み FRR への反映をスキップ (managers_aggregate_address.py:80-81)summary-only=trueかつ contributing route が RIB に 0 本 → FRR で aggregate 生成されない (BGP 仕様)
関連リファレンス¶
引用元¶
運用ヒント¶
典型値¶
- key 形式:
BGP_GLOBALS_AF_AGGREGATE_ADDR|<vrf>|<af>|<prefix>。 as_set:false、summary_only:true(詳細経路を抑制して集約のみ広告)。
よくある誤設定¶
summary_only=trueのまま contributing route が無い状態で参照経路を期待しても集約広告されない。