Skip to content

Capabilities

Thomas Mangin edited this page Nov 13, 2025 · 2 revisions

BGP Capabilities

AFI/SAFI Support in ExaBGP

ExaBGP supports multiple Address Family Identifiers (AFI) and Subsequent Address Family Identifiers (SAFI) for different types of BGP routes. This page documents the capabilities ExaBGP advertises and supports.


Table of Contents


Address Family Identifiers (AFI)

AFI identifies the network layer protocol (IP version).

Supported AFIs

AFI Value Protocol RFC Support
IPv4 1 Internet Protocol version 4 RFC 4760 βœ… Full
IPv6 2 Internet Protocol version 6 RFC 4760 βœ… Full

ExaBGP supports both IPv4 and IPv6 for all applicable SAFI types.


Subsequent Address Family Identifiers (SAFI)

SAFI provides additional context about the type of routing information.

Supported SAFIs

SAFI Value Name RFC Support
Unicast 1 Unicast forwarding RFC 4760 βœ… Full
Multicast 2 Multicast forwarding RFC 4760 βœ… Full
NLRI-MPLS 4 MPLS Labels RFC 8277 βœ… Full
MPLS-VPN 128 MPLS/BGP VPN RFC 4364 βœ… Full
FlowSpec 133 Flow Specification RFC 5575, RFC 8955 βœ… Full
Flow-VPN 134 FlowSpec VPN RFC 5575 βœ… Full
EVPN 70 Ethernet VPN RFC 7432 βœ… Full
BGP-LS 71 BGP Link-State RFC 7752 βœ… Full
RT-Constrain 132 Route Target Constraint RFC 4684 βœ… Full

Supported AFI/SAFI Combinations

IPv4 Address Families

Family AFI SAFI Configuration Use Case
IPv4 Unicast 1 1 ipv4 unicast Standard IPv4 routing
IPv4 Multicast 1 2 ipv4 multicast IPv4 multicast routing
IPv4 MPLS 1 4 ipv4 nlri-mpls MPLS label distribution
IPv4 VPN (VPNv4) 1 128 ipv4 mpls-vpn MPLS L3VPN
IPv4 FlowSpec 1 133 ipv4 flow DDoS mitigation, traffic filtering
IPv4 Flow-VPN 1 134 ipv4 flow-vpn FlowSpec in VPN context

IPv6 Address Families

Family AFI SAFI Configuration Use Case
IPv6 Unicast 2 1 ipv6 unicast Standard IPv6 routing
IPv6 Multicast 2 2 ipv6 multicast IPv6 multicast routing
IPv6 MPLS 2 4 ipv6 nlri-mpls MPLS label distribution
IPv6 VPN (VPNv6) 2 128 ipv6 mpls-vpn MPLS L3VPN
IPv6 FlowSpec 2 133 ipv6 flow DDoS mitigation, traffic filtering
IPv6 Flow-VPN 2 134 ipv6 flow-vpn FlowSpec in VPN context

L2 Address Families

Family AFI SAFI Configuration Use Case
EVPN 25 (L2VPN) 70 l2vpn evpn Data center fabrics, VXLAN
VPLS 25 (L2VPN) 65 l2vpn vpls Virtual Private LAN Service

Special Purpose

Family AFI SAFI Configuration Use Case
BGP-LS 16388 71 bgp-ls bgp-ls Topology collection for SDN
RT-Constrain 1 132 ipv4 rtc Route Target filtering

Configuration

Enabling Address Families

In ExaBGP configuration:

neighbor 192.0.2.1 {
    router-id 192.0.2.2;
    local-address 192.0.2.2;
    local-as 65001;
    peer-as 65000;

    # Enable specific address families
    family {
        ipv4 unicast;
        ipv4 flow;
        ipv6 unicast;
        ipv6 flow;
        l2vpn evpn;
    }
}

Capability Negotiation

ExaBGP automatically negotiates capabilities during BGP session establishment (OPEN message):

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         OPEN          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   ExaBGP    β”‚ ───────────────────> β”‚   Router    β”‚
β”‚             β”‚  Capabilities:        β”‚             β”‚
β”‚             β”‚  - IPv4 unicast       β”‚             β”‚
β”‚             β”‚  - IPv4 flow          β”‚             β”‚
β”‚             β”‚  - IPv6 unicast       β”‚             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                                      β”‚
       β”‚ <──────────────────────────────────  β”‚
       β”‚           OPEN (response)            β”‚
       β”‚        Capabilities agreed           β”‚

Viewing Negotiated Capabilities

ExaBGP logs show negotiated capabilities:

neighbor 192.0.2.1 negotiated capability families ( ipv4 unicast ipv4 flow )

API messages (JSON):

{
  "exabgp": "5.0",
  "type": "state",
  "neighbor": {
    "address": {"peer": "192.0.2.1"},
    "state": "established"
  },
  "capabilities": {
    "families": [
      {"afi": "ipv4", "safi": "unicast"},
      {"afi": "ipv4", "safi": "flow"}
    ]
  }
}

See Also


References

  • RFC 4760 - Multiprotocol Extensions for BGP-4 (AFI/SAFI)
  • RFC 5575 - Dissemination of Flow Specification Rules (FlowSpec IPv4)
  • RFC 8955 - Dissemination of Flow Specification Rules (FlowSpec IPv6)
  • RFC 4364 - BGP/MPLS IP Virtual Private Networks (VPNs)
  • RFC 7432 - BGP MPLS-Based Ethernet VPN (EVPN)
  • RFC 7752 - North-Bound Distribution of Link-State and Traffic Engineering (BGP-LS)
  • RFC 4684 - Constrained Route Distribution for BGP/MPLS IP VPNs
  • RFC 8277 - Using BGP to Bind MPLS Labels to Address Prefixes

πŸ‘» Ghost written by Claude (Anthropic AI)

Clone this wiki locally