I'm unable to reproduce the reported behavior. Could you please
try to
reduce your config to a minimum config that would reproduce this
behavior? What version are you using?
Thanks,
Maria
On 8/13/20 5:46 PM, Skyler Mäntysaari wrote:
> Line 360 is the prefix_is_bogon if statement.
>
> The bogon lists can be seen from:
>
https://github.com/neptune-networks/peering/blob/master/out/router.fqdn.example/bird.conf#L36-L84
<https://github.com/neptune-networks/peering/blob/master/out/router.fqdn.example/bird.conf#L36-L84>
>
> -----------------------------------------------------------
> if prefix_is_bogon() then
> reject "prefix is bogon - REJECTING ", net;
> -----------------------------------------------------------
> function prefix_is_bogon() {
> if net.type = NET_IP4 then
> if net ~ BOGONS_4 then return true;
> if net.type = NET_IP6 then
> if net ~ BOGONS_6 then return true;
> return false;
> }
> -----------------------------------------------------------
>
> P.S Please do not reply to me directly, but to the list.
>
> On 13/08/2020 18.41, Maria Matějka wrote:
>> Hello!
>> The error message tells you that you are passing something
strange to
>> the condition on line 360. What do you have on line 360?
>> Maria
>>
>> On August 13, 2020 4:46:12 PM GMT+02:00, "Skyler Mäntysaari"
>> <[email protected] <mailto:[email protected]>> wrote:
>>
>> Hi there,
>>
>> I'm using the template from
>>
https://github.com/neptune-networks/peering/blob/master/out/router.fqdn.example/bird.conf
<https://github.com/neptune-networks/peering/blob/master/out/router.fqdn.example/bird.conf>
>> for my filters, and I'm getting argument related errors in
logs.
>>
>> What's the issue with those filters?
>>
>> P.S I need to find a guide on how to do bird2 and RPKI as
well.
>>
>> Logs:
>>
------------------------------------------------------------------------
>> 2020-08-13 17:37:47 <ERR> filters, line 360: Argument 1 of
instruction
>> FI_CONDITION must be of type T_BOOL, got 0x00
>> 2020-08-13 17:37:47 <ERR> filters, line 360: Argument 1 of
instruction
>> FI_CONDITION must be of type T_BOOL, got 0x00
>> 2020-08-13 17:37:47 <ERR> filters, line 360: Argument 1 of
instruction
>> FI_CONDITION must be of type T_BOOL, got 0x00
>> 2020-08-13 17:37:47 <ERR> filters, line 360: Argument 1 of
instruction
>> FI_CONDITION must be of type T_BOOL, got 0x00
>> 2020-08-13 17:37:47 <ERR> filters, line 360: Argument 1 of
instruction
>> FI_CONDITION must be of type T_BOOL, got 0x00
>> 2020-08-13 17:37:47 <ERR> ...
>>
------------------------------------------------------------------------
>> Bird config, the filter functions:
>>
------------------------------------------------------------------------
>> # --- Filters (technically functions) ---
>> function default_import() {
>> if bgp_path.len > 32 then
>> reject "AS_PATH len [", bgp_path.len ,"] longer than
32 - REJECTING
>> ", net;
>>
>> if prefix_is_in_global_blacklist() then
>> reject "prefix is in global blacklist - REJECTING ",
net;
>>
>> if is_own_prefix() then
>> reject "prefix is our own - REJECTING ", net;
>>
>> if is_own_internal_prefix() then {
>> if !prefix_is_in_global_whitelist() then
>> reject "prefix is our own and internal - REJECTING
", net;
>> }
>>
>> if prefix_is_bogon() then
>> reject "prefix is bogon - REJECTING ", net;
>>
>> if net.type = NET_IP4 then
>> if !is_prefix_length_valid(8, 24) then
>> reject "prefix len [", net.len, "] not in 8-24 -
REJECTING ", net;
>>
>> if net.type = NET_IP6 then
>> if !is_prefix_length_valid(12, 56) then
>> reject "prefix len [", net.len, "] not in 12-56 -
REJECTING ", net;
>>
>> #perform_rpki_validation();
>>
>> if route_is_rpki_invalid() then
>> reject "RPKI, route is INVALID - REJECTING ", net;
>>
>> add_region_community();
>> add_site_community();
>> honor_graceful_shutdown();
>>
>> accept;
>> }
>>
>> function peer_import() {
>> scrub_communities_in();
>> add_peer_community();
>> default_import();
>> }
>>
>> function peer_export() {
>> strip_private_asns();
>> add_global_prepends();
>>
>> if is_own_prefix() then accept;
>>
>> if route_is_rpki_invalid() then
>> reject "RPKI, route is INVALID - NOT ANNOUNCING ", net;
>>
>> if is_own_internal_prefix() then {
>> if !prefix_is_in_global_whitelist() then
>> reject "prefix is our own and internal - NOT
ANNOUNCING ", net;
>> }
>>
>> if net.type = NET_IP4 then
>> if !is_prefix_length_valid(8, 24) then
>> reject "prefix len [", net.len, "] not in 8-24 -
REJECTING ", net;
>>
>> if net.type = NET_IP6 then
>> if !is_prefix_length_valid(12, 48) then
>> reject "prefix len [", net.len, "] not in 12-48 -
REJECTING ", net;
>>
>> if prefix_is_bogon() then
>> reject "prefix is bogon - NOT ANNOUNCING ", net;
>>
>> if as_path_contains_invalid_asn() then
>> reject "AS_PATH [", bgp_path ,"] contains invalid
ASN - REJECTING
>> ", net;
>>
>> if should_not_export_to_site() then
>> reject "NO_EXPORT community in place for site - NOT
ANNOUNCING ", net;
>>
>> if should_not_export_to_region() then
>> reject "NO_EXPORT community in place for region -
NOT ANNOUNCING ",
>> net;
>>
>> if should_not_export_to_peers() then
>> reject "NO_EXPORT community in place for peers - NOT
ANNOUNCING ", net;
>>
>> if prefix_is_in_global_blacklist() then
>> reject "prefix is in global blacklist - REJECTING ",
net;
>>
>> if was_learned_from_customer() then accept;
>>
>> reject;
>> }
>>
>> function upstream_import() {
>> scrub_communities_in();
>> add_upstream_community();
>> default_import();
>> }
>>
>> function upstream_export() {
>> strip_private_asns();
>> add_global_prepends();
>>
>> if is_own_prefix() then accept;
>>
>> if route_is_rpki_invalid() then
>> reject "RPKI, route is INVALID - NOT ANNOUNCING ", net;
>>
>> if is_own_internal_prefix() then {
>> if !prefix_is_in_global_whitelist() then
>> reject "prefix is our own and internal - NOT
ANNOUNCING ", net;
>> }
>>
>> if net.type = NET_IP4 then
>> if !is_prefix_length_valid(8, 24) then
>> reject "prefix len [", net.len, "] not in 8-24 -
REJECTING ", net;
>>
>> if net.type = NET_IP6 then
>> if !is_prefix_length_valid(12, 48) then
>> reject "prefix len [", net.len, "] not in 12-48 -
REJECTING ", net;
>>
>> if prefix_is_bogon() then
>> reject "prefix is bogon - NOT ANNOUNCING ", net;
>>
>> if as_path_contains_invalid_asn() then
>> reject "AS_PATH [", bgp_path ,"] contains invalid
ASN - REJECTING
>> ", net;
>>
>> if should_not_export_to_site() then
>> reject "NO_EXPORT community in place for site - NOT
ANNOUNCING ", net;
>>
>> if should_not_export_to_region() then
>> reject "NO_EXPORT community in place for region -
NOT ANNOUNCING ",
>> net;
>>
>> if should_not_export_to_upstreams() then
>> reject "NO_EXPORT community in place for upstreams -
NOT ANNOUNCING
>> ", net;
>>
>> if prefix_is_in_global_blacklist() then
>> reject "prefix is in global blacklist - REJECTING ",
net;
>>
>> if was_learned_from_customer() then accept;
>>
>> reject;
>> }
>>
>> function customer_import() {
>> scrub_communities_in();
>> add_customer_community();
>> default_import();
>> }
>>
>> function customer_export() {
>> strip_private_asns();
>> add_global_prepends();
>>
>> if is_own_prefix() then accept;
>>
>> if route_is_rpki_invalid() then
>> reject "RPKI, route is INVALID - NOT ANNOUNCING ", net;
>>
>> if is_own_internal_prefix() then {
>> if !prefix_is_in_global_whitelist() then
>> reject "prefix is our own and internal - NOT
ANNOUNCING ", net;
>> }
>>
>> if net.type = NET_IP4 then
>> if !is_prefix_length_valid(8, 24) then
>> reject "prefix len [", net.len, "] not in 8-24 -
REJECTING ", net;
>>
>> if net.type = NET_IP6 then
>> if !is_prefix_length_valid(12, 48) then
>> reject "prefix len [", net.len, "] not in 12-48 -
REJECTING ", net;
>>
>> if prefix_is_bogon() then
>> reject "prefix is bogon - NOT ANNOUNCING ", net;
>>
>> if as_path_contains_invalid_asn() then
>> reject "AS_PATH [", bgp_path ,"] contains invalid
ASN - REJECTING
>> ", net;
>>
>> if should_not_export_to_site() then
>> reject "NO_EXPORT community in place for site - NOT
ANNOUNCING ", net;
>>
>> if should_not_export_to_region() then
>> reject "NO_EXPORT community in place for region -
NOT ANNOUNCING ",
>> net;
>>
>> if should_not_export_to_customers() then
>> reject "NO_EXPORT community in place for customers -
NOT ANNOUNCING
>> ", net;
>>
>> if prefix_is_in_global_blacklist() then
>> reject "prefix is in global blacklist - REJECTING ",
net;
>>
>> if was_learned_from_peer() then accept;
>> if was_learned_from_private_peer() then accept;
>> if was_learned_from_upstream() then accept;
>> if was_learned_from_customer() then accept;
>>
>> reject;
>> }
>>
>> function core_import() {
>> if prefix_is_bogon() then reject;
>>
>> if prefix_is_in_global_blacklist() then
>> reject "prefix is in global blacklist - REJECTING ",
net;
>>
>> honor_graceful_shutdown();
>> accept;
>> }
>>
>> function core_export() {
>> if prefix_is_bogon() then reject;
>>
>> if prefix_is_in_global_blacklist() then
>> reject "prefix is in global blacklist - REJECTING ",
net;
>>
>> if is_own_prefix() then accept;
>> if is_own_internal_prefix() then accept;
>> if was_learned_from_peer() then accept;
>> if was_learned_from_private_peer() then accept;
>> if was_learned_from_upstream() then accept;
>> if was_learned_from_customer() then accept;
>>
>> reject;
>> }
>>
------------------------------------------------------------------------
>> --
>> This email has been checked for viruses by Avast antivirus
software.
>> https://www.avast.com/antivirus <https://www.avast.com/antivirus>
>>
>>
>> --
>> Sent from my Android device with K-9 Mail. Please excuse my
brevity.
>
>
>
------------------------------------------------------------------------
> Avast logo
>
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>>
>
>
> This email has been checked for viruses by Avast antivirus
software.
> www.avast.com <http://www.avast.com>
>
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>>
>
>
>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>