Go to file
Mobashshera Rasool a0625bb356 pimd: IGMP Querier election is not correct in LAN scenario
When more than 2 routers are present in LAN and the querier
goes down, the other routers will wait for other querier
present timer to expire to elect a new querier.
This issue will be seen when the router having next lower ip
address expires the other querier present timer first and it
starts sending the query message. Now on the other non-querier
routers it will receive this query and reset its other
querier present timer but the querier is still the old one
and since it is lowest ip, it never gets updated to the newly
elected querier.

Reset the other querier timer only if query is received from
the previously elected querier or a better new querier
This will make sure that non-querier elects the new querier
whose ip address is higher than the old querier
when the old querier goes down via other querier querier
timer expiry

Issue: #12027

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-09-27 05:04:24 -07:00
.github github: Set strict permissions for stale actions for Github 2022-06-27 09:54:16 +03:00
alpine alpine, docker: Update APKBUILD for libyang 2022-07-17 19:14:28 -04:00
babeld babeld: Remove return value for gettime() 2022-08-24 08:30:27 -04:00
bfdd bfdd: changes for code maintainability 2022-09-05 14:12:25 +05:30
bgpd Merge pull request #11982 from samanvithab/bgp_mem_fix 2022-09-23 17:54:33 +03:00
debian debian: add lua _binary_ to build dependencies 2022-08-19 15:56:57 +02:00
doc Merge pull request #12002 from opensourcerouting/fix/add_doc_missing_bgp_implemented_rf 2022-09-26 09:07:22 -04:00
docker docker: Keep and copy .apk files after they are built 2022-09-20 23:23:55 +03:00
eigrpd eigrpd: changes for code maintainability 2022-09-12 13:34:01 +05:30
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 AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
include include: clean up some white spaces 2022-09-15 22:41:13 -04:00
isisd isisd: Fix memory leak on shutdown with prefix lists 2022-09-20 10:44:42 -04:00
ldpd ldpd: changes for code maintainability 2022-08-30 11:16:23 +05:30
lib bgpd: Use %pRD for prefix_rd2str() 2022-09-22 13:12:11 +03:00
m4 autoconf: do not .gitignore m4/ax_lua.m4 2022-03-26 15:05:54 +01:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd nhrpd: Use nhrp_interface_update_nbma when source vrf was changed 2022-08-22 15:54:18 +03:00
ospf6d ospf6d: Don't remove summary route if it is a range 2022-08-19 23:26:06 -07:00
ospfclient ospfclient: condition optimization 2022-07-27 14:59:53 +05:30
ospfd ospfd: Remove deprecated command graceful-restart helper-only 2022-09-23 22:10:44 +03:00
pathd Merge pull request #11910 from fdumontet6WIND/NAI_Adj 2022-09-27 11:24:53 +02:00
pbrd pbrd: VTY_GET_CONTEXT can fail 2022-08-15 15:45:05 -04:00
pceplib *: Properly use memset() when zeroing 2022-05-11 14:08:47 +03:00
pimd pimd: IGMP Querier election is not correct in LAN scenario 2022-09-27 05:04:24 -07:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python python: Remove redundant import of subprocess 2022-06-16 16:31:35 -04:00
qpb qpb: Tell coverity the actual size we are copying 2022-08-02 15:34:43 -04:00
redhat redhat: Drop --enable-systemd from build specification 2022-08-12 11:49:33 +03:00
ripd Merge pull request #11898 from sri-mohan1/sri-rip-dbg1 2022-09-04 21:18:12 +03:00
ripngd ripngd: Convert thread_cancel to THREAD_OFF 2022-07-21 08:27:35 -04:00
sharpd sharpd: Fix memory leaks related to SRv6 nexthops 2022-08-24 14:22:04 +02:00
snapcraft snapcraft: Version must be quoted in snap store 2022-07-07 12:31:03 +02:00
staticd staticd: When changing the underlying nh ensure it is reinstalled 2022-08-08 16:02:40 -04:00
tests Merge pull request #11868 from LabNConsulting/ziemba/bgp-labelpool-performance 2022-09-12 10:45:43 -04:00
tools bgpd: Use route_map_result_t for route_map_apply() as return type 2022-09-20 10:45:02 +03:00
vrrpd lib, vrrpd: Use THREAD_ARG 2022-07-21 08:30:50 -04:00
vtysh bgpd: add 'mpls bgp forwarding' to ease mpls vpn ebgp peering 2022-09-05 22:26:33 +02:00
watchfrr watchfrr: Check that the operational timeout specified is good. 2022-08-15 15:45:05 -04:00
yang Merge pull request #11899 from opensourcerouting/feature/route_validation_extended_community 2022-09-13 11:30:54 -04:00
zebra zebra: fix fpm crash 2022-09-24 19:39:58 -04: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 configure: Check for readline() function instead of main 2022-09-01 10:45:36 -07: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 build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +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