Here is the FRR configuration container-side:
log syslog informational
!
ip router-id {{router_id}}
!
router bgp {{bgp_asn}}
neighbor gateway peer-group
neighbor gateway remote-as external
neighbor gateway bfd
no bgp network import-check
neighbor eth1 interface peer-group gateway
!
address-family ipv4 unicast
no neighbor gateway activate
!
address-family ipv6 unicast
network {{routed_ipv6_range}}
neighbor gateway activate
neighbor gateway prefix-list my_ips out
neighbor gateway prefix-list ALL in
!
!
ip prefix-list ALL seq 10 permit any
ipv6 prefix-list ALL seq 10 permit any
!
ipv6 prefix-list my_ips seq 10 permit {{routed_ipv6_range}}
ipv6 prefix-list my_ips seq 20 deny any
route-map my_ips permit 10
match ipv6 address prefix-list my_ips
route-map my_ips permit 20
match ip address prefix-list my_ips
!
It's rather simple (this is basically the ansible template).
log syslog informational
!
ip router-id {{router_id}}
!
router bgp {{bgp_asn}}
neighbor gateway peer-group
neighbor gateway remote-as external
neighbor gateway bfd
no bgp network import-check
neighbor eth1 interface peer-group gateway
!
address-family ipv4 unicast
no neighbor gateway activate
!
address-family ipv6 unicast
network {{routed_ipv6_range}}
neighbor gateway activate
neighbor gateway prefix-list my_ips out
neighbor gateway prefix-list ALL in
!
!
ip prefix-list ALL seq 10 permit any
ipv6 prefix-list ALL seq 10 permit any
!
ipv6 prefix-list my_ips seq 10 permit {{routed_ipv6_range}}
ipv6 prefix-list my_ips seq 20 deny any
route-map my_ips permit 10
match ipv6 address prefix-list my_ips
route-map my_ips permit 20
match ip address prefix-list my_ips
!
It's rather simple (this is basically the ansible template).