]> git.puffer.fish Git - mirror/frr.git/commit
bgpd: Pass global ASN for confederation peers if not AS_SPECIFIED
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 21 Feb 2023 21:10:45 +0000 (23:10 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Wed, 22 Feb 2023 17:25:35 +0000 (17:25 +0000)
commitef6f76144beb88a3bc0a382d3c923eb2997ccfea
tree96b4f8c72f38c3ca60a66c0b1438588d8ff6d805
parenta640b4a3906d90780a50ff3e57ac06c1f0db96bb
bgpd: Pass global ASN for confederation peers if not AS_SPECIFIED

When we specify remote-as as external/internal, we need to set local_as to
bgp->as, instead of bgp->confed_id. Before this patch, (bgp->as != *as) is
always valid for such a case because *as is always 0.

Also, append peer->local_as as CONFED_SEQ to avoid other side withdrawing
the routes due to confederation own AS received and/or malformed as-path.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit db5a5ee6e4665b5f951ed2a37398820da4b762f1)
bgpd/bgp_attr.c
bgpd/bgpd.c