The function return true but it could not be export

智慧雨泽 zhihuiyuze at gmail.com
Sun Jun 6 05:24:38 CEST 2021


Hi,The function i wrote correctly returns net.

bird> show route 2602:feda:ab2::/48 where bgp_export_all()
Table master6:
2602:feda:ab2::/48   unicast [LL_IX 02:19:31.236] * (100) [i]
       via 2602:feda:ab2::1 on ll-ix

But it could be export.
bird> show route export TOHU_IX for 2602:feda:ab2::/48
bird>

I think that should be accept
export filter {
if bgp_export_all() then accept;
# if (roa_check(r6, net, bgp_path.last_nonaggregated) ~ [ROA_INVALID,
ROA_UNKNOWN]) then reject;
# if is_bogon_asn() then reject;
# if is_bogon_prefix() then reject;
# accept;
};
};
}
Why is it not exported?
The full configuration is.

protocol bgp TOHU_IX {
local as LOCAL_ASN;
description "tohu ix IX-VPS BGP";
direct;
source address 2602:feda:ab5::1;
neighbor 2602:feda:ab6::1%'tuhu-ix' as 141011;
ipv6 {
next hop self;
import filter {
if is_bogon_asn() then reject;
if is_bogon_prefix() then reject;
if (roa_check(r6, net, bgp_path.last_nonaggregated) = ROA_VALID) then reject
;
accept;
};
export filter {
if bgp_export_all() then accept;
# if (roa_check(r6, net, bgp_path.last_nonaggregated) ~ [ROA_INVALID,
ROA_UNKNOWN]) then reject;
# if is_bogon_asn() then reject;
# if is_bogon_prefix() then reject;
# accept;
};
};
}


function bgp_export() {
if net !~ OUR_PREFIXES then return false;
if is_bogon_asn() then return false;
if is_bogon_prefix() then return false;
if net_len_too_long() then {
# print "net ", net, " prefix too long";
return false;
}
if proto = "BGP_Prefix" then return true;
if proto = "LL_IX" then{
if bgp_path.len = 0 then{
return true;
}
}
if proto = "TOHU_IX" then{
if bgp_path.len = 0 then{
return true;
}
}
return false;
}


function bgp_export_all() {
if bgp_export() then {
return true;
}

if source != RTS_BGP then{
return false;
}
if is_bogon_asn() then return false;
if is_bogon_prefix() then return false;
return true;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20210606/51ccbd50/attachment.htm>


More information about the Bird-users mailing list