Expand description
PMSI Tunnel path attribute (RFC 6514 §5) — used by EVPN Type 3 IMET for ingress-replication BUM. P-Multicast Service Interface (PMSI) Tunnel attribute — RFC 6514 §5.
This is BGP path attribute type 22 (RFC 6514 §11.1, IANA-managed). It tells receivers how to forward BUM (broadcast / unknown unicast / multicast) traffic for the EVI a Type 3 IMET route advertises.
§Wire format (RFC 6514 §5)
+---------------------------------+
| Flags (1 octet) |
+---------------------------------+
| Tunnel Type (1 octet) |
+---------------------------------+
| MPLS Label (3 octets) |
+---------------------------------+
| Tunnel Identifier (variable) |
+---------------------------------+- Flags — RFC 6514 §5 defines bit 0 (“Leaf Information Required”) only. EVPN ingress replication does not use it.
- Tunnel Type — IANA registry, RFC 7385. Values 0–7 are well- known; unknown values must round-trip without loss for forward compatibility.
- MPLS Label — 3 octets. For pure-MPLS deployments the
high-order 20 bits carry the MPLS label value (RFC 6514 §5).
For EVPN-VXLAN deployments the full 24-bit field is the VNI,
not
VNI << 4— RFC 8365 §5.1.3 explicitly redefines the field semantics to “the VNI” when EVPN routes ride VXLAN encap. This matchesEvpnMacIp.label1(also a raw 24-bit VNI per RFC 8365) and what FRR/Cumulus emit on the wire. A label of 0 still means “no label present” in either case. - Tunnel Identifier — variable-length, semantics depend on Tunnel Type. For Ingress Replication (type 6) it is the unicast tunnel endpoint IP — 4 octets for IPv4, 16 octets for IPv6 (RFC 6514 §5; ipv6 form per RFC 8365). Other tunnel types carry opaque bytes that the codec preserves without interpretation.
§Why a typed PmsiTunnelType
Validating the tunnel type at decode time catches the most common
interop bug (operator misconfigures FRR with the wrong tunnel type
and the wire becomes nonsensical) without forcing the daemon to
reject otherwise-legal future tunnel types — PmsiTunnelType::Other
preserves any unknown value the IANA registry adds later.
§Gate 7b+1 scope
Only PmsiTunnelType::IngressReplication is exercised by rustbgpd
origination today. Decode handles all variants; encode round-trips
all variants. Phase F (Type 3 IMET) emits Ingress Replication with
the raw 24-bit VNI in the label field (RFC 8365 §5.1.3) and the
local VTEP IP as the tunnel identifier.
Structs§
- Pmsi
Tunnel - Decoded PMSI Tunnel attribute.
Enums§
- Pmsi
Tunnel Identifier - Tunnel Identifier — variable-length, semantics keyed by tunnel type.
- Pmsi
Tunnel Type - PMSI tunnel type (RFC 6514 §11.1, IANA registry RFC 7385).