Go to file
Philippe Guibert f56a15b5bd zebra: refresh vxlan evpn contexts, when bridge interface goes up
When using bgp evpn rt5 setup, after BGP configuration has been
loaded, if the user attempts to detach and reattach the bridged
vxlan interface from the bridge, then BGP loses its BGP EVPN
contexts, and a refresh of BGP configuration is necessary to
maintain consistency between linux configuration and BGP EVPN
contexts (RIB). The following command can lead to inconsistency:

ip netns exec cust1 ip link set dev vxlan1000 nomaster
ip netns exec cust1 ip link set dev vxlan1000 master br1000

consecutive to the, BGP l2vpn evpn RIB is empty, and the way to
solve this until now is to reconfigure EVPN like this:

vrf cust1
 no vni 1000
 vni 1000
exit-vrf

Actually, the link information is correctly handled. In fact,
at the time of link event, the lower link status of the bridge
interface was not yet up, thus preventing from establishing
BGP EVPN contexts. In fact, when a bridge interface does not
have any slave interface, the link status of the bridge interface
is down. That change of status comes a bit after, and is not
detected by slave interfaces, as this event is not intercepted.

This commit intercepts the bridge link up event, and triggers
a check on slaved vxlan interfaces.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-09-17 10:25:38 +02:00
.github .github: improve bug report template 2020-10-20 16:12:03 -04:00
alpine alpine: fix path for daemons file install 2021-08-30 15:21:59 -04:00
babeld Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
bfdd Merge pull request #9331 from idryzhov/explicit-exit 2021-08-26 11:57:33 -04:00
bgpd Merge pull request #9557 from idryzhov/bgp-view-cleanup 2021-09-07 10:14:30 +03:00
debian debian: update list of protos in pkg desc 2021-09-04 12:53:23 -04:00
doc doc: don't use abbreviate 2021-09-07 07:11:20 +00:00
docker docker: update with micronet changes 2021-09-04 09:04:46 -04:00
eigrpd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
fpm build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
include include: Update rtnetlink.h to be correct with upstream kernels 2021-08-16 15:18:55 -04:00
isisd Merge pull request #9499 from gsol10/bogus_lsp 2021-08-27 19:04:29 -04:00
ldpd *: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
lib Merge pull request #9563 from opensourcerouting/build-strict-prototypes 2021-09-06 12:28:33 -04:00
m4 grpc: improve checks for GRPC C++ requirements 2021-05-22 00:01:06 +00:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd Merge pull request #9488 from pguibert6WIND/fix_nhrp_neigh_state 2021-08-27 19:00:45 -04:00
ospf6d Merge pull request #9521 from opensourcerouting/ospf6d-gr-fixes 2021-09-06 12:36:54 +03:00
ospfclient build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
ospfd Merge pull request #9563 from opensourcerouting/build-strict-prototypes 2021-09-06 12:28:33 -04:00
pathd *: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
pbrd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
pceplib pceplib: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
pimd Merge pull request #9480 from SaiGomathiN/pim-coverity 2021-08-27 10:53:35 +02:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python build: add -Werror to xrelfo log format warnings 2021-06-24 16:42:59 +02:00
qpb build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
redhat redhat: Install frr.conf only if no per daemon config exists 2021-08-11 12:03:29 +02:00
ripd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
ripngd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
sharpd *: Drop break after using frr_help_exit() in switch/case 2021-08-25 10:49:05 +03:00
snapcraft snapcraft: add missing dependency 2021-08-23 15:08:05 +03:00
staticd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
tests topotests: update file format and resolving id 2021-09-07 07:07:18 +00:00
tools tests: cleanup: rerun changed files through black 2021-09-04 09:04:47 -04:00
vrrpd lib: remove unused argument from vrf_cmd_init 2021-08-26 12:01:22 +03:00
vtysh build: ignore prototype warnings from readline 2021-09-02 13:00:35 +02:00
watchfrr lib, watchfrr: remove HAVE_SYSTEMD, use own code 2021-06-29 17:57:04 +02:00
yang Merge pull request #9439 from ton31337/feature/set_ext_community_to_none 2021-09-01 12:55:45 -04:00
zebra zebra: refresh vxlan evpn contexts, when bridge interface goes up 2021-09-17 10:25:38 +02:00
.clang-format lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
.dir-locals.el tests: Update dir-locals 2021-08-27 13:10:06 -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 debian: Remove the changelog-auto automation in favor of dch 2021-07-03 17:02:37 +02: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: make sed calls portable 2021-09-02 13:00:35 +02: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: Update Documentation to note Solaris Unsupported status 2020-09-21 10:02:20 -04: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