![]() frr-reload triggers restart of service in case it fails to parse new config file and conjunction with running config contains 'router bgp' (default bgp instnace). When frr-reload fails to parse new config file, it fails to build newconfig context (empty object). Instead of bailing out it compares against the running config context. If the running config contains default bgp instance it thinks new config is removing default bgp instance so it triggers frr restart. Fix is to to bail out reload script when it fails to parse config file. Ticket:#2861989 Reviewed By: MR-83 Testing Done: router bgp 102 vrf RED bgp router-id 2.2.2.2 neighbor underlay peer-group neighbor underlay remote-as <---- Partial config Before fix: 2021-12-02 02:43:16,987 ERROR: vtysh failed to process new configuration: vtysh (mark file) exited with status 4: b'line 79: % Command incomplete: neighbor underlay remote-as\n\n' 2021-12-02 02:43:17,145 INFO: Loading Config object from vtysh show running 2021-12-02 02:43:17,362 INFO: "frr version 7.5+cl5.0.0u0" cannot be removed 2021-12-02 02:43:17,362 INFO: "frr defaults datacenter" cannot be removed 2021-12-02 02:43:17,362 INFO: "service integrated-vtysh-config" cannot be removed 2021-12-02 02:43:17,363 INFO: "line vty" cannot be removed 2021-12-02 02:43:17,522 INFO: EVPN is enabled and default instance del needed 2021-12-02 02:43:17,522 INFO: Restarting FRR <---- Restart frr After fix: Just throw Error and abort the script. root@TORS1:mgmt:/home/cumulus# /usr/lib/frr/frr-reload.py --debug --reload --stdout /etc/frr/frr.conf 2021-12-02 04:00:56,519 INFO: Called via "Namespace(bindir='/usr/bin', confdir='/etc/frr', daemon='', debug=True, filename='/etc/frr/$ rr.conf', input=None, overwrite=False, pathspace=None, reload=True, rundir='/var/run/frr', stdout=True, test=False, vty_socket=None)" 2021-12-02 04:00:56,520 INFO: Loading Config object from file /etc/frr/frr.conf 2021-12-02 04:00:56,679 ERROR: vtysh failed to process new configuration: vtysh (mark file) exited with status 4: b'line 79: % Command incomplete: neighbor underlay remote-as\n\n' root@TORS1:mgmt:/home/cumulus# Signed-off-by: Chirag Shah <chirag@nvidia.com> |
||
---|---|---|
.github | ||
alpine | ||
babeld | ||
bfdd | ||
bgpd | ||
debian | ||
doc | ||
docker | ||
eigrpd | ||
fpm | ||
gdb | ||
grpc | ||
include | ||
isisd | ||
ldpd | ||
lib | ||
m4 | ||
mlag | ||
nhrpd | ||
ospf6d | ||
ospfclient | ||
ospfd | ||
pathd | ||
pbrd | ||
pceplib | ||
pimd | ||
pkgsrc | ||
python | ||
qpb | ||
redhat | ||
ripd | ||
ripngd | ||
sharpd | ||
snapcraft | ||
staticd | ||
tests | ||
tools | ||
vrrpd | ||
vtysh | ||
watchfrr | ||
yang | ||
zebra | ||
.clang-format | ||
.dir-locals.el | ||
.dockerignore | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
bootstrap.sh | ||
buildtest.sh | ||
config.version.in | ||
configure.ac | ||
COPYING | ||
COPYING-LGPLv2.1 | ||
Makefile.am | ||
README.md | ||
stamp-h.in | ||
version.h |
FRRouting
FRR is free software that implements and manages various IPv4 and IPv6 routing protocols. It runs on nearly all distributions of Linux and BSD and supports all modern CPU architectures.
FRR currently supports the following protocols:
- BGP
- OSPFv2
- OSPFv3
- RIPv1
- RIPv2
- RIPng
- IS-IS
- PIM-SM/MSDP
- LDP
- BFD
- Babel
- PBR
- OpenFabric
- VRRP
- EIGRP (alpha)
- NHRP (alpha)
Installation & Use
For source tarballs, see the releases page.
For Debian and its derivatives, use the APT repository at https://deb.frrouting.org/.
Instructions on building and installing from source for supported platforms may be found in the developer docs.
Once installed, please refer to the user guide for instructions on use.
Community
The FRRouting email list server is located here and offers the following public lists:
Topic | List |
---|---|
Development | dev@lists.frrouting.org |
Users & Operators | frog@lists.frrouting.org |
Announcements | announce@lists.frrouting.org |
For chat, we currently use Slack. You can join by clicking the "Slack" link under the Participate section of our website.
Contributing
FRR maintains developer's documentation which contains the project workflow and expectations for contributors. Some technical documentation on project internals is also available.
We welcome and appreciate all contributions, no matter how small!
Security
To report security issues, please use our security mailing list:
security [at] lists.frrouting.org