]> git.proxmox.com Git - mirror_frr.git/commitdiff
Merge pull request #12322 from fdumontet6WIND/confed_num
authorRuss White <russ@riw.us>
Tue, 6 Dec 2022 13:59:44 +0000 (08:59 -0500)
committerGitHub <noreply@github.com>
Tue, 6 Dec 2022 13:59:44 +0000 (08:59 -0500)
bgp:  fix case where confederation id same as member-as

1  2 
bgpd/bgp_route.c
bgpd/bgp_vty.c
bgpd/bgpd.c

index 4ade647cd08582a2b0e21b0a0b67c151eb528536,24ce78a9acbe151ec4bb74ebc54c2cb628f55ae6..9fb8d7cfee4bfa4025f8cfc67fef871e8cebcec4
@@@ -4107,17 -4111,10 +4107,15 @@@ int bgp_update(struct peer *peer, cons
                if (aspath_get_last_as(attr->aspath) == bgp->as)
                        do_loop_check = 0;
  
 +      if (CHECK_FLAG(peer->af_flags[afi][safi], PEER_FLAG_REFLECTOR_CLIENT))
 +              bgp_nht_param_prefix = NULL;
 +      else
 +              bgp_nht_param_prefix = p;
 +
        /* AS path loop check. */
        if (do_loop_check) {
-               if (aspath_loop_check(attr->aspath, bgp->as) > allowas_in ||
-                   (CHECK_FLAG(bgp->config, BGP_CONFIG_CONFEDERATION) &&
-                    (aspath_loop_check(attr->aspath, bgp->confed_id) >
-                     allowas_in))) {
+               if (aspath_loop_check(attr->aspath, bgp->as) >
+                   peer->allowas_in[afi][safi]) {
                        peer->stat_pfx_aspath_loop++;
                        reason = "as-path contains our own AS;";
                        goto filtered;
diff --cc bgpd/bgp_vty.c
Simple merge
diff --cc bgpd/bgpd.c
Simple merge