![]() Prefix-SID path attribute Label-index TLV (type-1) is used by SR-MPLS. And Label-index TLV MUST ignored if that path attribute is append on non-Labeled-unicast UPDATE message described on [ref1]. There is a problem case exist arround this implementation. This commit fix that. Before this commit, unfortunally, setting Label-Index value is skipped at somecases. because, Label-Index TLV implementation check the AFI/SAFI pair. by mp_update variable that is set by bgp_mp_reach_parse function. if MP_REACH_NLRI is present after PREFIX_SID, bgp_attr_psid_sub function can't understand AFI/SAFI pair. and the order of each path attributes is never no-deterministic thing for receiver.[ref2] In this commit, I re-located checking code of AFI/SAFI pair after path-attr loop. [ref1](https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-27#section-3.2) > The Originator SRGB TLV may only appear in a BGP Prefix-SID attribute > attached to IPv4/IPv6 Labeled Unicast prefixes ([RFC8277]). It MUST > be ignored when received for other BGP AFI/SAFI combinations. [ref2](https://tools.ietf.org/html/rfc4271#section-5) > The sender of an UPDATE message SHOULD order path attributes within > the UPDATE message in ascending order of attribute type. The > receiver of an UPDATE message MUST be prepared to handle path > attributes within UPDATE messages that are out of order. Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com> |
||
---|---|---|
.github | ||
alpine | ||
babeld | ||
bfdd | ||
bgpd | ||
debian | ||
doc | ||
docker | ||
eigrpd | ||
fpm | ||
gdb | ||
grpc | ||
include | ||
isisd | ||
ldpd | ||
lib | ||
m4 | ||
mlag | ||
nhrpd | ||
ospf6d | ||
ospfclient | ||
ospfd | ||
pbrd | ||
pimd | ||
pkgsrc | ||
python | ||
qpb | ||
redhat | ||
ripd | ||
ripngd | ||
scripts/coccinelle | ||
sharpd | ||
snapcraft | ||
solaris | ||
staticd | ||
tests | ||
tools | ||
vrrpd | ||
vtysh | ||
watchfrr | ||
yang | ||
zebra | ||
.clang-format | ||
.dir-locals.el | ||
.dockerignore | ||
.gitignore | ||
bootstrap.sh | ||
buildtest.sh | ||
changelog-auto.in | ||
config.version.in | ||
configure.ac | ||
COPYING | ||
COPYING-LGPLv2.1 | ||
Makefile.am | ||
README.md | ||
stamp-h.in |
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 as well as Solaris 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