Go to file
Chirag Shah a7d77ee58b zebra: fix evpn rmac nh list cmp function
EVPN RMAC (Router MAC) nexthop list compare
function needs to return all values so
the list element can be compared and added/deleted
properly.

Ticket:#3486989
Testing Done:
Originate EVPN Type-5 route with PIP IP and MAC as remote
nexthops.
Change the PIP IP address which triggers nexthop change.

Before fix:
When PIP IP changes RMAC is deleted from remote VTEPs.

TORS1# show evpn next-hops vni 4001 | include 00:02:00:00:00:2d
27.0.0.11       00:02:00:00:00:2d
TORS1# show evpn rmac vni 4001 | include 00:02:00:00:00:2d
00:02:00:00:00:2d 27.0.0.11

----- Remote VTEP change nexthop IP to 172.16.16.16 -----

TORS1# show evpn next-hops vni 4001 | include 00:02:00:00:00:2d
172.16.16.16    00:02:00:00:00:2d
TORS1# show evpn rmac vni 4001 | include 00:02:00:00:00:2d
TORS1#

After fix:
RMAC is retained as its nexthop list is not empty,
thus it is not deleted from remote VTEPs.

TORS1# show evpn rmac vni 4001 | include 00:02:00:00:00:2d
00:02:00:00:00:2d 172.16.16.16

Log:
2023/06/27 00:50:36.833474 ZEBRA: [XREH0-ZYMH6] L3VNI 4001 Remote VTEP
change(27.0.0.11 -> 172.16.16.16) for RMAC 00:02:00:00:00:2d

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-06-26 17:59:16 -07:00
.github github: Add rebase label on PR if it's > 50 commits behind 2023-05-09 09:37:23 +03:00
alpine docker: Enable Lua (scripting) for Alpine images 2023-04-08 21:04:07 +03:00
babeld Merge pull request #13354 from zmw12306/parse_request_subtlv 2023-05-02 10:28:20 -04:00
bfdd Merge pull request #13675 from zmw12306/bfd_version_check 2023-06-11 14:16:50 +03:00
bgpd bgpd: Add config-end timemout error log message. 2023-06-24 13:29:24 -04:00
debian debian, redhat: updating changelog for new release 2023-06-06 15:21:30 -05:00
doc Merge pull request #13823 from LabNConsulting/aceelindem/workflow-coverity-typo 2023-06-22 13:32:09 -05:00
docker docker: ubuntu-ci 18.04 -> 22.04, topotest parallel run examples 2023-06-09 03:19:20 -04:00
eigrpd eigrpd: dest_addr does not need to be set to NULL 2023-06-01 08:58:16 -04:00
fpm *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
gdb *: Rename thread.[ch] to event.[ch] 2023-03-24 08:32:16 -04:00
grpc *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
include Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
isisd isisd: Log error when config-end timeout occurs. 2023-06-24 13:43:03 -04:00
ldpd ldpd: changes for code maintainability 2023-06-14 16:42:26 +05:30
lib lib: add notifications for opaque zapi messages 2023-06-23 08:57:37 -04:00
m4 build: fix sed regex in Lua macro 2022-12-08 12:39:17 +01:00
mgmtd mgmtd: fix memleak 2023-06-19 00:13:28 -04:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd nhrpd: Fix nhrpd memory leak 2023-04-24 11:18:39 +04:00
ospf6d Merge pull request #13804 from LabNConsulting/aceelindem/ospf6d-config-callbacks 2023-06-26 14:59:13 -04:00
ospfclient *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospfd ospfd: Add config callbacks and suppress hello during config load. 2023-06-23 07:20:35 -04:00
pathd Merge pull request #12933 from Orange-OpenSource/link_state 2023-04-20 18:33:21 +02:00
pbrd pbrd, zebra: fix zapi and netlink rule encoding 2023-06-12 16:39:26 -04:00
pceplib *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
pimd pim, pim6d: pimreg interface is not getting added in a certain scenario 2023-06-21 03:46:58 -07:00
pkgsrc mgmtd: Bringup MGMTD daemon and datastore module support 2023-03-21 22:08:32 -04:00
python mgmtd: fully implement debug flags for mgmtd and clients 2023-05-01 13:47:12 -04:00
qpb mgmtd: Bringup MGMTD daemon and datastore module support 2023-03-21 22:08:32 -04:00
redhat debian, redhat: updating changelog for new release 2023-06-06 15:21:30 -05:00
ripd Revert "ripd: Cleanup memory allocations on shutdown" 2023-06-15 17:43:40 +03:00
ripngd ripngd: changes for code maintainability 2023-06-21 22:39:13 +05:30
sharpd sharpd: support opaque zapi notifications 2023-06-23 08:57:37 -04:00
snapcraft snapcraft: Add pim6 daemon for PIM IPv6 to snap package 2022-11-19 12:52:36 +01:00
staticd staticd: remove unused YANG module 2023-06-23 13:17:32 -04:00
tests Merge pull request #13795 from LabNConsulting/chopps/mgmt-lock-cleanup 2023-06-22 13:31:27 -05:00
tools tools: checkpatch: FRR modifications to linux checkpatch.pl 2023-06-20 01:05:30 -04:00
vrrpd Merge pull request #13731 from cyberstorm-mauritius/cid1519841 2023-06-21 23:15:41 +05:30
vtysh mgmtd: KISS the locking code 2023-06-19 00:13:28 -04:00
watchfrr *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
yang ripng: Implement allow-ecmp X command 2023-05-23 09:29:01 +03:00
zebra zebra: fix evpn rmac nh list cmp function 2023-06-26 17:59:16 -07:00
.clang-format tools: less aggressive settings for clang-format 2023-06-25 22:06:12 -04:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.flake8 style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 2021-05-11 14:14:26 +03:00
.gitignore doc: configure: add configure option to generate .ccls file 2023-05-18 09:32:32 -04:00
.isort.cfg style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.pylintrc style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.travis.yml lib: libyang2 add missed conversion 2021-05-17 22:13:59 -04:00
bootstrap.sh build: turn on automake warnings (& symlinks) 2021-04-21 15:42:37 +02:00
buildtest.sh *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac build: FRR 9.1 development version 2023-06-06 14:03:19 -05:00
COPYING *: sort out & explain licenses used in FRR 2023-02-09 12:46:13 +01:00
Makefile.am build: clean up mgmtd lib protobuf make syntax 2023-03-27 16:44:27 -04:00
README.md doc: Fix the link that points to Slack invitation in README 2022-03-24 13:13:37 +02:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
version.h build: make builddir include path consistent 2021-04-21 15:42:33 +02:00

Icon

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