-
Notifications
You must be signed in to change notification settings - Fork 460
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.
- Address Family Identifiers (AFI)
- Subsequent Address Family Identifiers (SAFI)
- Supported AFI/SAFI Combinations
- Configuration
- See Also
AFI identifies the network layer protocol (IP version).
| 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.
SAFI provides additional context about the type of routing information.
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
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;
}
}ExaBGP automatically negotiates capabilities during BGP session establishment (OPEN message):
βββββββββββββββ OPEN βββββββββββββββ
β ExaBGP β βββββββββββββββββββ> β Router β
β β Capabilities: β β
β β - IPv4 unicast β β
β β - IPv4 flow β β
β β - IPv6 unicast β β
βββββββββββββββ βββββββββββββββ
β β
β <ββββββββββββββββββββββββββββββββββ β
β OPEN (response) β
β Capabilities agreed β
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"}
]
}
}- Configuration: Neighbor Configuration - Complete neighbor configuration
- Address Families: FlowSpec Overview - FlowSpec (SAFI 133/134)
- Address Families: EVPN Overview - EVPN (SAFI 70)
- Address Families: BGP-LS Overview - BGP Link-State (SAFI 71)
- RFC Information - Detailed RFC implementation status
- 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)
π Home
π Getting Started
π§ API
π‘οΈ Use Cases
π Address Families
βοΈ Configuration
π Operations
π Reference
- Architecture
- BGP State Machine
- Communities (RFC)
- Extended Communities
- BGP Ecosystem
- Capabilities (AFI/SAFI)
- RFC Support
π Migration
π Community
π External
- GitHub Repo β
- Slack β
- Issues β
π» Ghost written by Claude (Anthropic AI)