]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Allow aspath prepending for default-originate with route-maps
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Tue, 15 Jun 2021 11:55:17 +0000 (14:55 +0300)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Tue, 22 Jun 2021 12:51:07 +0000 (15:51 +0300)
The initial idea was to deny prepending and just use _self_.

This patch at least allows prepending aspath with route-maps, but drops
all non-self ASNs in the path.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_updgrp_adv.c

index bb0c95e32feda647ffab3fcf2e05d47830f9e6a6..1ba462e2f0218721f4e810de0e779d8f669b264f 100644 (file)
@@ -829,6 +829,7 @@ void subgroup_default_originate(struct update_subgroup *subgrp, int withdraw)
                                struct bgp_path_info_extra tmp_pie;
 
                                tmp_attr = *pi->attr;
+                               tmp_attr.aspath = attr.aspath;
 
                                prep_for_rmap_apply(&tmp_pi, &tmp_pie, dest, pi,
                                                    pi->peer, &tmp_attr);
@@ -842,7 +843,6 @@ void subgroup_default_originate(struct update_subgroup *subgrp, int withdraw)
                                        continue;
                                } else {
                                        new_attr = bgp_attr_intern(&tmp_attr);
-                                       new_attr->aspath = attr.aspath;
 
                                        subgroup_announce_reset_nhop(
                                                (peer_cap_enhe(peer, afi, safi)