コンテンツにスキップ

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 構造

BGP_AGGREGATE_ADDRESS|<aggregate-address>

<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

購読者

  • frr-mgmt-framework: CONFIG_DBFRR aggregate-address コマンド

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: BGP_GLOBALSPREFIX_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 かつ BBR disabledSTATE_DBstate=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: falsesummary_only: true(詳細経路を抑制して集約のみ広告)。

よくある誤設定

  • summary_only=true のまま contributing route が無い状態で参照経路を期待しても集約広告されない。

確認コマンド

sonic-db-cli CONFIG_DB keys 'BGP_GLOBALS_AF_AGGREGATE_ADDR|*'
vtysh -c 'show bgp ipv4 unicast'