Page MenuHomeVyOS Platform

IS-IS: SRv6-only configuration also enables SR-MPLS
Closed, ResolvedPublicBUG

Description

data/templates/frr/isisd.frr.j2 renders segment-routing on whenever the protocols isis segment-routing node exists.

In FRR, segment-routing on enables SR-MPLS only; SRv6 is configured independently by the segment-routing srv6 block. An SRv6-only configuration therefore also turns on SR-MPLS.

isisd then allocates MPLS Adjacency-SIDs from the SRLB (15000+), advertises SRGB/SRLB and Adjacency-SID sub-TLVs, and asks zebra to install the labels. On a router without MPLS label space (net.mpls.platform_labels = 0, the default when MPLS is not configured) every adjacency or interface-flags event, even running tcpdump (promiscuous mode toggle), logs a burst per adjacency.

There is no CLI way to avoid it: a manual no segment-routing on in vtysh is reverted by the next commit.

In FRR's isisd, SR-MPLS is gated by area->srdb.enabled and SRv6 by area->srv6db.config.enabled (Router Capability sub-TLVs, SRv6 Locator TLV, End.X SIDs and zebra SID installation), checked at frr-10.5.2 and frr-10.7.1. SRv6 does not depend on SR-MPLS.

Steps to reproduce

set interfaces dummy dum6
set protocols segment-routing srv6 locator MAIN prefix 2001:db8::/48
set protocols isis net 49.0001.1921.6800.1002.00
set protocols isis interface eth0
set protocols isis segment-routing srv6 locator MAIN
set protocols isis segment-routing srv6 interface dum6
commit

Form an IS-IS adjacency on eth0, then run tcpdump -i eth0 or flap the link.

Expected behavior

SRv6 only: no segment-routing on in router isis, no MPLS labels allocated or installed, no zebra errors.

Actual behavior

show running-config (vtysh) contains segment-routing on; zebra logs, per adjacency:

zebra: Extended Error: Label >= configured maximum in platform_labels
zebra: [EC 4043309093] netlink-dp (NS 0) error: Invalid argument, type=RTM_NEWROUTE(24) ...
zebra: [EC 4043309109] LSP Install Failure: in-label 15001

Lab verification

5 routers, VyOS 1.5 rolling, FRR 10.7.1, IS-IS L2 + SRv6 uSID locators, BGP L3VPN over SRv6.

no segment-routing on via vtysh on one router, then on all five: SRv6 capability, locators, End.X SIDs, seg6local routes, VPN routes with encap seg6 and v4/v6 VRF transit were unchanged. The MPLS table and SR-MPLS LSDB entries dropped to 0 and the LSP install errors stopped. Adjacency loss and re-formation reconverged normally; re-enabling restored SR-MPLS cleanly.

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

jvoss changed the task status from Open to In progress.
jvoss created this object in space S1 VyOS Public.
Viacheslav changed the subtype of this task from "Task" to "Bug".Mon, Oct 19, 3:56 PM
Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.