mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 19:02:58 +00:00
Merge pull request #6191 from NaveenThanikachalam/ibgp_connected
bgpd: Enforce self-next-hop check in next-hop update.
This commit is contained in:
commit
4c60e50f7f
@ -745,6 +745,14 @@ static void evaluate_paths(struct bgp_nexthop_cache *bnc)
|
||||
bnc_is_valid_nexthop =
|
||||
bgp_isvalid_labeled_nexthop(bnc) ? 1 : 0;
|
||||
} else {
|
||||
if (bgp_update_martian_nexthop(
|
||||
bnc->bgp, afi, safi, path->type,
|
||||
path->sub_type, path->attr, rn)) {
|
||||
if (BGP_DEBUG(nht, NHT))
|
||||
zlog_debug(
|
||||
"%s: prefix %pRN (vrf %s), ignoring path due to martian or self-next-hop",
|
||||
__func__, rn, bgp_path->name);
|
||||
} else
|
||||
bnc_is_valid_nexthop =
|
||||
bgp_isvalid_nexthop(bnc) ? 1 : 0;
|
||||
}
|
||||
|
@ -3234,9 +3234,9 @@ static bool overlay_index_equal(afi_t afi, struct bgp_path_info *path,
|
||||
}
|
||||
|
||||
/* Check if received nexthop is valid or not. */
|
||||
static bool bgp_update_martian_nexthop(struct bgp *bgp, afi_t afi, safi_t safi,
|
||||
uint8_t type, uint8_t stype,
|
||||
struct attr *attr, struct bgp_node *rn)
|
||||
bool bgp_update_martian_nexthop(struct bgp *bgp, afi_t afi, safi_t safi,
|
||||
uint8_t type, uint8_t stype, struct attr *attr,
|
||||
struct bgp_node *rn)
|
||||
{
|
||||
bool ret = false;
|
||||
|
||||
|
@ -677,4 +677,7 @@ extern int bgp_show_table_rd(struct vty *vty, struct bgp *bgp, safi_t safi,
|
||||
enum bgp_show_type type, void *output_arg,
|
||||
bool use_json);
|
||||
extern int bgp_best_path_select_defer(struct bgp *bgp, afi_t afi, safi_t safi);
|
||||
extern bool bgp_update_martian_nexthop(struct bgp *bgp, afi_t afi, safi_t safi,
|
||||
uint8_t type, uint8_t stype,
|
||||
struct attr *attr, struct bgp_node *rn);
|
||||
#endif /* _QUAGGA_BGP_ROUTE_H */
|
||||
|
Loading…
Reference in New Issue
Block a user