Expand description
BGP-4 (Border Gateway Protocol version 4) dissector.
§References
- RFC 4271 (BGP-4): https://www.rfc-editor.org/rfc/rfc4271
- RFC 1997 (Communities): https://www.rfc-editor.org/rfc/rfc1997
- RFC 2918 (Route Refresh): https://www.rfc-editor.org/rfc/rfc2918
- RFC 4360 (Extended Communities): https://www.rfc-editor.org/rfc/rfc4360
- RFC 4456 (Route Reflection): https://www.rfc-editor.org/rfc/rfc4456
- RFC 4486 (Cease NOTIFICATION subcodes): https://www.rfc-editor.org/rfc/rfc4486
- RFC 4760 (Multiprotocol Extensions): https://www.rfc-editor.org/rfc/rfc4760
- RFC 6793 (4-octet AS Numbers): https://www.rfc-editor.org/rfc/rfc6793
- RFC 7313 (Enhanced Route Refresh): https://www.rfc-editor.org/rfc/rfc7313
- RFC 8092 (Large Communities): https://www.rfc-editor.org/rfc/rfc8092
- RFC 8203 (Hard Reset Cease subcode): https://www.rfc-editor.org/rfc/rfc8203
- RFC 8654 (Extended Message): https://www.rfc-editor.org/rfc/rfc8654
- RFC 8669 (BGP Prefix-SID): https://www.rfc-editor.org/rfc/rfc8669
- RFC 9012 (Tunnel Encapsulation / Color): https://www.rfc-editor.org/rfc/rfc9012
- RFC 9072 (Extended Optional Parameters Length): https://www.rfc-editor.org/rfc/rfc9072
- RFC 9252 (SRv6 BGP Services): https://www.rfc-editor.org/rfc/rfc9252
- draft-ietf-bess-mup-safi-00 (MUP SAFI): https://datatracker.ietf.org/doc/draft-ietf-bess-mup-safi/
§RFC 4271 (BGP-4) Coverage
| RFC Section | Description | Test |
|---|---|---|
| 4.1 | Message Header | parse_bgp_keepalive |
| 4.1 | Marker validation | parse_bgp_invalid_marker |
| 4.1 | Truncated header | parse_bgp_truncated_header |
| 4.2 | OPEN Message | parse_bgp_open_basic |
| 4.2 | OPEN with Capabilities | parse_bgp_open_with_capabilities |
| 4.2 | Truncated OPEN | parse_bgp_truncated_open |
| 4.3 | UPDATE Withdrawn Routes | parse_bgp_update_withdraw |
| 4.3 | UPDATE Path Attributes + NLRI | parse_bgp_update_announce |
| 4.3 | NLRI prefix CIDR formatting | format_nlri_ipv4_prefix_cidr |
| 4.5 | NOTIFICATION | parse_bgp_notification |
| 5.1.1 | ORIGIN | parse_bgp_update_origin |
| 5.1.2 | AS_PATH | parse_bgp_update_as_path |
| 5.1.3 | NEXT_HOP | parse_bgp_update_next_hop |
| 5.1.4 | MULTI_EXIT_DISC | parse_bgp_update_multi_exit_disc |
| 5.1.5 | LOCAL_PREF | parse_bgp_update_local_pref |
| 5.1.6 | ATOMIC_AGGREGATE | parse_bgp_update_atomic_aggregate |
| 5.1.7 | AGGREGATOR (2-byte AS) | parse_bgp_update_aggregator_2byte_as |
| 4.1 | Multiple messages per segment | parse_bgp_multiple_messages |
| 4.2+4.4 | OPEN followed by KEEPALIVE | parse_bgp_open_followed_by_keepalive |
| 4.3 | Unknown attribute (raw bytes) | parse_bgp_update_unknown_attribute |
§RFC 6793 (4-octet AS Numbers) Coverage
| RFC Section | Description | Test |
|---|---|---|
| 3 | AGGREGATOR (4-byte AS) | parse_bgp_update_aggregator_4byte_as |
| 3 | AS4_PATH | parse_bgp_update_as4_path |
| 3 | AS4_AGGREGATOR | parse_bgp_update_as4_aggregator |
§RFC 1997 Coverage
| RFC Section | Description | Test |
|---|---|---|
| 3 | COMMUNITIES | parse_bgp_update_communities |
§RFC 2918 Coverage
| RFC Section | Description | Test |
|---|---|---|
| 3 | ROUTE-REFRESH | parse_bgp_route_refresh |
§RFC 7313 (Enhanced Route Refresh) Coverage
| RFC Section | Description | Test |
|---|---|---|
| 4 | Message Subtype (BoRR) | parse_bgp_route_refresh_subtype_borr |
§RFC 9072 (Extended Optional Parameters Length) Coverage
| RFC Section | Description | Test |
|---|---|---|
| 2 | Extended OPEN encoding + 2-octet param length | parse_bgp_open_extended_optional_parameters |
§RFC 4486 / RFC 8203 (Cease NOTIFICATION subcodes) Coverage
| RFC Section | Description | Test |
|---|---|---|
| RFC 4486 §4 | Cease subcodes 1–8 + RFC 8203 §4 subcode 9 | parse_bgp_notification_cease_subcode_name |
§RFC 4360 / RFC 9012 Coverage
| RFC Section | Description | Test |
|---|---|---|
| 2 | Extended Communities + Color | parse_bgp_update_extended_communities |
| 2 | IPv4 Address Specific Route Target | parse_bgp_update_extended_communities_ipv4_route_target |
| 2 | Route Origin (Two-Octet AS) | parse_bgp_update_extended_communities_route_origin |
| 2 | IPv4 Address Specific Route Origin | parse_bgp_update_extended_communities_ipv4_route_origin |
| 2 | EVPN Extended Community | parse_bgp_update_extended_communities_evpn |
| 2 | Unknown Extended Community | parse_bgp_update_extended_communities_unknown |
§RFC 4456 (Route Reflection) Coverage
| RFC Section | Description | Test |
|---|---|---|
| 8 | ORIGINATOR_ID | parse_bgp_update_originator_id |
| 8 | CLUSTER_LIST | parse_bgp_update_cluster_list |
§RFC 4760 Coverage
| RFC Section | Description | Test |
|---|---|---|
| 3 | MP_REACH_NLRI (IPv6) | parse_bgp_update_mp_reach_ipv6 |
| 3 | MP_REACH_NLRI (IPv6 link-local NH) | parse_bgp_update_mp_reach_ipv6_link_local |
| 4 | MP_UNREACH_NLRI (IPv6) | parse_bgp_update_mp_unreach_ipv6 |
| 4 | MP_UNREACH_NLRI (IPv4) | parse_bgp_update_mp_unreach_ipv4 |
| 3 | IPv6 NLRI prefix CIDR formatting | format_nlri_ipv6_prefix_cidr |
§draft-ietf-bess-mup-safi-00 Coverage
| Section | Description | Test |
|---|---|---|
| 3 | MUP NLRI (Interwork Segment Discovery) | parse_bgp_update_mup_interwork_segment_discovery |
| 3.3 | Type 1 ST (3GPP 5G) | parse_bgp_update_mup_type1_st |
§RFC 8092 Coverage
| RFC Section | Description | Test |
|---|---|---|
| 2 | LARGE_COMMUNITY | parse_bgp_update_large_community |
§RFC 8669 (BGP Prefix-SID) Coverage
| RFC Section | Description | Test |
|---|---|---|
| 3.1 | Label-Index TLV | parse_bgp_prefix_sid_label_index |
| 3.2 | Originator SRGB TLV | parse_bgp_prefix_sid_originator_srgb |
| 3 | Multiple TLVs | parse_bgp_prefix_sid_multiple_tlvs |
| 3 | Unknown TLV | parse_bgp_prefix_sid_unknown_tlv |
| 6 | Truncated TLV handling | parse_bgp_prefix_sid_truncated |
§RFC 9252 (SRv6 BGP Services) Coverage
| RFC Section | Description | Test |
|---|---|---|
| 2 | SRv6 L3 Service TLV | parse_bgp_prefix_sid_srv6_l3_service |
| 2 | SRv6 L2 Service TLV | parse_bgp_prefix_sid_srv6_l2_service |
| 3.1 | SRv6 SID Information Sub-TLV | parse_bgp_prefix_sid_srv6_l3_service |
| 3.2.1 | SRv6 SID Structure Sub-Sub-TLV | parse_bgp_prefix_sid_srv6_sid_structure |
Structs§
- BgpDissector
- BGP-4 dissector.