Bug #15771
closedRPKI cannot be configured
100%
Description
Customer concerned that enabling/changing RPKI is not working.
When the RPKI configuration is changed, the changes appear in Services > FRR BGP, Status, Configuration but do not appear in vtysh show run. No amount of restarting FRR results in the configuration. It is as if the proper RPKI bits/modules are not being loaded.
Also tested on recent 24.08 snapshot with same result.
Files
MM Updated by Mike Moore almost 2 years ago
Confirmed as well.
There are a couple of modules in FRR (pfsense) that arent working
RPKI and AgentX
I think there's one more thing but i have to dig through tickets.
JP Updated by Jim Pingle almost 2 years ago
- Status changed from New to Feedback
There are a couple problems here.
Issue #1: The check to see if RPKI is enabled isn't right so it's not defining the correct variable to enable the RPKI module for bgpd.
Issue #2: The "known hosts" file option was removed from FRR which makes the config invalid.
The fix for the first issue is a simple correction to the test in frr.inc:
diff --git a/usr/local/pkg/frr.inc b/usr/local/pkg/frr.inc
index db3751c6f561..1a26ce2781aa 100644
--- a/usr/local/pkg/frr.inc
+++ b/usr/local/pkg/frr.inc
@@ -387,7 +387,7 @@ function frr_generate_config_rcfile() {
}
}
/* BGP RPKI */
- if (config_get_path("installedpackages/{$config_key}/config/0/enablerpki")) {
+ if (config_get_path("installedpackages/frrbgp/config/0/enablerpki") == "on") {
$frr_daemon_modules['bgpd'] .= ' -M rpki';
}
The fix for the second problem is to remove the knownhostspath option code:
diff --git a/usr/local/pkg/frr/frr_bgp_rpki_cache_servers.xml b/usr/local/pkg/frr/frr_bgp_rpki_cache_servers.xml
index 5b2572229beb..ea8eb2c1bcd3 100644
--- a/usr/local/pkg/frr/frr_bgp_rpki_cache_servers.xml
+++ b/usr/local/pkg/frr/frr_bgp_rpki_cache_servers.xml
@@ -137,12 +137,6 @@
<description>Local path that includes the public key file of the router</description>
<type>input</type>
</field>
- <field>
- <fielddescr>Known Hosts Path</fielddescr>
- <fieldname>knownhostspath</fieldname>
- <description>Local path that includes the known hosts file</description>
- <type>input</type>
- </field>
</fields>
<custom_delete_php_command>
frr_generate_config();
diff --git a/usr/local/pkg/frr/inc/frr_bgp.inc b/usr/local/pkg/frr/inc/frr_bgp.inc
index cf7e0b571639..5eb51adb3bb3 100644
--- a/usr/local/pkg/frr/inc/frr_bgp.inc
+++ b/usr/local/pkg/frr/inc/frr_bgp.inc
@@ -848,7 +848,7 @@ function frr_bgp_generate_rpki_servers() {
if (!empty($frr_bgp_rpki_cs)) {
foreach ($frr_bgp_rpki_cs as $cs) {
$rpki_config .= " rpki cache {$cs['cacheserver']} {$cs['port']}";
- foreach (array("username", "privkeypath", "pubkeypath", "knownhostspath") as $key) {
+ foreach (array("username", "privkeypath", "pubkeypath") as $key) {
if (empty($cs[$key])) {
continue;
}
That appears to let it start and the RPKI config appears in show run within vtysh, but I do not have any RPKI structure to test that it actually works.
If we can get confirmation that it works, then someone can commit those changes.
JP Updated by Jim Pingle almost 2 years ago
- File frr_rpki.patch frr_rpki.patch added
CC Updated by Christopher Cope almost 2 years ago
The customer that was hitting this issue confirmed that the above patch fixed the issue for him.
JP Updated by Jim Pingle almost 2 years ago
- Assignee set to Jim Pingle
- % Done changed from 0 to 100
Fix committed, new package should be available on Plus when it finishes building.
MM Updated by Marcos M almost 2 years ago
- Subject changed from Enabling or changing RPKI configuration does not properly operate to RPKI cannot be configured
- Target version set to 2.8.0
- Plus Target Version set to 24.03
YL Updated by yon Liu almost 2 years ago
Does it need to add service startup options, because in Linux system it needs to be added in daemons file ?
bgpd_options=" -A 127.0.0.1 -M rpki"
MM Updated by Marcos M almost 2 years ago
- Status changed from Feedback to Resolved
MM Updated by Mike Moore over 1 year ago
I haven’t seen a package update for FRR. Is this going to be pushed at all?