Page MenuHomeVyOS Platform

RPKI VRF Support
Closed, ResolvedPublicFEATURE REQUEST

Description

Summary

Add support for RPKI in a VRF

Op-mode commands

show rpki as-number <asn>  vrf <vrf>
show rpki cache-connection vrf <vrf>
show rpki cache-server vrf <vrf>
show rpki prefix <prefix> vrf <vrf>
show rpki prefix <prefix> as-number <asn> vrf <vrf>
show rpki prefix-table vrf <vrf>
reset rpki vrf <vrf>

Configuration Commands

set vrf name <name> protocols rpki cache <cache> port <port>
set vrf name <name> protocols rpki cache <cache> preference <pref>
set vrf name <name> protocols rpki cache <cache> source-address <src>
set vrf name <name> protocols rpki cache <cache> ssh username <username>
set vrf name <name> protocols rpki cache <cache> ssh key <key>
set vrf name <name> protocols rpki polling-period <rolling-period>
set vrf name <name> protocols rpki retry-interval <retry-interval>

Use case

Users may be running a VRF for Internet routes and want to run RPKI for these

Additional information

FRRouting added BGP RPKI VRF support in FRRouting 10.0

"BGP RPKI VRF support
Now RPKI for BGP can be configured per-VRF."

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Feature (new functionality)

Event Timeline

Viacheslav changed the task status from Open to In progress.May 6 2025, 9:10 AM
Viacheslav assigned this task to yzguy.
Viacheslav triaged this task as Normal priority.
Viacheslav subscribed.

Good practice to link PR to the forge task
PR https://github.com/vyos/vyos-1x/pull/4497

I have installed version:

Version:          VyOS 2025.06.24-0020-rolling
Release train:    current
Release flavor:   generic

Built by:         autobuild@vyos.net
Built on:         Tue 24 Jun 2025 00:20 UTC
Build UUID:       e9dff867-16c0-4cd1-ae14-e552e3c6abd7
Build commit ID:  3222553a260ae5

Architecture:     x86_64
Boot via:         installed image
System type:      KVM guest
Secure Boot:      n/a (BIOS)

Hardware vendor:  QEMU
Hardware model:   Standard PC (i440FX + PIIX, 1996)
Hardware S/N:
Hardware UUID:    bc0c0310-4c7e-42f3-84fb-7e53cddab0bd

Copyright:        VyOS maintainers and contributors

this version has this changes, but after configuring it and seeing it's connected to the rpki server over the vrf routers, routers are not being validated, while using the non-vrf configuration return me the routes validated like this:

$ show ip bgp ipv4 unicast x.x.x.x/z
BGP routing table entry for x.x.x./x version 534811
Paths: (2 available, best #1, table default)
  Not advertised to any peer
  x y z
    x.x.x.x from x.x.x.x (x.x.x.x)
      Origin IGP, metric 0, localpref 145, valid, external, multipath, best (Older Path), rpki validation-state: valid
      Community: 1000:2001
      Large Community: 1000:2001:62000
      Last update: Wed Jun 25 18:32:39 2025

while the same version with rpki configure to be used over a vrf:

$ show ip bgp ipv4 unicast x.x.x.x/x
BGP routing table entry for x.x.x./x, version 534811
Paths: (2 available, best #1, table default)
  Not advertised to any peer
  x y z
    x.x.x.x from x.x.x.x (x.x.x.x)
      Origin IGP, metric 0, localpref 145, valid, external, multipath, best (Older Path)
      Community: 1000:2001
      Large Community: 1000:2001:62000
      Last update: Wed Jun 25 18:32:39 2025

i can confirm over vrf its connected to the rpki server:

$ show rpki cache-connection vrf Management
Connected to group 1
rpki tcp cache x.x.x.2 3323 pref 1 (connected)
rpki tcp cache x.x.x.3 3323 pref 2

Let me know if anything else is needed to debug

@aalmenar I believe you would need to configure RPKI in the default VRF + your management VRF. They validate prefixes for their respective VRFs
I believe this is a limitation/intention of FRRouting not VyOS itself

https://docs.frrouting.org/en/latest/bgp.html#configuring-rpki-rtr-cache-servers

RPKI/RTR can be configured independently, either in configure node, or in vrf sub context. If configured in configure node, the core bgp instance of default vrf is impacted by the configuration.

Each RPKI/RTR context is mapped to a vrf and can be made up of a specific list of cache-servers, and specific settings.
In T7432#227763, @yzguy wrote:

@aalmenar I believe you would need to configure RPKI in the default VRF + your management VRF. They validate prefixes for their respective VRFs
I believe this is a limitation/intention of FRRouting not VyOS itself

https://docs.frrouting.org/en/latest/bgp.html#configuring-rpki-rtr-cache-servers

RPKI/RTR can be configured independently, either in configure node, or in vrf sub context. If configured in configure node, the core bgp instance of default vrf is impacted by the configuration.

Each RPKI/RTR context is mapped to a vrf and can be made up of a specific list of cache-servers, and specific settings.

Understood. I know it must be FRRouting and not VyOS. If its a limitation in FRRouting on purpose, i don´t see why they made it this way...

c-po moved this task from Open to Finished on the VyOS 1.5 Circinus (1.5-stream-2025-Q3) board.