Go to file
Donald Sharp 7ae7a3bfd6 pimd: Prevent crash when pimreg already exists.
If the pimreg device exists but it has not been set to the pim->pimreg pointer we can have
a crash.  Just prevent the crash since it's some sort of startup / re-org the network
issue.

(gdb) bt
0  0x00007f0485b035cb in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
1  0x00007f0485c0fbec in core_handler (signo=6, siginfo=0x7ffdc0198030, context=<optimized out>) at lib/sigevent.c:264
2  <signal handler called>
3  0x00007f04859668eb in raise () from /lib/x86_64-linux-gnu/libc.so.6
4  0x00007f0485951535 in abort () from /lib/x86_64-linux-gnu/libc.so.6
5  0x00007f0485c3af76 in _zlog_assert_failed (xref=xref@entry=0x55692269b940 <_xref.23164>, extra=extra@entry=0x0) at lib/zlog.c:680
6  0x00005569226150d0 in pim_if_new (ifp=0x556922c82900, gm=gm@entry=false, pim=pim@entry=false, ispimreg=ispimreg@entry=true,
    is_vxlan_term=is_vxlan_term@entry=false) at pimd/pim_iface.c:124
7  0x0000556922615140 in pim_if_create_pimreg (pim=pim@entry=0x556922cc11e0) at pimd/pim_iface.c:1549
8  0x0000556922616bc8 in pim_if_create_pimreg (pim=0x556922cc11e0) at pimd/pim_iface.c:1613
9  pim_ifp_create (ifp=0x556922cc0e70) at pimd/pim_iface.c:1641
10 0x00007f0485c32cf9 in zclient_interface_add (cmd=<optimized out>, zclient=<optimized out>, length=<optimized out>, vrf_id=77) at lib/zclient.c:2214
11 0x00007f0485c3346a in zclient_read (thread=<optimized out>) at lib/zclient.c:4003
12 0x00007f0485c215ed in thread_call (thread=thread@entry=0x7ffdc0198880) at lib/thread.c:2008
13 0x00007f0485bdbbc8 in frr_run (master=0x556922a10470) at lib/libfrr.c:1223
14 0x000055692260312b in main (argc=<optimized out>, argv=0x7ffdc0198b98, envp=<optimized out>) at pimd/pim_main.c:176

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-01 14:56:05 -05:00
.github tools: Fetch more commits for commitlint to validate the commit 2023-02-07 22:03:42 +02:00
alpine docker,alpine: Remove isl from dependencies 2023-01-06 23:48:23 +09:00
babeld Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
bfdd *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgpd bgpd: debug trace retrieve real peer origin of path info 2023-02-28 22:00:25 +01:00
debian tools: Bump versions for Redhat and Debian packages in changelogs 2023-02-07 22:17:49 +02:00
doc Merge pull request #12840 from dorDiogo/isis_advertise_passive_only 2023-02-28 09:22:32 -05:00
docker docker: Use Alpine 3.17 as base image 2022-12-02 15:42:00 +02:00
eigrpd *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
fpm *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
gdb gdb: Add a macro to walk memory allocations 2022-08-24 07:13:29 -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 Merge pull request #12840 from dorDiogo/isis_advertise_passive_only 2023-02-28 09:22:32 -05:00
ldpd Merge pull request #12920 from sri-mohan1/sri-mohan-ldp 2023-03-02 00:40:26 +05:30
lib Merge pull request #12866 from anlancs/lib/dotas-zero 2023-02-27 11:05:47 +02: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 *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf6d *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospfclient ospfclient: remove register "READY" requirement 2023-02-20 11:58:30 -05:00
ospfd Merge pull request #12751 from Pdoijode/pdoijode/ospf-vrf-neighbor-detail-1 2023-02-24 11:56:28 +02:00
pathd Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
pbrd *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
pceplib *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
pimd pimd: Prevent crash when pimreg already exists. 2023-03-01 14:56:05 -05:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
qpb *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
redhat tools: Bump versions for Redhat and Debian packages in changelogs 2023-02-07 22:17:49 +02:00
ripd *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ripngd *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
sharpd Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
snapcraft snapcraft: Add pim6 daemon for PIM IPv6 to snap package 2022-11-19 12:52:36 +01:00
staticd *: remove some leftover license blurbs 2023-02-09 14:09:11 +01:00
tests Merge pull request #12618 from pguibert6WIND/vpnv4_ecmp 2023-02-28 15:49:05 -05:00
tools tools: allow // SPDX... in checkpatch.pl 2023-02-10 10:56:07 +01:00
vrrpd Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
vtysh Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
watchfrr *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
yang Merge pull request #12840 from dorDiogo/isis_advertise_passive_only 2023-02-28 09:22:32 -05:00
zebra Merge pull request #12811 from Avineus/frr_neighlog_5884 2023-03-01 09:59:01 +02: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 *: 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 Merge pull request #12707 from donaldsharp/missed_enums 2023-02-07 22:22:27 +02:00
COPYING *: sort out & explain licenses used in FRR 2023-02-09 12:46:13 +01: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