26e1b9cde6
Change-Id: I2214fea8d8c1563b08c4015c9e91a29cf071af5a
45 lines
1.8 KiB
Smarty
45 lines
1.8 KiB
Smarty
# Generated by confd
|
|
|
|
function osh_filters ()
|
|
{
|
|
# support any addresses matching our secondary announcements
|
|
{{- range .Values.networking.bgp.ipv4.additional_cidrs }}
|
|
if ( net ~ {{ . }} ) then { accept; }
|
|
{{- end }}
|
|
}
|
|
|
|
filter calico_pools {
|
|
calico_aggr();
|
|
osh_filters();
|
|
{{`{{range ls "/v1/ipam/v4/pool"}}{{$data := json (getv (printf "/v1/ipam/v4/pool/%s" .))}}`}}
|
|
{{` if ( net ~ {{$data.cidr}} ) then {`}}
|
|
accept;
|
|
}
|
|
{{`{{end}}`}}
|
|
reject;
|
|
}
|
|
|
|
{{`{{$network_key := printf "/bgp/v1/host/%s/network_v4" (getenv "NODENAME")}}{{if exists $network_key}}{{$network := getv $network_key}}`}}
|
|
filter calico_ipip {
|
|
{{`{{range ls "/v1/ipam/v4/pool"}}{{$data := json (getv (printf "/v1/ipam/v4/pool/%s" .))}}`}}
|
|
{{` if ( net ~ {{$data.cidr}} ) then {`}}
|
|
{{`{{if $data.ipip_mode}}{{if eq $data.ipip_mode "cross-subnet"}}`}}
|
|
{{` if defined(bgp_next_hop) && ( bgp_next_hop ~ {{$network}} ) then`}}
|
|
{{` krt_tunnel = ""; {{/* Destination in ipPool, mode is cross sub-net, route from-host on subnet, do not use IPIP */}}`}}
|
|
else
|
|
{{` krt_tunnel = "{{$data.ipip}}"; {{/* Destination in ipPool, mode is cross sub-net, route from-host off subnet, set the tunnel (if IPIP not enabled, value will be "") */}}`}}
|
|
accept;
|
|
{{` } {{else}}`}}
|
|
{{` krt_tunnel = "{{$data.ipip}}"; {{/* Destination in ipPool, mode not cross sub-net, set the tunnel (if IPIP not enabled, value will be "") */}}`}}
|
|
accept;
|
|
{{` } {{end}} {{else}}`}}
|
|
{{` krt_tunnel = "{{$data.ipip}}"; {{/* Destination in ipPool, mode field is not present, set the tunnel (if IPIP not enabled, value will be "") */}}`}}
|
|
accept;
|
|
{{` } {{end}}`}}
|
|
{{`{{end}}`}}
|
|
{{` accept; {{/* Destination is not in any ipPool, accept */}}`}}
|
|
}
|
|
{{`{{else}}`}}
|
|
filter calico_ipip { accept; }
|
|
{{`{{end}}{{/* End of 'exists $network_key' */}}`}}
|