Go to file
Donatas Abraitis a90833db12 bgpd: Intern attributes before putting into rib-out
```
==21860==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 80 byte(s) in 2 object(s) allocated from:
    0 0x7f8065294d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    1 0x7f8064cfd216 in qcalloc lib/memory.c:105
    2 0x5646b7024073 in ecommunity_dup bgpd/bgp_ecommunity.c:252
    3 0x5646b7153585 in route_set_ecommunity_lb bgpd/bgp_routemap.c:2925
    4 0x7f8064d459be in route_map_apply_ext lib/routemap.c:2675
    5 0x5646b7116584 in subgroup_announce_check bgpd/bgp_route.c:2374
    6 0x5646b711b907 in subgroup_process_announce_selected bgpd/bgp_route.c:2918
    7 0x5646b717ceb8 in group_announce_route_walkcb bgpd/bgp_updgrp_adv.c:184
    8 0x7f8064cc6acd in hash_walk lib/hash.c:270
    9 0x5646b717ae0c in update_group_af_walk bgpd/bgp_updgrp.c:2046
    10 0x5646b7181275 in group_announce_route bgpd/bgp_updgrp_adv.c:1030
    11 0x5646b711a986 in bgp_process_main_one bgpd/bgp_route.c:3303
    12 0x5646b711b5bf in bgp_process_wq bgpd/bgp_route.c:3444
    13 0x7f8064da12d7 in work_queue_run lib/workqueue.c:267
    14 0x7f8064d891fb in thread_call lib/thread.c:1991
    15 0x7f8064cdffcf in frr_run lib/libfrr.c:1185
    16 0x5646b6feca67 in main bgpd/bgp_main.c:505
    17 0x7f8063f96c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

Indirect leak of 16 byte(s) in 2 object(s) allocated from:
    0 0x7f8065294b40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
    1 0x7f8064cfcf01 in qmalloc lib/memory.c:100
    2 0x5646b7024151 in ecommunity_dup bgpd/bgp_ecommunity.c:256
    3 0x5646b7153585 in route_set_ecommunity_lb bgpd/bgp_routemap.c:2925
    4 0x7f8064d459be in route_map_apply_ext lib/routemap.c:2675
    5 0x5646b7116584 in subgroup_announce_check bgpd/bgp_route.c:2374
    6 0x5646b711b907 in subgroup_process_announce_selected bgpd/bgp_route.c:2918
    7 0x5646b717ceb8 in group_announce_route_walkcb bgpd/bgp_updgrp_adv.c:184
    8 0x7f8064cc6acd in hash_walk lib/hash.c:270
    9 0x5646b717ae0c in update_group_af_walk bgpd/bgp_updgrp.c:2046
    10 0x5646b7181275 in group_announce_route bgpd/bgp_updgrp_adv.c:1030
    11 0x5646b711a986 in bgp_process_main_one bgpd/bgp_route.c:3303
    12 0x5646b711b5bf in bgp_process_wq bgpd/bgp_route.c:3444
    13 0x7f8064da12d7 in work_queue_run lib/workqueue.c:267
    14 0x7f8064d891fb in thread_call lib/thread.c:1991
    15 0x7f8064cdffcf in frr_run lib/libfrr.c:1185
    16 0x5646b6feca67 in main bgpd/bgp_main.c:505
    17 0x7f8063f96c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-13 10:49:56 +03:00
.github tools: Add commit linter 2023-01-31 13:25:25 +02:00
alpine docker,alpine: Remove isl from dependencies 2023-01-06 23:48:23 +09:00
babeld babeld: fix #11808 to avoid infinite loops 2023-03-04 11:09:53 +00:00
bfdd bfdd: remove redundant nb destroy callbacks 2023-06-08 15:20:17 +00:00
bgpd bgpd: Intern attributes before putting into rib-out 2023-07-13 10:49:56 +03:00
debian FRR Release 8.5.2 2023-06-15 23:59:36 -05:00
doc doc: Add neighbor aigp command for BGP 2023-05-10 15:44:44 +03:00
docker docker: Use Alpine 3.17 as base image 2022-12-02 15:42:00 +02:00
eigrpd *: introduce function for sequence numbers 2023-01-20 15:40:28 -03:00
fpm build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
gdb gdb: Add a macro to walk memory allocations 2022-08-24 07:13:29 -04:00
grpc build: fix gRPC build dependencies 2022-10-26 17:12:34 +01:00
include include: add pkt_cls.h to automake headers 2022-11-22 22:35:34 +08:00
isisd *: fix non-const northbound XPath format strings 2023-01-27 12:01:20 +01:00
ldpd Merge pull request #12713 from opensourcerouting/fix/json_naming_deprecation 2023-02-01 15:39:18 -05:00
lib lib: fix vtysh core when handling questionmark 2023-06-01 19:31:31 +00:00
m4 build: fix sed regex in Lua macro 2022-12-08 12:39:17 +01:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd build, vtysh: extract vtysh commands from .xref 2022-10-26 17:12:34 +01:00
ospf6d ospf6d: Fix crash because neighbor structure was freed 2023-07-03 09:44:05 +03:00
ospfclient ospfclient: remove register "READY" requirement 2023-02-22 16:55:12 +00:00
ospfd ospfd: check for NULLs in vty code 2023-07-02 19:40:56 +00:00
pathd *: fix non-const northbound XPath format strings 2023-01-27 12:01:20 +01:00
pbrd pbrd: fix crash with match command 2023-06-29 19:22:46 +00:00
pceplib pceplib: add <time.h> include for time_t 2023-02-06 20:31:22 +00:00
pimd pim6d: Fix crash in ipv6 pim command 2023-06-01 06:14:12 +00:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python python: hide inet_ntoa from frrbot 2022-10-28 11:18:06 +01:00
qpb qpb: Tell coverity the actual size we are copying 2022-08-02 15:34:43 -04:00
redhat FRR Release 8.5.2 2023-06-15 23:59:36 -05:00
ripd Revert "ripd: Cleanup memory allocations on shutdown" 2023-06-20 14:41:33 +00:00
ripngd Revert "ripngd: Cleanup memory allocations on shutdown" 2023-06-20 14:41:34 +00:00
sharpd sharpd: traffic control PoC 2022-11-22 22:35:35 +08:00
snapcraft snapcraft: Add pim6 daemon for PIM IPv6 to snap package 2022-11-19 12:52:36 +01:00
staticd staticd: Tell bfd that we are shutting down 2023-03-21 19:37:52 +00:00
tests ospfd: OSPF opaque LSA stale processing fix and topotests. 2023-05-10 20:52:06 +00:00
tools tools: fix list value remove in frr-reload 2023-06-07 06:23:54 +00:00
vrrpd vrrpd: give null when using null ifp to lookup vr 2023-02-14 14:30:22 +00:00
vtysh vtysh: Give actual pam error messages 2023-05-27 12:36:06 +00:00
watchfrr Merge pull request #12695 from opensourcerouting/format-warnings 2023-01-31 09:01:32 -05:00
yang yang: fix race condition in embedmodel.py mkdir 2023-01-24 18:19:18 +01:00
zebra zebra: Fix crash when dplane_fpm_nl fails to process received routes 2023-07-07 16:16:37 +00:00
.clang-format lib: add _last and _prev on typesafe RB/DLIST 2022-03-12 13:23:36 +01:00
.dir-locals.el tests: remove python format block from dir-locals 2021-09-13 10:04:29 -04:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 2021-05-11 14:14:26 +03:00
.gitignore *: Add some missed make check generated files in .gitignore 2021-09-16 08:13:17 -04:00
.pylintrc tests: micronet: update infra 2021-09-04 09:04:46 -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 build: remove --enable-exampledir 2021-06-24 16:42:58 +02:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac FRR Release 8.5.2 2023-06-15 23:59:36 -05:00
COPYING *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
COPYING-LGPLv2.1 build: remove LGPL v2.0, add LGPL v2.1 2016-11-15 17:19:38 +09:00
Makefile.am packaging: Reuse frr.logrotate for Debian and Redhat builds 2022-11-08 11:17:56 +02: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