]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Stop prepending peer-as if self-originated and lastas configured 9398/head
authorDon Slice <dslice@nvidia.com>
Wed, 11 Aug 2021 12:45:23 +0000 (08:45 -0400)
committermergify-bot <noreply@mergify.io>
Sat, 14 Aug 2021 08:26:35 +0000 (08:26 +0000)
Problem seen where if "set aspath-prepend last-as" configured and
applied outbound, we prepend the peer's asn which causes our self-
originated routes to be denied.

Signed-off-by: Don Slice <dslice@nvidia.com>
(cherry picked from commit 6ba0adacd25349a0b5088d7e64106a859031f150)

bgpd/bgp_routemap.c

index fc5b52b7778b1c6190460eee1730394f8ca5e87a..22df4ee7fd25ff5874c700c72834638dd1c9ce77 100644 (file)
@@ -1939,9 +1939,8 @@ route_set_aspath_prepend(void *rule, const struct prefix *prefix, void *object)
                aspath_prepend(aspath, new);
        } else {
                as_t as = aspath_leftmost(new);
-               if (!as)
-                       as = path->peer->as;
-               new = aspath_add_seq_n(new, as, (uintptr_t)rule);
+               if (as)
+                       new = aspath_add_seq_n(new, as, (uintptr_t)rule);
        }
 
        path->attr->aspath = new;
@@ -4915,7 +4914,7 @@ DEFUN_YANG (set_aspath_prepend_lastas,
            SET_STR
            "Transform BGP AS_PATH attribute\n"
            "Prepend to the as-path\n"
-           "Use the peer's AS-number\n"
+           "Use the last AS-number in the as-path\n"
            "Number of times to insert\n")
 {
        int idx_num = 4;