Skip to content

Commit

Permalink
[docker-fpm-frr]: Enable sending ipv6 prefixes over ipv4 BGPMON sessi…
Browse files Browse the repository at this point in the history
…on (sonic-net#3799)

* Enable ipv6 prefixes over ipv4 BGPMON session
  • Loading branch information
pavel-shirshov authored and zhenggen-xu committed Jan 9, 2020
1 parent 3835159 commit 9494bf0
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 27 deletions.
21 changes: 12 additions & 9 deletions dockers/docker-fpm-frr/bgpd.conf.default.j2
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ route-map TO_BGP_PEER_V4 permit 100
route-map TO_BGP_PEER_V6 permit 100
!
{% if BGP_MONITORS is defined and BGP_MONITORS|length > 0 %}
route-map FROM_BGPMON_V4 deny 10
route-map FROM_BGPMON deny 10
!
route-map TO_BGPMON_V4 permit 10
route-map TO_BGPMON permit 10
!
{% endif %}
!
Expand Down Expand Up @@ -136,21 +136,24 @@ router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}
{% endblock bgp_peers_with_range %}
{% block bgp_monitors %}
{% if BGP_MONITORS is defined and BGP_MONITORS|length > 0 %}
neighbor BGPMON_V4 peer-group
neighbor BGPMON peer-group
{% for (name, prefix) in LOOPBACK_INTERFACE|pfx_filter %}
{% if prefix | ipv4 and name == 'Loopback0' %}
neighbor BGPMON_V4 update-source {{ prefix | ip }}
neighbor BGPMON update-source {{ prefix | ip }}
{% endif %}
{% endfor %}
neighbor BGPMON_V4 route-map FROM_BGPMON_V4 in
neighbor BGPMON_V4 route-map TO_BGPMON_V4 out
neighbor BGPMON_V4 send-community
neighbor BGPMON_V4 maximum-prefix 1
neighbor BGPMON route-map FROM_BGPMON in
neighbor BGPMON route-map TO_BGPMON out
neighbor BGPMON send-community
neighbor BGPMON maximum-prefix 1
{% for neighbor_addr, bgp_session in BGP_MONITORS.items() %}
neighbor {{ neighbor_addr }} remote-as {{ DEVICE_METADATA['localhost']['bgp_asn'] }}
neighbor {{ neighbor_addr }} peer-group BGPMON_V4
neighbor {{ neighbor_addr }} peer-group BGPMON
neighbor {{ neighbor_addr }} description {{ bgp_session['name'] }}
neighbor {{ neighbor_addr }} activate
address-family ipv6
neighbor {{ neighbor_addr }} activate
exit-address-family
{% endfor %}
{% endif %}
{% endblock bgp_monitors %}
Expand Down
21 changes: 12 additions & 9 deletions src/sonic-config-engine/tests/sample_output/bgpd_frr.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ route-map TO_BGP_PEER_V4 permit 100
!
route-map TO_BGP_PEER_V6 permit 100
!
route-map FROM_BGPMON_V4 deny 10
route-map FROM_BGPMON deny 10
!
route-map TO_BGPMON_V4 permit 10
route-map TO_BGPMON permit 10
!
!
route-map ISOLATE permit 10
Expand Down Expand Up @@ -73,14 +73,17 @@ router bgp 65100
neighbor PEER_V6 soft-reconfiguration inbound
neighbor PEER_V6 route-map TO_BGP_PEER_V6 out
exit-address-family
neighbor BGPMON_V4 peer-group
neighbor BGPMON_V4 update-source 10.1.0.32
neighbor BGPMON_V4 route-map FROM_BGPMON_V4 in
neighbor BGPMON_V4 route-map TO_BGPMON_V4 out
neighbor BGPMON_V4 send-community
neighbor BGPMON_V4 maximum-prefix 1
neighbor BGPMON peer-group
neighbor BGPMON update-source 10.1.0.32
neighbor BGPMON route-map FROM_BGPMON in
neighbor BGPMON route-map TO_BGPMON out
neighbor BGPMON send-community
neighbor BGPMON maximum-prefix 1
neighbor 10.20.30.40 remote-as 65100
neighbor 10.20.30.40 peer-group BGPMON_V4
neighbor 10.20.30.40 peer-group BGPMON
neighbor 10.20.30.40 description BGPMonitor
neighbor 10.20.30.40 activate
address-family ipv6
neighbor 10.20.30.40 activate
exit-address-family
!!
21 changes: 12 additions & 9 deletions src/sonic-config-engine/tests/sample_output/frr.conf
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ route-map TO_BGP_PEER_V4 permit 100
!
route-map TO_BGP_PEER_V6 permit 100
!
route-map FROM_BGPMON_V4 deny 10
route-map FROM_BGPMON deny 10
!
route-map TO_BGPMON_V4 permit 10
route-map TO_BGPMON permit 10
!
!
route-map ISOLATE permit 10
Expand Down Expand Up @@ -105,14 +105,17 @@ router bgp 65100
neighbor PEER_V6 soft-reconfiguration inbound
neighbor PEER_V6 route-map TO_BGP_PEER_V6 out
exit-address-family
neighbor BGPMON_V4 peer-group
neighbor BGPMON_V4 update-source 10.1.0.32
neighbor BGPMON_V4 route-map FROM_BGPMON_V4 in
neighbor BGPMON_V4 route-map TO_BGPMON_V4 out
neighbor BGPMON_V4 send-community
neighbor BGPMON_V4 maximum-prefix 1
neighbor BGPMON peer-group
neighbor BGPMON update-source 10.1.0.32
neighbor BGPMON route-map FROM_BGPMON in
neighbor BGPMON route-map TO_BGPMON out
neighbor BGPMON send-community
neighbor BGPMON maximum-prefix 1
neighbor 10.20.30.40 remote-as 65100
neighbor 10.20.30.40 peer-group BGPMON_V4
neighbor 10.20.30.40 peer-group BGPMON
neighbor 10.20.30.40 description BGPMonitor
neighbor 10.20.30.40 activate
address-family ipv6
neighbor 10.20.30.40 activate
exit-address-family
!!

0 comments on commit 9494bf0

Please sign in to comment.