Crate bgp_models

source ·
Expand description

bgp-models is a library that defines the basic BGP and MRT message data structures. This library aims to provide building blocks for downstream libraries working with BGP and MRT messages such as MRT bgpkit-parser or BGP table constructor.

Supported RFCs

Most of the structs defined in this library are named after the formal definitions in a number of RFCs. Here is a list of them:


  • RFC 2042: Registering New BGP Attribute Types
  • RFC 3392: Capabilities Advertisement with BGP-4
  • RFC 4271: A Border Gateway Protocol 4 (BGP-4)
  • RFC 5065: Autonomous System Confederations for BGP
  • RFC 6793: BGP Support for Four-Octet Autonomous System (AS) Number Space
  • RFC 7911: Advertisement of Multiple Paths in BGP (ADD-PATH)
  • RFC 9072: Extended Optional Parameters Length for BGP OPEN Message Updates
  • RFC 9234: Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages


  • RFC 6396: Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format
  • RFC 6397: Multi-Threaded Routing Toolkit (MRT) Border Gateway Protocol (BGP) Routing Information Export Format with Geo-Location Extensions
  • RFC 8050: Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format with BGP Additional Path Extensions


Extended Communities
  • RFC 4360: BGP Extended Communities Attribute
  • RFC 5668: 4-Octet AS Specific BGP Extended Community
  • RFC 5701: IPv6 Address Specific BGP Extended Community Attribute
  • RFC 7153: IANA Registries for BGP Extended Communities Updates 4360, 5701
  • RFC 8097: BGP Prefix Origin Validation State Extended Community
Large Communities

Other Informational

  • RFC 4384: BGP Communities for Data Collection BCP 114
  • RFC 8195: Use of BGP Large Communities (informational)
  • RFC 8642: Policy Behavior for Well-Known BGP Communities