mirror of
https://github.com/FRRouting/frr.git
synced 2025-05-01 05:57:15 +02:00
bgpd: ignore nexthop validation for srv6-vpn
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
This commit is contained in:
parent
3a0220e46a
commit
7f8c7d9166
|
@ -66,9 +66,20 @@ static int bgp_isvalid_nexthop(struct bgp_nexthop_cache *bnc)
|
||||||
|
|
||||||
static int bgp_isvalid_labeled_nexthop(struct bgp_nexthop_cache *bnc)
|
static int bgp_isvalid_labeled_nexthop(struct bgp_nexthop_cache *bnc)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* In the case of MPLS-VPN, the label is learned from LDP or other
|
||||||
|
* protocols, and nexthop tracking is enabled for the label.
|
||||||
|
* The value is recorded as BGP_NEXTHOP_LABELED_VALID.
|
||||||
|
* In the case of SRv6-VPN, we need to track the reachability to the
|
||||||
|
* SID (in other words, IPv6 address). As in MPLS, we need to record
|
||||||
|
* the value as BGP_NEXTHOP_SID_VALID. However, this function is
|
||||||
|
* currently not implemented, and this function assumes that all
|
||||||
|
* Transit routes for SRv6-VPN are valid.
|
||||||
|
*/
|
||||||
return (bgp_zebra_num_connects() == 0
|
return (bgp_zebra_num_connects() == 0
|
||||||
|| (bnc && CHECK_FLAG(bnc->flags, BGP_NEXTHOP_LABELED_VALID)
|
|| (bnc && bnc->nexthop_num > 0
|
||||||
&& bnc->nexthop_num > 0));
|
&& (CHECK_FLAG(bnc->flags, BGP_NEXTHOP_LABELED_VALID)
|
||||||
|
|| bnc->bgp->srv6_enabled)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void bgp_unlink_nexthop_check(struct bgp_nexthop_cache *bnc)
|
static void bgp_unlink_nexthop_check(struct bgp_nexthop_cache *bnc)
|
||||||
|
|
Loading…
Reference in a new issue