![]() When events cross paths between bgp and zebra bgpd could end up with a dangling local MAC entry. Consider the following sequence of events on rack-1 - 1. MAC1 has MM sequence number 1 and points to rack-3 2. Now a packet is rxed locally on rack-1 and rack-2 (simultaneously) with source-mac=MAC1. 3. This would cause rack-1 and rack-2 to set the MM seq to 2 and simultaneously report the MAC as local. 4. Now let's say on rack-1 zebra's MACIP_ADD is in bgpd's queue. bgpd accepts rack-3's update and sends a remote MACIP add to zebra with MM=2. 5. zebra updates the MAC entry from local=>remote. 6. bgpd now processes zebra's "stale local" making it the best path. However zebra no longer has a local MAC entry. At this point bgpd and zebra are effectively out of sync i.e. bgpd has a local-MAC which is not present in the kernel or in zebra. To handle this window zebra should send a local MAC delete to bgpd on modifying its cache to remote. Ticket: CM-22687 Reviewed By: CCR-7935 Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com> |
||
---|---|---|
.github | ||
alpine | ||
babeld | ||
bfdd | ||
bgpd | ||
debianpkg | ||
doc | ||
docker | ||
eigrpd | ||
fpm | ||
gdb | ||
include | ||
isisd | ||
ldpd | ||
lib | ||
m4 | ||
nhrpd | ||
ospf6d | ||
ospfclient | ||
ospfd | ||
pbrd | ||
pimd | ||
pkgsrc | ||
ports | ||
python | ||
qpb | ||
redhat | ||
ripd | ||
ripngd | ||
sharpd | ||
snapcraft | ||
solaris | ||
staticd | ||
tests | ||
tools | ||
vtysh | ||
watchfrr | ||
zebra | ||
.clang-format | ||
.dir-locals.el | ||
.dockerignore | ||
.gitignore | ||
bootstrap.sh | ||
buildtest.sh | ||
config.version.in | ||
configure.ac | ||
COPYING | ||
COPYING-LGPLv2.1 | ||
defaults.h | ||
Makefile.am | ||
README.md | ||
stamp-h.in |
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 as well as Solaris 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
- EIGRP (alpha)
- NHRP (alpha)
Installation & Use
Packages are available for various distributions on our releases page.
Snaps are also available here.
Instructions on building and installing from source for supported platforms may be found here.
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. Please email the mailing list to request an invite as we do not issue automatic invites.
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