Project

General

Profile

Actions

Bug #14748

open

FRR reload script is not executed properly

Added by yon Liu 8 months ago. Updated 5 months ago.

Status:
Feedback
Priority:
Normal
Category:
FRR
Target version:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
Affected Version:
Affected Plus Version:
23.09
Affected Architecture:
amd64

Description

I deleted frr Neighbors through webgui, but it was not deleted in frr.

That is, the deletion operation through pf webgui is not reflected in the frr routing system

test with
23.09-DEVELOPMENT (amd64)
built on Tue Sep 05 05:55:55 UTC 2023
FreeBSD 14.0-ALPHA2


Files

1.jpg (231 KB) 1.jpg yon Liu, 09/05/2023 07:46 PM
2.jpg (211 KB) 2.jpg yon Liu, 09/05/2023 07:46 PM
Actions #1

Updated by Jim Pingle 8 months ago

  • Project changed from pfSense Plus to pfSense Packages
  • Category changed from Routing to FRR
  • Release Notes deleted (Default)
Actions #2

Updated by yon Liu 8 months ago

Actions #3

Updated by Lev Prokofev 8 months ago

  • Status changed from New to Confirmed

I can confirm this behavior, the Frr keeps the neighbor config until the restart of the service

tested on

23.09-DEVELOPMENT (amd64)
built on Thu Sep 07 06:05:43 UTC 2023
FreeBSD 14.0-ALPHA2
Actions #4

Updated by yon Liu 8 months ago

yes, Now any changes need to restart the frr service to take effect.

Actions #5

Updated by yon Liu 8 months ago

i using frr webgui setup Route Handling not normal work also.

Actions #6

Updated by Steffen S 6 months ago

We had the same issue when using FRR OSPF. It seems that the "frr-reload" script that is used to communicate config changes to the frr daemon does not work anymore due to the "frr-reload.py" script being moved to another location in some release.

According to the script, "frr-reload.py" is expected at /usr/local/lib/frr/frr-reload.py while it actually is at /usr/local/sbin/frr-reload.py

A quick workaround was to create a symlink to make the file available at the exptected location:

ln -s /usr/local/sbin/frr-reload.py /usr/local/lib/frr/frr-reload.py
Actions #7

Updated by Jim Pingle 6 months ago

  • Subject changed from I deleted frr Neighbors through webgui, but it was not deleted in frr. to FRR reload script is not executed properly

Looks like that's an upstream bug in the frr9 or frr9-pythontools port(s).

The script at /usr/local/sbin/frr-reload is looking for /usr/local/lib/frr/frr-reload.py

: more /usr/local/sbin/frr-reload
#!/bin/sh

if test -e /usr/local/lib/frr/frr-reload.py; then
   exec /usr/local/lib/frr/frr-reload.py --reload /var/etc/frr/frr.conf
fi
>&2 echo "Please install frr9-pythontools package. Required for reload" 
exit 1

However the frr9-pythontools pkg is placing the script in /usr/local/sbin/frr-reload.py:

: pkg info -l frr9-pythontools-9.0.1
frr9-pythontools-9.0.1:
        /usr/local/sbin/frr-reload.py
        /usr/local/sbin/generate_support_bundle.py
        /usr/local/share/licenses/frr9-pythontools-9.0.1/GPLv2
        /usr/local/share/licenses/frr9-pythontools-9.0.1/LICENSE
        /usr/local/share/licenses/frr9-pythontools-9.0.1/catalog.mk
        /var/etc/frr/support_bundle_commands.conf

And since the two don't match (/usr/local/sbin/frr-reload.py != /usr/local/lib/frr/frr-reload.py), it doesn't work.

So then the question is... Which one is wrong? Is the script looking in the wrong place, or is the frr9-pythontools port putting it in the wrong place?

The symlink is OK as a temporary workaround but that isn't something we would commit to the package. It needs to be addressed upstream in either the frr9 or frr9-pythontools port, and then we can bring the fix in from there.

Actions #8

Updated by Mike Moore 6 months ago

Im impacted as well

Jim - Who is supposed to follow up with any upstream issue?

Actions #9

Updated by Jim Pingle 6 months ago

  • Assignee set to Christian McDonald

We are looking into it here. Christian said he sees the issue in port and is looking into a fix.

Actions #11

Updated by Jim Pingle 5 months ago

  • Status changed from Confirmed to Feedback
  • % Done changed from 0 to 100

The upstream fix was merged/picked and should be in package repositories for 23.09 and 2.7.1

Actions #12

Updated by Mike Moore 5 months ago

I did add the sym link as suggested earlier up in the thread: ln -s /usr/local/sbin/frr-reload.py /usr/local/lib/frr/frr-reload.py

Should i remove that prior to upgrading the port?

Actions #13

Updated by Jim Pingle 5 months ago

Mike Moore wrote in #note-12:

I did add the sym link as suggested earlier up in the thread: ln -s /usr/local/sbin/frr-reload.py /usr/local/lib/frr/frr-reload.py
Should i remove that prior to upgrading the port?

It would be a good idea to clean that up to avoid any chance of a conflict.

Actions

Also available in: Atom PDF