Go to file
Alexander Chernavin 05ab8ceda4 bgpd: fix "bgp max-med on-startup"
Currently, if `bgp max-med on-startup` is configured, after BGP session
is established for the first time, a timer for the specified time is
started. When the timer is expired, an UPDATE message should be sent to
reflect changes in the routes' MED value. The problem is that the routes
are being suppressed because based on the attributes they look like they
have not changed. However, in the case of max-med, the value is copied
to the packet directly from `bgp->maxmed_value`, not from the
attributes. Thus, changes in this case cannot be detected by comparing
attributes.

With this fix, avoid route suppressing when the `max-med on-startup`
timer expires and initiates an UPDATE.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2022-10-11 10:45:06 +00: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 bgpd: fix "bgp max-med on-startup" 2022-10-11 10:45:06 +00:00
debian debian, redhat: Update changelog for new release (8.5) 2022-10-05 11:28:19 +03:00
doc Merge pull request #9998 from pguibert6WIND/bgp_tcp_keepalive 2022-10-10 15:46:30 +03: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 fabricd: Turn off excessive logging when peering will not come up 2022-10-04 07:28:51 -04:00
ldpd ldpd: changes for code maintainability 2022-08-30 11:16:23 +05:30
lib Merge pull request #9998 from pguibert6WIND/bgp_tcp_keepalive 2022-10-10 15:46:30 +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 Merge pull request #11961 from maduri111/ospfd-debug-cmds 2022-10-09 21:16:01 +03:00
pathd Merge pull request #12018 from pguibert6WIND/pathd_warning_noted 2022-09-27 11:39:46 -04: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 Merge pull request #12017 from patrasar/pimv6_hello 2022-10-05 08:25:28 -04: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 debian, redhat: Update changelog for new release (8.5) 2022-10-05 11:28:19 +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 bgpd: fix "bgp max-med on-startup" 2022-10-11 10:45:06 +00:00
tools tools: Configure systemd to always restart FRR, regardless of exit code 2022-09-26 11:23:29 -04:00
vrrpd lib, vrrpd: Use THREAD_ARG 2022-07-21 08:30:50 -04:00
vtysh vtysh: Show allow-reserved-ranges once in config 2022-09-27 21:41:24 +03: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 Merge pull request #12060 from donaldsharp/tunnel_shenanigans 2022-10-05 17:50:48 -05: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 build: FRR 8.5 development version 2022-10-04 21:33:18 +03: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