From fd22635de0ea6376b0142a2451b081efdbaa2303 Mon Sep 17 00:00:00 2001 From: arlakshm <55814491+arlakshm@users.noreply.github.com> Date: Thu, 24 Feb 2022 11:21:26 -0800 Subject: [PATCH] [chassis][bgp] create v4 and v6 peer group for VoQ internal neighbors (#9693) Why I did it In the recent minigraph changes we add separate BGP session configuration for V4 and V6 internal VoQ neighbors. This PR is adding different Peer groups for V4 and V6 neighbors How I did it Add VOQ_CHASSIS_V4_PEER and VOQ_CHASSIS_V6_PEER groups Add extra Unit tests How to verify it Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan --- .../templates/voq_chassis/instance.conf.j2 | 6 ++++- .../templates/voq_chassis/peer-group.conf.j2 | 23 ++++++++++------- .../templates/voq_chassis/policies.conf.j2 | 11 ++++++++ .../{param_all.json => param_all_v4.json} | 0 .../instance.conf/param_all_v6.json | 22 ++++++++++++++++ .../{param_base.json => param_base_v4.json} | 0 .../instance.conf/param_base_v6.json | 17 +++++++++++++ ...utdown_1.json => param_shutdown_v4_1.json} | 0 ...utdown_2.json => param_shutdown_v4_2.json} | 0 .../instance.conf/param_shutdown_v6_1.json | 19 ++++++++++++++ .../instance.conf/param_shutdown_v6_2.json | 19 ++++++++++++++ ...m_timers_1.json => param_timers_v4_1.json} | 0 ...m_timers_2.json => param_timers_v4_2.json} | 0 .../instance.conf/param_timers_v6_1.json | 18 +++++++++++++ .../instance.conf/param_timers_v6_2.json | 18 +++++++++++++ .../{result_all.conf => result_all_v4.conf} | 3 ++- .../instance.conf/result_all_v6.conf | 25 +++++++++++++++++++ ...sult_timers_1.conf => result_base_v4.conf} | 2 +- .../instance.conf/result_base_v6.conf | 23 +++++++++++++++++ ...tdown_1.conf => result_shutdown_v4_1.conf} | 3 ++- ...lt_base.conf => result_shutdown_v4_2.conf} | 2 +- .../instance.conf/result_shutdown_v6_1.conf | 25 +++++++++++++++++++ .../instance.conf/result_shutdown_v6_2.conf | 23 +++++++++++++++++ ..._timers_2.conf => result_timers_v4_1.conf} | 2 +- ...hutdown_2.conf => result_timers_v4_2.conf} | 2 +- .../instance.conf/result_timers_v6_1.conf | 23 +++++++++++++++++ .../instance.conf/result_timers_v6_2.conf | 23 +++++++++++++++++ .../peer-group.conf/result_all.conf | 23 ++++++++++------- .../peer-group.conf/result_base.conf | 19 ++++++++------ .../policies.conf/result_base.conf | 11 ++++++++ 30 files changed, 330 insertions(+), 32 deletions(-) rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{param_all.json => param_all_v4.json} (100%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all_v6.json rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{param_base.json => param_base_v4.json} (100%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base_v6.json rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{param_shutdown_1.json => param_shutdown_v4_1.json} (100%) rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{param_shutdown_2.json => param_shutdown_v4_2.json} (100%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_1.json create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_2.json rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{param_timers_1.json => param_timers_v4_1.json} (100%) rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{param_timers_2.json => param_timers_v4_2.json} (100%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_1.json create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_2.json rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{result_all.conf => result_all_v4.conf} (90%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all_v6.conf rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{result_timers_1.conf => result_base_v4.conf} (90%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base_v6.conf rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{result_shutdown_1.conf => result_shutdown_v4_1.conf} (90%) rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{result_base.conf => result_shutdown_v4_2.conf} (90%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_1.conf create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_2.conf rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{result_timers_2.conf => result_timers_v4_1.conf} (90%) rename src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/{result_shutdown_2.conf => result_timers_v4_2.conf} (90%) create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_1.conf create mode 100644 src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_2.conf diff --git a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/instance.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/instance.conf.j2 index 1783b875ad..4f7bde5ddf 100644 --- a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/instance.conf.j2 +++ b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/instance.conf.j2 @@ -4,7 +4,11 @@ bgp bestpath as-path multipath-relax bgp bestpath peer-type multipath-relax ! - neighbor {{ neighbor_addr }} peer-group VOQ_CHASSIS_PEER +{% if neighbor_addr | ipv4 %} + neighbor {{ neighbor_addr }} peer-group VOQ_CHASSIS_V4_PEER +{% elif neighbor_addr | ipv6 %} + neighbor {{ neighbor_addr }} peer-group VOQ_CHASSIS_V6_PEER +{% endif %} neighbor {{ neighbor_addr }} remote-as {{ bgp_session['asn'] }} neighbor {{ neighbor_addr }} description {{ bgp_session['name'] }} neighbor {{ neighbor_addr }} timers 3 10 diff --git a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/peer-group.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/peer-group.conf.j2 index 8266c0c82d..ec563b380c 100644 --- a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/peer-group.conf.j2 +++ b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/peer-group.conf.j2 @@ -1,22 +1,27 @@ ! ! template: bgpd/templates/voq_chassis/peer-group.conf.j2 ! - neighbor VOQ_CHASSIS_PEER peer-group + neighbor VOQ_CHASSIS_V4_PEER peer-group + neighbor VOQ_CHASSIS_V6_PEER peer-group address-family ipv4 {% if CONFIG_DB__DEVICE_METADATA['localhost']['type'] == 'ToRRouter' %} - neighbor VOQ_CHASSIS_PEER allowas-in 1 + neighbor VOQ_CHASSIS_V4_PEER allowas-in 1 {% endif %} - neighbor VOQ_CHASSIS_PEER activate - neighbor VOQ_CHASSIS_PEER addpath-tx-all-paths - neighbor VOQ_CHASSIS_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER activate + neighbor VOQ_CHASSIS_V4_PEER addpath-tx-all-paths + neighbor VOQ_CHASSIS_V4_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER route-map FROM_VOQ_CHASSIS_V4_PEER in + neighbor VOQ_CHASSIS_V4_PEER route-map TO_VOQ_CHASSIS_V4_PEER out exit-address-family address-family ipv6 {% if CONFIG_DB__DEVICE_METADATA['localhost']['type'] == 'ToRRouter' %} - neighbor VOQ_CHASSIS_PEER allowas-in 1 + neighbor VOQ_CHASSIS_V6_PEER allowas-in 1 {% endif %} - neighbor VOQ_CHASSIS_PEER activate - neighbor VOQ_CHASSIS_PEER addpath-tx-all-paths - neighbor VOQ_CHASSIS_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V6_PEER activate + neighbor VOQ_CHASSIS_V6_PEER addpath-tx-all-paths + neighbor VOQ_CHASSIS_V6_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER route-map FROM_VOQ_CHASSIS_V6_PEER in + neighbor VOQ_CHASSIS_V4_PEER route-map TO_VOQ_CHASSIS_V6_PEER out exit-address-family ! ! end of template: bgpd/templates/voq_chassis/peer-group.conf.j2 diff --git a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 index 4c853d4f32..c26db7bde2 100644 --- a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 +++ b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 @@ -1,7 +1,18 @@ ! ! template: bgpd/templates/voq_chassis/policies.conf.j2 ! +route-map FROM_VOQ_CHASSIS_V4_PEER permit 100 ! +route-map TO_VOQ_CHASSIS_V4_PEER permit 100 +! +! +route-map FROM_VOQ_CHASSIS_V6_PEER permit 1 + set ipv6 next-hop prefer-global + on-match next +! +route-map FROM_VOQ_CHASSIS_V6_PEER permit 100 +! +route-map TO_VOQ_CHASSIS_V6_PEER permit 100 ! ! end of template: bgpd/templates/voq_chassis/policies.conf.j2 ! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all_v4.json similarity index 100% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all.json rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all_v4.json diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all_v6.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all_v6.json new file mode 100644 index 0000000000..d78af6c758 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_all_v6.json @@ -0,0 +1,22 @@ +{ + "CONFIG_DB__DEVICE_METADATA": { + "localhost": {} + }, + "neighbor_addr": "fc00::01", + "bgp_session": { + "asn": "555", + "name": "internal1", + "keepalive": "5", + "holdtime": "30", + "admin_status": "down" + }, + "constants": { + "bgp": { + "maximum_paths": { + "enabled": "true", + "ipv4": "32", + "ipv6": "24" + } + } + } +} diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base_v4.json similarity index 100% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base.json rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base_v4.json diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base_v6.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base_v6.json new file mode 100644 index 0000000000..4b9b884fcf --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_base_v6.json @@ -0,0 +1,17 @@ +{ + "CONFIG_DB__DEVICE_METADATA": { + "localhost": {} + }, + "neighbor_addr": "fc00::01", + "bgp_session": { + "asn": "555", + "name": "internal1" + }, + "constants": { + "bgp": { + "maximum_paths": { + "enabled": "true" + } + } + } +} diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_1.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v4_1.json similarity index 100% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_1.json rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v4_1.json diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_2.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v4_2.json similarity index 100% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_2.json rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v4_2.json diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_1.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_1.json new file mode 100644 index 0000000000..3ceeb3f003 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_1.json @@ -0,0 +1,19 @@ +{ + "CONFIG_DB__DEVICE_METADATA": { + "localhost": { + "default_bgp_status": "down" + } + }, + "neighbor_addr": "fc00::01", + "bgp_session": { + "asn": "555", + "name": "internal1" + }, + "constants": { + "bgp": { + "maximum_paths": { + "enabled": "true" + } + } + } +} diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_2.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_2.json new file mode 100644 index 0000000000..8f2881b75f --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_shutdown_v6_2.json @@ -0,0 +1,19 @@ +{ + "CONFIG_DB__DEVICE_METADATA": { + "localhost": { + "default_bgp_status": "up" + } + }, + "neighbor_addr": "fc00::01", + "bgp_session": { + "asn": "555", + "name": "internal1" + }, + "constants": { + "bgp": { + "maximum_paths": { + "enabled": "true" + } + } + } +} diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_1.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v4_1.json similarity index 100% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_1.json rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v4_1.json diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_2.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v4_2.json similarity index 100% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_2.json rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v4_2.json diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_1.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_1.json new file mode 100644 index 0000000000..e236b791ef --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_1.json @@ -0,0 +1,18 @@ +{ + "CONFIG_DB__DEVICE_METADATA": { + "localhost": {} + }, + "neighbor_addr": "fc00::01", + "bgp_session": { + "asn": "555", + "name": "internal1", + "keepalive": "5" + }, + "constants": { + "bgp": { + "maximum_paths": { + "enabled": "true" + } + } + } +} diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_2.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_2.json new file mode 100644 index 0000000000..ce077e5bc6 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/param_timers_v6_2.json @@ -0,0 +1,18 @@ +{ + "CONFIG_DB__DEVICE_METADATA": { + "localhost": {} + }, + "neighbor_addr": "fc00::01", + "bgp_session": { + "asn": "555", + "name": "internal1", + "holdtime": "240" + }, + "constants": { + "bgp": { + "maximum_paths": { + "enabled": "true" + } + } + } +} diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all_v4.conf similarity index 90% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all.conf rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all_v4.conf index 7d2cc54136..604af65d5e 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all_v4.conf @@ -4,12 +4,13 @@ bgp bestpath as-path multipath-relax bgp bestpath peer-type multipath-relax ! - neighbor 10.10.10.10 peer-group VOQ_CHASSIS_PEER + neighbor 10.10.10.10 peer-group VOQ_CHASSIS_V4_PEER neighbor 10.10.10.10 remote-as 555 neighbor 10.10.10.10 description internal1 neighbor 10.10.10.10 timers 3 10 neighbor 10.10.10.10 timers connect 10 neighbor 10.10.10.10 shutdown +! address-family ipv4 maximum-paths ibgp 32 ! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all_v6.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all_v6.conf new file mode 100644 index 0000000000..793473c2e2 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_all_v6.conf @@ -0,0 +1,25 @@ +! +! template: bgpd/templates/voq_chassis/instance.conf.j2 +! + bgp bestpath as-path multipath-relax + bgp bestpath peer-type multipath-relax +! + neighbor fc00::01 peer-group VOQ_CHASSIS_V6_PEER + neighbor fc00::01 remote-as 555 + neighbor fc00::01 description internal1 + neighbor fc00::01 timers 3 10 + neighbor fc00::01 timers connect 10 + neighbor fc00::01 shutdown +! + address-family ipv4 + maximum-paths ibgp 32 +! + exit-address-family +! + address-family ipv6 + maximum-paths ibgp 24 +! + exit-address-family +! +! end of template: bgpd/templates/voq_chassis/instance.conf.j2 +! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_1.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base_v4.conf similarity index 90% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_1.conf rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base_v4.conf index c5f2385192..23bf5841f9 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_1.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base_v4.conf @@ -4,7 +4,7 @@ bgp bestpath as-path multipath-relax bgp bestpath peer-type multipath-relax ! - neighbor 10.10.10.10 peer-group VOQ_CHASSIS_PEER + neighbor 10.10.10.10 peer-group VOQ_CHASSIS_V4_PEER neighbor 10.10.10.10 remote-as 555 neighbor 10.10.10.10 description internal1 neighbor 10.10.10.10 timers 3 10 diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base_v6.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base_v6.conf new file mode 100644 index 0000000000..a0bd9379c8 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base_v6.conf @@ -0,0 +1,23 @@ +! +! template: bgpd/templates/voq_chassis/instance.conf.j2 +! + bgp bestpath as-path multipath-relax + bgp bestpath peer-type multipath-relax +! + neighbor fc00::01 peer-group VOQ_CHASSIS_V6_PEER + neighbor fc00::01 remote-as 555 + neighbor fc00::01 description internal1 + neighbor fc00::01 timers 3 10 + neighbor fc00::01 timers connect 10 + address-family ipv4 + maximum-paths ibgp 64 +! + exit-address-family +! + address-family ipv6 + maximum-paths ibgp 64 +! + exit-address-family +! +! end of template: bgpd/templates/voq_chassis/instance.conf.j2 +! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_1.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v4_1.conf similarity index 90% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_1.conf rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v4_1.conf index 91f405cea9..f26f0d6d3d 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_1.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v4_1.conf @@ -4,12 +4,13 @@ bgp bestpath as-path multipath-relax bgp bestpath peer-type multipath-relax ! - neighbor 10.10.10.10 peer-group VOQ_CHASSIS_PEER + neighbor 10.10.10.10 peer-group VOQ_CHASSIS_V4_PEER neighbor 10.10.10.10 remote-as 555 neighbor 10.10.10.10 description internal1 neighbor 10.10.10.10 timers 3 10 neighbor 10.10.10.10 timers connect 10 neighbor 10.10.10.10 shutdown +! address-family ipv4 maximum-paths ibgp 64 ! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v4_2.conf similarity index 90% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base.conf rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v4_2.conf index c5f2385192..23bf5841f9 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_base.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v4_2.conf @@ -4,7 +4,7 @@ bgp bestpath as-path multipath-relax bgp bestpath peer-type multipath-relax ! - neighbor 10.10.10.10 peer-group VOQ_CHASSIS_PEER + neighbor 10.10.10.10 peer-group VOQ_CHASSIS_V4_PEER neighbor 10.10.10.10 remote-as 555 neighbor 10.10.10.10 description internal1 neighbor 10.10.10.10 timers 3 10 diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_1.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_1.conf new file mode 100644 index 0000000000..4057147d5d --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_1.conf @@ -0,0 +1,25 @@ +! +! template: bgpd/templates/voq_chassis/instance.conf.j2 +! + bgp bestpath as-path multipath-relax + bgp bestpath peer-type multipath-relax +! + neighbor fc00::01 peer-group VOQ_CHASSIS_V6_PEER + neighbor fc00::01 remote-as 555 + neighbor fc00::01 description internal1 + neighbor fc00::01 timers 3 10 + neighbor fc00::01 timers connect 10 + neighbor fc00::01 shutdown +! + address-family ipv4 + maximum-paths ibgp 64 +! + exit-address-family +! + address-family ipv6 + maximum-paths ibgp 64 +! + exit-address-family +! +! end of template: bgpd/templates/voq_chassis/instance.conf.j2 +! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_2.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_2.conf new file mode 100644 index 0000000000..a0bd9379c8 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_v6_2.conf @@ -0,0 +1,23 @@ +! +! template: bgpd/templates/voq_chassis/instance.conf.j2 +! + bgp bestpath as-path multipath-relax + bgp bestpath peer-type multipath-relax +! + neighbor fc00::01 peer-group VOQ_CHASSIS_V6_PEER + neighbor fc00::01 remote-as 555 + neighbor fc00::01 description internal1 + neighbor fc00::01 timers 3 10 + neighbor fc00::01 timers connect 10 + address-family ipv4 + maximum-paths ibgp 64 +! + exit-address-family +! + address-family ipv6 + maximum-paths ibgp 64 +! + exit-address-family +! +! end of template: bgpd/templates/voq_chassis/instance.conf.j2 +! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_2.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v4_1.conf similarity index 90% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_2.conf rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v4_1.conf index c5f2385192..23bf5841f9 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_2.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v4_1.conf @@ -4,7 +4,7 @@ bgp bestpath as-path multipath-relax bgp bestpath peer-type multipath-relax ! - neighbor 10.10.10.10 peer-group VOQ_CHASSIS_PEER + neighbor 10.10.10.10 peer-group VOQ_CHASSIS_V4_PEER neighbor 10.10.10.10 remote-as 555 neighbor 10.10.10.10 description internal1 neighbor 10.10.10.10 timers 3 10 diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_2.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v4_2.conf similarity index 90% rename from src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_2.conf rename to src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v4_2.conf index c5f2385192..23bf5841f9 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_shutdown_2.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v4_2.conf @@ -4,7 +4,7 @@ bgp bestpath as-path multipath-relax bgp bestpath peer-type multipath-relax ! - neighbor 10.10.10.10 peer-group VOQ_CHASSIS_PEER + neighbor 10.10.10.10 peer-group VOQ_CHASSIS_V4_PEER neighbor 10.10.10.10 remote-as 555 neighbor 10.10.10.10 description internal1 neighbor 10.10.10.10 timers 3 10 diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_1.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_1.conf new file mode 100644 index 0000000000..a0bd9379c8 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_1.conf @@ -0,0 +1,23 @@ +! +! template: bgpd/templates/voq_chassis/instance.conf.j2 +! + bgp bestpath as-path multipath-relax + bgp bestpath peer-type multipath-relax +! + neighbor fc00::01 peer-group VOQ_CHASSIS_V6_PEER + neighbor fc00::01 remote-as 555 + neighbor fc00::01 description internal1 + neighbor fc00::01 timers 3 10 + neighbor fc00::01 timers connect 10 + address-family ipv4 + maximum-paths ibgp 64 +! + exit-address-family +! + address-family ipv6 + maximum-paths ibgp 64 +! + exit-address-family +! +! end of template: bgpd/templates/voq_chassis/instance.conf.j2 +! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_2.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_2.conf new file mode 100644 index 0000000000..a0bd9379c8 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/instance.conf/result_timers_v6_2.conf @@ -0,0 +1,23 @@ +! +! template: bgpd/templates/voq_chassis/instance.conf.j2 +! + bgp bestpath as-path multipath-relax + bgp bestpath peer-type multipath-relax +! + neighbor fc00::01 peer-group VOQ_CHASSIS_V6_PEER + neighbor fc00::01 remote-as 555 + neighbor fc00::01 description internal1 + neighbor fc00::01 timers 3 10 + neighbor fc00::01 timers connect 10 + address-family ipv4 + maximum-paths ibgp 64 +! + exit-address-family +! + address-family ipv6 + maximum-paths ibgp 64 +! + exit-address-family +! +! end of template: bgpd/templates/voq_chassis/instance.conf.j2 +! diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_all.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_all.conf index 031884499a..1ec1cffed9 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_all.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_all.conf @@ -1,18 +1,23 @@ ! ! template: bgpd/templates/voq_chassis/peer-group.conf.j2 ! - neighbor VOQ_CHASSIS_PEER peer-group + neighbor VOQ_CHASSIS_V4_PEER peer-group + neighbor VOQ_CHASSIS_V6_PEER peer-group address-family ipv4 - neighbor VOQ_CHASSIS_PEER allowas-in 1 - neighbor VOQ_CHASSIS_PEER activate - neighbor VOQ_CHASSIS_PEER addpath-tx-all-paths - neighbor VOQ_CHASSIS_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER allowas-in 1 + neighbor VOQ_CHASSIS_V4_PEER activate + neighbor VOQ_CHASSIS_V4_PEER addpath-tx-all-paths + neighbor VOQ_CHASSIS_V4_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER route-map FROM_VOQ_CHASSIS_V4_PEER in + neighbor VOQ_CHASSIS_V4_PEER route-map TO_VOQ_CHASSIS_V4_PEER out exit-address-family address-family ipv6 - neighbor VOQ_CHASSIS_PEER allowas-in 1 - neighbor VOQ_CHASSIS_PEER activate - neighbor VOQ_CHASSIS_PEER addpath-tx-all-paths - neighbor VOQ_CHASSIS_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V6_PEER allowas-in 1 + neighbor VOQ_CHASSIS_V6_PEER activate + neighbor VOQ_CHASSIS_V6_PEER addpath-tx-all-paths + neighbor VOQ_CHASSIS_V6_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER route-map FROM_VOQ_CHASSIS_V6_PEER in + neighbor VOQ_CHASSIS_V4_PEER route-map TO_VOQ_CHASSIS_V6_PEER out exit-address-family ! ! end of template: bgpd/templates/voq_chassis/peer-group.conf.j2 diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_base.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_base.conf index d4a6f381a2..a8f7a0eea5 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_base.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/peer-group.conf/result_base.conf @@ -1,16 +1,21 @@ ! ! template: bgpd/templates/voq_chassis/peer-group.conf.j2 ! - neighbor VOQ_CHASSIS_PEER peer-group + neighbor VOQ_CHASSIS_V4_PEER peer-group + neighbor VOQ_CHASSIS_V6_PEER peer-group address-family ipv4 - neighbor VOQ_CHASSIS_PEER activate - neighbor VOQ_CHASSIS_PEER addpath-tx-all-paths - neighbor VOQ_CHASSIS_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER activate + neighbor VOQ_CHASSIS_V4_PEER addpath-tx-all-paths + neighbor VOQ_CHASSIS_V4_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER route-map FROM_VOQ_CHASSIS_V4_PEER in + neighbor VOQ_CHASSIS_V4_PEER route-map TO_VOQ_CHASSIS_V4_PEER out exit-address-family address-family ipv6 - neighbor VOQ_CHASSIS_PEER activate - neighbor VOQ_CHASSIS_PEER addpath-tx-all-paths - neighbor VOQ_CHASSIS_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V6_PEER activate + neighbor VOQ_CHASSIS_V6_PEER addpath-tx-all-paths + neighbor VOQ_CHASSIS_V6_PEER soft-reconfiguration inbound + neighbor VOQ_CHASSIS_V4_PEER route-map FROM_VOQ_CHASSIS_V6_PEER in + neighbor VOQ_CHASSIS_V4_PEER route-map TO_VOQ_CHASSIS_V6_PEER out exit-address-family ! ! end of template: bgpd/templates/voq_chassis/peer-group.conf.j2 diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf index 4c853d4f32..c26db7bde2 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf @@ -1,7 +1,18 @@ ! ! template: bgpd/templates/voq_chassis/policies.conf.j2 ! +route-map FROM_VOQ_CHASSIS_V4_PEER permit 100 ! +route-map TO_VOQ_CHASSIS_V4_PEER permit 100 +! +! +route-map FROM_VOQ_CHASSIS_V6_PEER permit 1 + set ipv6 next-hop prefer-global + on-match next +! +route-map FROM_VOQ_CHASSIS_V6_PEER permit 100 +! +route-map TO_VOQ_CHASSIS_V6_PEER permit 100 ! ! end of template: bgpd/templates/voq_chassis/policies.conf.j2 !