43 lines
998 B
Plaintext
43 lines
998 B
Plaintext
function is_self_net() {
|
|
return net ~ NETSETv4;
|
|
}
|
|
|
|
function is_valid_network() {
|
|
return net ~ [
|
|
172.20.0.0/14{21,29}, # dn42
|
|
172.20.0.0/24{28,32}, # dn42 Anycast
|
|
172.21.0.0/24{28,32}, # dn42 Anycast
|
|
172.22.0.0/24{28,32}, # dn42 Anycast
|
|
172.23.0.0/24{28,32}, # dn42 Anycast
|
|
172.31.0.0/16+, # ChaosVPN
|
|
10.100.0.0/14+, # ChaosVPN
|
|
10.127.0.0/16{16,32}, # neonetwork
|
|
10.0.0.0/8{15,24} # Freifunk.net
|
|
];
|
|
}
|
|
|
|
function is_self_net_v6() {
|
|
if net ~ NETSETv6 then {
|
|
print "[dn42] route", net, "is inside", NETSETv6;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function is_valid_network_v6() {
|
|
return net ~ [
|
|
fd00::/8{44,64} # ULA address space as per RFC 4193
|
|
];
|
|
}
|
|
|
|
function is_igp_network() {
|
|
if net.type = NETv4 && net ~ NETSETv4 then {
|
|
return true;
|
|
} else if net.type = NETv6 && net ~ NETSETv6 then {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|