An Interface Identifier (ID) Hello Option for PIM
Extracted elements (16)
The Interface Identifier option need only be included in PIM Hello messages if the router supports protocols that require it, but an implementation MAY always include it. Uniqueness requirements are delegated to the specifications of PIM protocols that use the option.
The Local Interface Identifier is required to be non-zero because value 0 is reserved as a sentinel meaning 'no Interface Identifier referenced', consistent with the fact that 0 is not a valid ifIndex per RFC 2863.
The Router Identifier is set to zero when only the Local Interface Identifier is needed (e.g., for PIM over Reliable Transport / PORT, where a Router Identifier is not required). This avoids mandating a router-wide unique identifier in simple use cases.
Implementations MAY reuse the same 32-bit router identifier used by BGP (RFC 4271) or OSPFv2 (RFC 2328) as the PIM Router Identifier, provided stability and uniqueness requirements of the PIM protocols using it are met.
A router implementation MUST allow the Router Identifier to be configured manually, even if it MAY also be configured to derive it from an IPv4 unicast address.
If an interface goes down and comes back up, the router SHOULD use the same Local Interface Identifier.
The Local Interface Identifier MUST be non-zero, because some protocols use the value 0 to indicate that no Interface Identifier is being referenced.
The Router Identifier field in the message MUST contain a valid Router Identifier or the value zero.
There MUST NOT be two PIM interfaces with the same Local Interface Identifier on a router.
While an interface is up, the Local Interface Identifier MUST always be the same once it has been allocated.
The Interface Identifier option is a 64-bit value carried in PIM Hello messages to uniquely identify the interface of a neighboring router. It consists of a 32-bit Router Identifier (high bits) and a 32-bit Local Interface Identifier (low bits).
The Local Interface Identifier is a 32-bit value that must be unique among all PIM-enabled interfaces on a router. Many systems use ifIndex (RFC 2863) as the Local Interface Identifier.
The Router Identifier is a 32-bit value that may be used to uniquely identify the router within a configured scope (administrative domain or globally). A value of 0 means no Router Identifier is used.
IANA assigned the value 31 to the Interface ID PIM-Hello option in the PIM Hello Options registry.
PIM Hello messages carrying the Interface Identifier may be forged to include an arbitrary Interface Identifier, or the option may be intentionally omitted. The impact depends on how downstream PIM protocols use the identifier. Security considerations from RFC 4601 for PIM Hello messages apply.
The Interface Identifier Hello option uses Type=31, Length=8. It encodes a 4-byte Router Identifier followed by a 4-byte Local Interface Identifier, both in network byte order.