The FRRouting Protocol Suite
Find a file
Philippe Guibert 2b6bcda64b bgpd: fix label in adj-rib-out
After modifying the "label vpn export value", the vpn label information
of the VRF is not updated to the peers.

For example, the 192.168.0.0/24 prefix is announced to the peer with a
label value of 222.

> router bgp 65500
> [..]
>  neighbor 192.0.2.2 remote-as 65501
>  address-family ipv4-vpn
>   neighbor 192.0.2.2 activate
>  exit-address-family
> exit
> router bgp 65500 vrf vrf2
>  address-family ipv4 unicast
>   network 192.168.0.0/24
>   label vpn export 222
>   rd vpn export 444:444
>   rt vpn both 53:100
>   export vpn
>   import vpn
>  exit-address-family

Changing the label with "label vpn export" does not update the label
value to the peer unless the BGP sessions is re-established.

No labels are stored are stored struct bgp_adj_out so that it is
impossible to compare the current value with the previous value
in adj-RIB-out.

Reference the bgp_labels pointer in struct bgp_adj_out and compare the
values when updating adj-RIB-out.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-06-05 13:11:29 +02:00
.github ci: only run conflict check on pull-requests 2024-06-02 10:14:34 -04:00
alpine docker: Fix post function for Alpine build (package) 2024-03-09 09:33:40 +02:00
babeld babeld: changes for code maintainability 2024-02-20 00:25:27 +05:30
bfdd bfdd: fix BFD_GETCBIT 2024-04-15 01:57:16 +03:00
bgpd bgpd: fix label in adj-rib-out 2024-06-05 13:11:29 +02:00
debian debian: libyang3 2024-05-08 01:48:06 +02:00
doc bgpd: Adjust terminology related to DSCP 2024-06-02 06:44:59 -04:00
docker docker: update docker reference to follow latest docs 2024-05-31 11:13:16 -04:00
eigrpd *: Modify agentx to be allowed to be called 2024-05-10 10:16:29 -04:00
fpm *: add XREF_SETUP() to libraries and utilites 2024-05-02 23:03:08 +02:00
gdb lib: add simplified native msg support 2023-12-26 08:34:56 -05:00
grpc build: throw in a few more XREF_SETUP 2024-05-09 18:02:49 +02:00
include build: include our own copy of if.h and dependencies 2024-04-26 17:11:53 +02:00
isisd Revert "isisd: When the metric-type is configured as "wide", the IS-IS generates incorrect metric values for IPv4 directly connected routes." 2024-06-04 17:31:40 +03:00
ldpd *: Modify agentx to be allowed to be called 2024-05-10 10:16:29 -04:00
lib lib: comments about public vs private message apis 2024-06-04 00:51:33 -04:00
m4 build: add recursion limit for AX_RECURSIVE_EVAL 2024-01-27 19:01:19 +01:00
mgmtd mgmtd: add missing diagnostic show cmd output (notify maps) 2024-05-09 00:15:58 -04:00
mlag build: throw in a few more XREF_SETUP 2024-05-09 18:02:49 +02:00
nhrpd nhrpd: fixes core dump on shutdown 2024-05-30 12:25:07 -07:00
ospf6d ospf6d: Prevent heap-buffer-overflow with unknown type 2024-05-30 08:02:25 -04:00
ospfclient *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospfd Merge pull request #16075 from anlancs/ospfd/fix-cmd-instance 2024-05-28 13:06:43 -04:00
pathd pathd: clean up a log message 2024-04-30 14:34:58 -04:00
pbrd *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
pceplib Merge pull request #15215 from donaldsharp/pceplib_fixup 2024-01-25 09:59:59 +02:00
pimd pimd: Give a clearer warning when the kernel is not compiled right 2024-05-31 11:29:40 -04:00
pkgsrc build: homologize path handling 2024-01-27 19:02:52 +01:00
python Merge pull request #15980 from donaldsharp/agentx_update 2024-05-20 22:33:01 +03:00
qpb *: add XREF_SETUP() to libraries and utilites 2024-05-02 23:03:08 +02:00
redhat debian, redhat, snapcraft: Libyang min version is 2.1.128 2024-04-16 13:45:12 +02:00
ripd *: Modify agentx to be allowed to be called 2024-05-10 10:16:29 -04:00
ripngd ripngd: convert RPC commands to mgmtd 2024-04-22 16:36:23 +03:00
sharpd zebra, sharpd: add srv6 End.DX6 support 2024-04-25 13:54:25 +02:00
snapcraft debian, redhat, snapcraft: Libyang min version is 2.1.128 2024-04-16 13:45:12 +02:00
staticd Merge pull request #15285 from idryzhov/staticd-nexthop-refcounter 2024-02-08 15:53:30 -05:00
tests bgpd: add bgp_labels hash 2024-06-05 13:11:29 +02:00
tools tools/gcc-plugins: warn for suseconds_t format 2024-05-02 22:26:53 +02:00
vrrpd *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
vtysh lib, vtysh, topotests: fix 'show ip[v6] access-list ... json' formatting 2024-05-14 13:22:20 +02:00
watchfrr build: homologize path handling 2024-01-27 19:02:52 +01:00
yang yang: use relative path instead of absolute one for route-map 2024-05-29 13:11:03 +02:00
zebra Merge pull request #15082 from louis-6wind/fix-iff-lower-up 2024-05-29 00:01:20 +03:00
.clang-format build: make clang-format ignore DEFUN/DEFPY 2024-05-08 21:47:14 +02:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.flake8 style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.git-blame-ignore-revs tools: Add black formatting commit to .git-blame-ignore-revs 2024-04-28 12:50:51 +03:00
.gitignore python: add tool to expand typesafe definitions 2024-04-29 17:37:49 +02:00
.isort.cfg style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.pylintrc style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -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: update packaging & docs for dir changes 2024-01-27 19:01:19 +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 #15885 from opensourcerouting/gcc-unrecognized-ms-anon-tag 2024-05-07 16:00:53 -04:00
COPYING *: sort out & explain licenses used in FRR 2023-02-09 12:46:13 +01:00
Makefile.am build: homologize path handling 2024-01-27 19:02:52 +01: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