![]() The ospf6 router-id is provided by order of preference by: ospf6d itself if the "ospf6 router-id X.X.X.X" command is set. - zebra. If the "ip router-id X.X.X.X" zebra command is set, the configured IP is provided as the ID or alternatively the highest loopback IPv4 address or else the highest interface IPv4 address. The running ospf6 router-id is stored in ospf6->router-id. ospf6->router-id can change in the following conditions: - A configuration change provides a new router-id value according to the above rules. ospf6->router-id is updated to the new value if there is no adjacency in FULL state. Otherwise, the ospf6d process must be restarted to take the new router-id into account. - On startup of both zebra and ospf6d, if ospf6d has not yet received a valid router-id, ospf6d->router-id is set to 0 (i.e. 0.0.0.0). Then, zebra notifies ospf6d that the router-id is available. At ospf6->router-id, the current behavior of ospf6d is the following: - The self generated LSAs that refer to the previous router-id as the advertising router are kept. - Self generated LSAs are created with router-id value. - LSAs from the redistribution that refer to the previous router-id are kept and no new redistribution LSAs are created. As a consequence, the routers in the ospf6 areas will get incorrect LSAs and might not be able to install prefixes of those LSAs into their RIB. This fix solves this issue by resetting the areas and the redistribution when ospf6->router-id updated. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.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 | ||
.travis.yml | ||
bootstrap.sh | ||
buildtest.sh | ||
changelog-auto.in | ||
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