BGP UPDATE (bgp_update)
- レイヤ: アプリケーション・制御
- ヘッダ: 可変長
下位レイヤからの到達
| 下位レイヤ | 判別フィールド | 値 |
|---|---|---|
bgp | type | 2 (0x02) |
フィールド
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
withdrawn_routes_length | uint(16) | withdrawn_routes のオクテット長 | 撤回経路の長さ (オクテット、自動)。 | |
withdrawn_routes | list<struct> — withdrawn_routes_length オクテット | [] | 撤回する IPv4 経路 (ビット単位のプレフィックス長, プレフィックス)。 | |
total_path_attribute_length | uint(16) | path_attributes のオクテット長 | パス属性の長さ (オクテット、自動)。 | |
path_attributes | tlv — total_path_attribute_length オクテット | 3 要素 | パス属性 (フラグ + タイプコード。Extended Length フラグ付きなら長さは 16 ビットで、255 オクテットを超えると自動で付く)。 | |
nlri | list<struct> — PDU の残りすべて | 1 要素 | 広告する IPv4 経路 (ビット単位のプレフィックス長, プレフィックス)。他のファミリは MP_REACH_NLRI に入れる。 |
withdrawn_routes
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
prefix | bytes — (length + 7) / 8 オクテット |
path_attributes
- タイプ 16 ビット、長さ 8 ビット。
- 長さは値の部分だけを数えます。
- タイプのビット 0x1000 が立つと長さは 16 ビットになります。
- 未知のタイプは値をオクテット列のまま保持します。
| タイプ値 | 名前 | 値のフィールド | 説明 |
|---|---|---|---|
| 16385 (0x4001) | origin | origin | |
| 16386 (0x4002) | as_path | segments | |
| 16387 (0x4003) | next_hop | next_hop | |
| 32772 (0x8004) | multi_exit_disc | med | |
| 16389 (0x4005) | local_pref | local_pref | |
| 16390 (0x4006) | atomic_aggregate | ||
| 49159 (0xc007) | aggregator | asn, address | |
| 49160 (0xc008) | communities | values | |
| 32782 (0x800e) | mp_reach_ipv4_unicast | afi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 01 01 で始まるとき | |
| 32782 (0x800e) | mp_reach_ipv6_unicast | afi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 02 01 で始まるとき | |
| 32782 (0x800e) | mp_reach_vpnv4 | afi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 01 80 で始まるとき | |
| 32782 (0x800e) | mp_reach_vpnv6 | afi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 02 80 で始まるとき | |
| 32782 (0x800e) | mp_reach_evpn | afi, safi, next_hop_length, next_hop, reserved, nlri; 値が 00 19 46 で始まるとき | |
| 32782 (0x800e) | mp_reach_nlri | afi, safi, next_hop_length, next_hop, reserved, nlri | |
| 32783 (0x800f) | mp_unreach_ipv4_unicast | afi, safi, withdrawn; 値が 00 01 01 で始まるとき | |
| 32783 (0x800f) | mp_unreach_ipv6_unicast | afi, safi, withdrawn; 値が 00 02 01 で始まるとき | |
| 32783 (0x800f) | mp_unreach_vpnv4 | afi, safi, withdrawn; 値が 00 01 80 で始まるとき | |
| 32783 (0x800f) | mp_unreach_vpnv6 | afi, safi, withdrawn; 値が 00 02 80 で始まるとき | |
| 32783 (0x800f) | mp_unreach_evpn | afi, safi, withdrawn; 値が 00 19 46 で始まるとき | |
| 32783 (0x800f) | mp_unreach_nlri | afi, safi, withdrawn | |
| 49168 (0xc010) | extended_communities | values | |
| 49184 (0xc020) | large_communities | values | |
| 49174 (0xc016) | pmsi_tunnel | flags, tunnel_type, mpls_label, tunnel_id |
path_attributes › origin
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
origin | uint(8) |
path_attributes › as_path
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
segments | list<struct> — PDU の残りすべて |
path_attributes › as_path › segments
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
segment_type | enum(8) | |||
segment_length | uint(8) | |||
asns | list<uint(32)> — segment_length * 4 オクテット |
path_attributes › as_path › segments › segment_type
| 値 | 名前 |
|---|---|
| 1 (0x01) | as_set |
| 2 (0x02) | as_sequence |
path_attributes › next_hop
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
next_hop | ipv4 |
path_attributes › multi_exit_disc
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
med | uint(32) |
path_attributes › local_pref
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
local_pref | uint(32) |
path_attributes › aggregator
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
asn | uint(32) | |||
address | ipv4 |
path_attributes › communities
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
values | list<uint(32)> — PDU の残りすべて |
path_attributes › mp_reach_ipv4_unicast
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 1 | ||
safi | uint(8) | 1 | ||
next_hop_length | uint(8) | next_hop のオクテット長 | ||
next_hop | list<ipv4> — next_hop_length オクテット | |||
reserved | uint(8) | |||
nlri | list<struct> — PDU の残りすべて |
path_attributes › mp_reach_ipv4_unicast › nlri
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
prefix | bytes — (length + 7) / 8 オクテット |
path_attributes › mp_reach_ipv6_unicast
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 2 | ||
safi | uint(8) | 1 | ||
next_hop_length | uint(8) | next_hop のオクテット長 | ||
next_hop | list<ipv6> — next_hop_length オクテット | |||
reserved | uint(8) | |||
nlri | list<struct> — PDU の残りすべて |
path_attributes › mp_reach_ipv6_unicast › nlri
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
prefix | bytes — (length + 7) / 8 オクテット |
path_attributes › mp_reach_vpnv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 1 | ||
safi | uint(8) | 128 | ||
next_hop_length | uint(8) | next_hop のオクテット長 | ||
next_hop | list<struct> — next_hop_length オクテット | |||
reserved | uint(8) | |||
nlri | list<struct> — PDU の残りすべて |
path_attributes › mp_reach_vpnv4 › next_hop
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
address | ipv4 |
path_attributes › mp_reach_vpnv4 › nlri
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
label | uint(20) | |||
exp | uint(3) | |||
bos | uint(1) | |||
rd | bytes(8) | |||
prefix | bytes — (length - 81) / 8 オクテット |
path_attributes › mp_reach_vpnv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 2 | ||
safi | uint(8) | 128 | ||
next_hop_length | uint(8) | next_hop のオクテット長 | ||
next_hop | list<struct> — next_hop_length オクテット | |||
reserved | uint(8) | |||
nlri | list<struct> — PDU の残りすべて |
path_attributes › mp_reach_vpnv6 › next_hop
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
address | ipv6 |
path_attributes › mp_reach_vpnv6 › nlri
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
label | uint(20) | |||
exp | uint(3) | |||
bos | uint(1) | |||
rd | bytes(8) | |||
prefix | bytes — (length - 81) / 8 オクテット |
path_attributes › mp_reach_evpn
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 25 | ||
safi | uint(8) | 70 | ||
next_hop_length | uint(8) | next_hop のオクテット長 | ||
next_hop | bytes — next_hop_length オクテット | |||
reserved | uint(8) | |||
nlri | tlv — PDU の残りすべて |
path_attributes › mp_reach_evpn › nlri
- タイプ 8 ビット、長さ 8 ビット。
- 長さは値の部分だけを数えます。
- 未知のタイプは値をオクテット列のまま保持します。
| タイプ値 | 名前 | 値のフィールド | 説明 |
|---|---|---|---|
| 1 (0x01) | ethernet_ad | rd, esi, ethernet_tag, mpls_label | |
| 2 (0x02) | mac_ip | rd, esi, ethernet_tag, mac_length, mac, ip_length, ip_address, labels | |
| 3 (0x03) | inclusive_multicast | rd, ethernet_tag, ip_length, originating_ip | |
| 4 (0x04) | ethernet_segment | rd, esi, ip_length, originating_ip | |
| 5 (0x05) | ip_prefix | rd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 34 オクテットのとき | |
| 5 (0x05) | ipv6_prefix | rd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 58 オクテットのとき |
path_attributes › mp_reach_evpn › nlri › ethernet_ad
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
mpls_label | uint(24) |
path_attributes › mp_reach_evpn › nlri › mac_ip
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
mac_length | uint(8) | |||
mac | mac | |||
ip_length | uint(8) | |||
ip_address | bytes — ip_length / 8 オクテット | |||
labels | list<uint(24)> — PDU の残りすべて |
path_attributes › mp_reach_evpn › nlri › inclusive_multicast
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
ethernet_tag | uint(32) | |||
ip_length | uint(8) | |||
originating_ip | bytes — ip_length / 8 オクテット |
path_attributes › mp_reach_evpn › nlri › ethernet_segment
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ip_length | uint(8) | |||
originating_ip | bytes — ip_length / 8 オクテット |
path_attributes › mp_reach_evpn › nlri › ip_prefix
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
ip_prefix_length | uint(8) | |||
ip_prefix | ipv4 | |||
gateway | ipv4 | |||
mpls_label | uint(24) |
path_attributes › mp_reach_evpn › nlri › ipv6_prefix
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
ip_prefix_length | uint(8) | |||
ip_prefix | ipv6 | |||
gateway | ipv6 | |||
mpls_label | uint(24) |
path_attributes › mp_reach_nlri
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | |||
safi | uint(8) | |||
next_hop_length | uint(8) | next_hop のオクテット長 | ||
next_hop | bytes — next_hop_length オクテット | |||
reserved | uint(8) | |||
nlri | bytes — PDU の残りすべて |
path_attributes › mp_unreach_ipv4_unicast
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 1 | ||
safi | uint(8) | 1 | ||
withdrawn | list<struct> — PDU の残りすべて |
path_attributes › mp_unreach_ipv4_unicast › withdrawn
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
prefix | bytes — (length + 7) / 8 オクテット |
path_attributes › mp_unreach_ipv6_unicast
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 2 | ||
safi | uint(8) | 1 | ||
withdrawn | list<struct> — PDU の残りすべて |
path_attributes › mp_unreach_ipv6_unicast › withdrawn
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
prefix | bytes — (length + 7) / 8 オクテット |
path_attributes › mp_unreach_vpnv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 1 | ||
safi | uint(8) | 128 | ||
withdrawn | list<struct> — PDU の残りすべて |
path_attributes › mp_unreach_vpnv4 › withdrawn
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
label | uint(20) | |||
exp | uint(3) | |||
bos | uint(1) | |||
rd | bytes(8) | |||
prefix | bytes — (length - 81) / 8 オクテット |
path_attributes › mp_unreach_vpnv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 2 | ||
safi | uint(8) | 128 | ||
withdrawn | list<struct> — PDU の残りすべて |
path_attributes › mp_unreach_vpnv6 › withdrawn
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
label | uint(20) | |||
exp | uint(3) | |||
bos | uint(1) | |||
rd | bytes(8) | |||
prefix | bytes — (length - 81) / 8 オクテット |
path_attributes › mp_unreach_evpn
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | 25 | ||
safi | uint(8) | 70 | ||
withdrawn | tlv — PDU の残りすべて |
path_attributes › mp_unreach_evpn › withdrawn
- タイプ 8 ビット、長さ 8 ビット。
- 長さは値の部分だけを数えます。
- 未知のタイプは値をオクテット列のまま保持します。
| タイプ値 | 名前 | 値のフィールド | 説明 |
|---|---|---|---|
| 1 (0x01) | ethernet_ad | rd, esi, ethernet_tag, mpls_label | |
| 2 (0x02) | mac_ip | rd, esi, ethernet_tag, mac_length, mac, ip_length, ip_address, labels | |
| 3 (0x03) | inclusive_multicast | rd, ethernet_tag, ip_length, originating_ip | |
| 4 (0x04) | ethernet_segment | rd, esi, ip_length, originating_ip | |
| 5 (0x05) | ip_prefix | rd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 34 オクテットのとき | |
| 5 (0x05) | ipv6_prefix | rd, esi, ethernet_tag, ip_prefix_length, ip_prefix, gateway, mpls_label; 値が 58 オクテットのとき |
path_attributes › mp_unreach_evpn › withdrawn › ethernet_ad
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
mpls_label | uint(24) |
path_attributes › mp_unreach_evpn › withdrawn › mac_ip
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
mac_length | uint(8) | |||
mac | mac | |||
ip_length | uint(8) | |||
ip_address | bytes — ip_length / 8 オクテット | |||
labels | list<uint(24)> — PDU の残りすべて |
path_attributes › mp_unreach_evpn › withdrawn › inclusive_multicast
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
ethernet_tag | uint(32) | |||
ip_length | uint(8) | |||
originating_ip | bytes — ip_length / 8 オクテット |
path_attributes › mp_unreach_evpn › withdrawn › ethernet_segment
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ip_length | uint(8) | |||
originating_ip | bytes — ip_length / 8 オクテット |
path_attributes › mp_unreach_evpn › withdrawn › ip_prefix
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
ip_prefix_length | uint(8) | |||
ip_prefix | ipv4 | |||
gateway | ipv4 | |||
mpls_label | uint(24) |
path_attributes › mp_unreach_evpn › withdrawn › ipv6_prefix
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
rd | bytes(8) | |||
esi | bytes(10) | |||
ethernet_tag | uint(32) | |||
ip_prefix_length | uint(8) | |||
ip_prefix | ipv6 | |||
gateway | ipv6 | |||
mpls_label | uint(24) |
path_attributes › mp_unreach_nlri
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
afi | uint(16) | |||
safi | uint(8) | |||
withdrawn | bytes — PDU の残りすべて |
path_attributes › extended_communities
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
values | list<uint(64)> — PDU の残りすべて |
path_attributes › large_communities
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
values | list<struct> — PDU の残りすべて |
path_attributes › large_communities › values
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
global_admin | uint(32) | |||
local_data1 | uint(32) | |||
local_data2 | uint(32) |
path_attributes › pmsi_tunnel
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
flags | uint(8) | |||
tunnel_type | enum(8) | |||
mpls_label | uint(24) | |||
tunnel_id | bytes — PDU の残りすべて |
path_attributes › pmsi_tunnel › tunnel_type
| 値 | 名前 |
|---|---|
| 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 |
nlri
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
length | uint(8) | |||
prefix | bytes — (length + 7) / 8 オクテット |
サンプルテンプレート
- bgp-update-evpn —
templates/protocols/routing/bgp-update-evpn.wpg.yaml - bgp-update-mp-ipv6 —
templates/protocols/routing/bgp-update-mp-ipv6.wpg.yaml - bgp-update-vpnv4 —
templates/protocols/routing/bgp-update-vpnv4.wpg.yaml - bgp-update —
templates/protocols/routing/bgp-update.wpg.yaml