# RFCs Tracks which RFCs are implemented, partially implemented, or only represented in the wire format layer. **Legend** - โœ… Implemented โ€” functional end-to-end - ๐ŸŸก Wire format only โ€” parsed and serialised correctly, but not yet acted on - โŒ Not implemented --- ## Core BGP ### RFC 4271 โ€” A Border Gateway Protocol 4 (BGP-4) https://datatracker.ietf.org/doc/html/rfc4271 The base protocol specification. | Section | Description | Status | |---------|-------------|--------| | ยง4.1 | Message framing (marker, length, type) | โœ… | | ยง4.2 | OPEN message | โœ… | | ยง4.3 | UPDATE message (path attributes, NLRI, withdrawn routes) | โœ… | | ยง4.4 | KEEPALIVE message | โœ… | | ยง4.5 | NOTIFICATION message (all error codes and subcodes) | โœ… | | ยง8 | FSM โ€” passive (inbound) side: OpenSent โ†’ OpenConfirm โ†’ Established | โœ… | | ยง8 | FSM โ€” active (outbound) side: Idle โ†’ Connect โ†’ Active | โŒ | | ยง9 | Decision process / best-path selection | โŒ | | ยง9 | RIB (Adj-RIB-In, Loc-RIB, Adj-RIB-Out) | โŒ | --- ## Capability and Session Extensions ### RFC 6793 โ€” BGP Support for Four-Octet Autonomous System (AS) Number Space https://datatracker.ietf.org/doc/html/rfc6793 | Feature | Status | |---------|--------| | `AS_TRANS` (23456) sentinel | โœ… | | `FourByteAsn` capability advertisement and parsing | โœ… | | 4-byte AS_PATH segment encoding/decoding via `ParserContext` | โœ… | | 4-byte ASN negotiation in FSM | โœ… | ### RFC 9072 โ€” Extended Optional Parameters Length for BGP OPEN Message https://datatracker.ietf.org/doc/html/rfc9072 | Feature | Status | |---------|--------| | Parsing extended-length OPEN (0xFF sentinel) | โœ… | | Serialising extended-length OPEN when options exceed 255 bytes | โœ… | ### RFC 2918 โ€” Route Refresh Capability for BGP-4 https://datatracker.ietf.org/doc/html/rfc2918 | Feature | Status | |---------|--------| | `RouteRefresh` capability advertisement | โœ… | | `ROUTE-REFRESH` message type (5) framing | โœ… | | AFI/SAFI payload parsing | โŒ | | Acting on received ROUTE-REFRESH (re-advertising routes) | โŒ | ### RFC 7313 โ€” Enhanced Route Refresh Capability for BGP-4 https://datatracker.ietf.org/doc/html/rfc7313 | Feature | Status | |---------|--------| | `EnhancedRouteRefresh` capability wire format | ๐ŸŸก | ### RFC 4724 โ€” Graceful Restart Mechanism for BGP https://datatracker.ietf.org/doc/html/rfc4724 | Feature | Status | |---------|--------| | `GracefulRestart` capability wire format | ๐ŸŸก | | Restart state and forwarding preserved across sessions | โŒ | ### RFC 9494 โ€” Long-Lived Graceful Restart for BGP https://datatracker.ietf.org/doc/html/rfc9494 | Feature | Status | |---------|--------| | `LongLivedGracefulRestart` capability wire format | ๐ŸŸก | ### RFC 8654 โ€” Extended Message Support for BGP https://datatracker.ietf.org/doc/html/rfc8654 | Feature | Status | |---------|--------| | `ExtendedMessage` capability wire format | ๐ŸŸก | | Raising `BGP_MAX_MSG_LEN` to 65535 when negotiated | โŒ | --- ## Multiprotocol and NLRI ### RFC 2858 โ€” Multiprotocol Extensions for BGP-4 https://datatracker.ietf.org/doc/html/rfc2858 | Feature | Status | |---------|--------| | `MultiProtocol` capability advertisement (IPv4 unicast) | โœ… | | `MP_REACH_NLRI` path attribute (parse, serialise) | โœ… | | `MP_UNREACH_NLRI` path attribute (parse, serialise) | โœ… | | IPv4 and IPv6 next-hop encoding | โœ… | ### RFC 8950 โ€” Advertising IPv4 Network Layer Reachability Information (NLRI) with an IPv6 Next Hop https://datatracker.ietf.org/doc/html/rfc8950 | Feature | Status | |---------|--------| | `ExtendedNextHop` capability wire format | ๐ŸŸก | --- ## Path Attributes and Communities ### RFC 1997 โ€” BGP Communities Attribute https://datatracker.ietf.org/doc/html/rfc1997 | Feature | Status | |---------|--------| | `COMMUNITIES` path attribute (parse, serialise) | โœ… | ### RFC 4360 โ€” BGP Extended Communities Attribute https://datatracker.ietf.org/doc/html/rfc4360 | Feature | Status | |---------|--------| | `EXTENDED_COMMUNITIES` path attribute (parse, serialise) | โœ… | | AS-specific, IPv4-address-specific, opaque, route-target, route-origin subtypes | โœ… | ### RFC 8092 โ€” BGP Large Communities Attribute https://datatracker.ietf.org/doc/html/rfc8092 | Feature | Status | |---------|--------| | `LARGE_COMMUNITIES` path attribute (parse, serialise) | โœ… | --- ## Other Capabilities (Wire Format Only) The following capabilities are parsed and serialised correctly but have no functional behaviour implemented beyond that. | RFC | Capability | Status | |-----|-----------|--------| | RFC 5291 | Outbound Route Filtering (ORF) | ๐ŸŸก | | RFC 7911 | ADD-PATH | ๐ŸŸก | | RFC 8205 | BGPsec | ๐ŸŸก | --- ## Error Handling ### RFC 9687 โ€” BGP Send Hold Timer https://datatracker.ietf.org/doc/html/rfc9687 | Feature | Status | |---------|--------| | `SendHoldTimer` error code (8) defined | โœ… | | Send hold timer enforcement | โŒ |