Edge BGP Feature Template
Configure the AS number, router ID, distance, maximum paths, neighbors, redistribution of protocols into BGP, hold time, and keepalive timers.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”edge_feature_templates (sdwan)
Section titled “edge_feature_templates (sdwan)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| bgp_templates | List | [bgp_templates] | No |
bgp_templates (sdwan.edge_feature_templates)
Section titled “bgp_templates (sdwan.edge_feature_templates)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Regex: ^[^<>!&" ]{1,128}$ | Yes | |
| description | String | Yes | ||
| device_types | List | Choice[ASR-1001-HX, ASR-1001-X, ASR-1002-HX, ASR-1002-X, ASR-1006-X, C1101-4P, C1101-4PLTEP, C1101-4PLTEPW, C1109-2PLTEGB, C1109-2PLTEUS, C1109-2PLTEVZ, C1109-4PLTE2P, C1109-4PLTE2PW, C1111-4P, C1111-4PLTEEA, C1111-4PLTELA, C1111-4PW, C1111-8P, C1111-8PLTEEA, C1111-8PLTEEAW, C1111-8PLTELA, C1111-8PLTELAW, C1111-8PW, C1111X-8P, C1112-8P, C1112-8PLTEEA, C1112-8PLTEEAWE, C1112-8PWE, C1113-8P, C1113-8PLTEEA, C1113-8PLTEEAW, C1113-8PLTELA, C1113-8PLTELAWZ, C1113-8PLTEW, C1113-8PM, C1113-8PMLTEEA, C1113-8PMWE, C1113-8PW, C1116-4P, C1116-4PLTEEA, C1116-4PLTEEAWE, C1116-4PWE, C1117-4P, C1117-4PLTEEA, C1117-4PLTEEAW, C1117-4PLTELA, C1117-4PLTELAWZ, C1117-4PM, C1117-4PMLTEEA, C1117-4PMLTEEAWE, C1117-4PMWE, C1117-4PW, C1118-8P, C1121-4P, C1121-4PLTEP, C1121-8P, C1121-8PLTEP, C1121-8PLTEPW, C1121X-8P, C1121X-8PLTEP, C1121X-8PLTEPW, C1126-8PLTEP, C1126X-8PLTEP, C1127-8PLTEP, C1127-8PMLTEP, C1127X-8PLTEP, C1127X-8PMLTEP, C1128-8PLTEP, C1131-8PLTEPW, C1131-8PW, C1131X-8PLTEPW, C1131X-8PW, C1161-8P, C1161-8PLTEP, C1161X-8P, C1161X-8PLTEP, C8000V, C8200-1N-4T, C8200L-1N-4T, C8300-1N1S-4T2X, C8300-1N1S-6T, C8300-2N2S-4T2X, C8300-2N2S-6T, C8500-12X, C8500-12X4QC, C8500-20X6C, C8500L-8S4X, IR-1101, IR-1821, IR-1831, IR-1833, IR-1835, IR-8140H, IR-8140H-P, IR-8340, ISR-4221, ISR-4221X, ISR-4321, ISR-4331, ISR-4351, ISR-4431, ISR-4451-X, ISR-4461, ISR1100-4G-XE, ISR1100-4GLTEGB-XE, ISR1100-4GLTENA-XE, ISR1100-6G-XE, ISR1100X-4G-XE, ISR1100X-6G-XE] | No | |
| always_compare_med | Boolean | true, false | No | |
| always_compare_med_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| as_number | Integer | min: 1, max: 4294967295 | No | |
| as_number_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| compare_router_id | Boolean | true, false | No | |
| compare_router_id_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| deterministic_med | Boolean | true, false | No | |
| deterministic_med_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| distance_external | Integer | min: 1, max: 255 | No | |
| distance_external_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| distance_internal | Integer | min: 1, max: 255 | No | |
| distance_internal_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| distance_local | Integer | min: 1, max: 255 | No | |
| distance_local_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| holdtime | Integer | min: 0, max: 65535 | No | |
| holdtime_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| ipv4_address_family | Class | [ipv4_address_family] | No | |
| ipv6_address_family | Class | [ipv6_address_family] | No | |
| keepalive | Integer | min: 0, max: 65535 | No | |
| keepalive_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| missing_med_as_worst | Boolean | true, false | No | |
| missing_med_as_worst_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| mpls_interfaces | List | [mpls_interfaces] | No | |
| multipath_relax | Boolean | true, false | No | |
| multipath_relax_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| propagate_as_path | Boolean | true, false | No | |
| propagate_as_path_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| propagate_community | Boolean | true, false | No | |
| propagate_community_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| router_id | IP | No | ||
| router_id_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| shutdown | Boolean | true, false | No | |
| shutdown_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No |
ipv4_address_family (sdwan.edge_feature_templates.bgp_templates)
Section titled “ipv4_address_family (sdwan.edge_feature_templates.bgp_templates)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| default_information_originate | Boolean | true, false | No | |
| default_information_originate_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| maximum_paths | Integer | min: 1, max: 32 | No | |
| maximum_paths_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| aggregate_addresses | List | [aggregate_addresses] | No | |
| neighbors | List | [neighbors] | No | |
| networks | List | [networks] | No | |
| redistributes | List | [redistributes] | No | |
| route_targets | List | [route_targets] | No | |
| table_map_policy | String | No | ||
| table_map_policy_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| table_map_filter | Boolean | true, false | No | |
| table_map_filter_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No |
ipv6_address_family (sdwan.edge_feature_templates.bgp_templates)
Section titled “ipv6_address_family (sdwan.edge_feature_templates.bgp_templates)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| default_information_originate | Boolean | true, false | No | |
| default_information_originate_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| maximum_paths | Integer | min: 1, max: 32 | No | |
| maximum_paths_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| aggregate_addresses | List | [aggregate_addresses] | No | |
| neighbors | List | [neighbors] | No | |
| networks | List | [networks] | No | |
| redistributes | List | [redistributes] | No | |
| route_targets | List | [route_targets] | No | |
| table_map_policy | String | No | ||
| table_map_policy_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| table_map_filter | Boolean | true, false | No | |
| table_map_filter_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No |
mpls_interfaces (sdwan.edge_feature_templates.bgp_templates)
Section titled “mpls_interfaces (sdwan.edge_feature_templates.bgp_templates)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| interface_name | String | No | ||
| interface_name_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No |
aggregate_addresses (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)
Section titled “aggregate_addresses (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| prefix | IP | No | ||
| prefix_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| as_set_path | Boolean | true, false | No | |
| as_set_path_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| summary_only | Boolean | true, false | No | |
| summary_only_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| optional | Boolean | true, false | No |
neighbors (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)
Section titled “neighbors (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| address | IP | No | ||
| address_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| address_families | List | [address_families] | No | |
| allow_as_in | Integer | min: 1, max: 10 | No | |
| allow_as_in_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| as_override | Boolean | true, false | No | |
| as_override_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| description | String | min: 1, max: 32 | No | |
| description_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| ebgp_multihop | Integer | min: 1, max: 255 | No | |
| ebgp_multihop_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| next_hop_self | Boolean | true, false | No | |
| next_hop_self_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| password | String | starts_with: $CRYPT_CLUSTER$, min: 1, max: 128 | No | |
| password_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| remote_as | Integer | min: 1, max: 4294967295 | No | |
| remote_as_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| send_community | Boolean | true, false | No | |
| send_community_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| send_extended_community | Boolean | true, false | No | |
| send_extended_community_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| send_label | Boolean | true, false | No | |
| send_label_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| send_label_explicit_null | Boolean | true, false | No | |
| send_label_explicit_null_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| shutdown | Boolean | true, false | No | |
| shutdown_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| source_interface | String | No | ||
| source_interface_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| keepalive | Integer | min: 0, max: 65535 | No | |
| keepalive_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| holdtime | Integer | min: 0, max: 65535 | No | |
| holdtime_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| optional | Boolean | true, false | No |
networks (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)
Section titled “networks (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| prefix | IP | No | ||
| prefix_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| optional | Boolean | true, false | No |
redistributes (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)
Section titled “redistributes (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| protocol | Choice | connected, eigrp, nat, omp, ospf, ospfv3, static | Yes | |
| protocol_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| route_policy | String | No | ||
| route_policy_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| optional | Boolean | true, false | No |
route_targets (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)
Section titled “route_targets (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| imports | List | [imports] | No | |
| exports | List | [exports] | No | |
| optional | Boolean | true, false | No | |
| vpn_id | Integer | min: 1, max: 65527 | No | |
| vpn_id_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No |
address_families (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family.neighbors)
Section titled “address_families (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family.neighbors)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| family_type | Choice | ipv4-unicast, vpnv4-unicast, vpnv6-unicast | Yes | |
| maximum_prefixes | Integer | min: 1, max: 4294967295 | No | |
| maximum_prefixes_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| maximum_prefixes_restart | Integer | min: 1, max: 65535 | No | |
| maximum_prefixes_restart_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| maximum_prefixes_threshold | Integer | min: 0, max: 100 | No | |
| maximum_prefixes_threshold_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| maximum_prefixes_warning_only | Boolean | true, false | No | |
| maximum_prefixes_warning_only_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| route_policy_in | String | No | ||
| route_policy_in_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| route_policy_out | String | No | ||
| route_policy_out_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| shutdown | Boolean | true, false | No | |
| shutdown_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No | |
| optional | Boolean | true, false | No |
imports (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family.route_targets)
Section titled “imports (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family.route_targets)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| asn_ip | String | Regex: ^([0-9]|[1-9][0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-7]):([0-9]|[1-9][0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-7])$ | No | |
| asn_ip_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No |
exports (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family.route_targets)
Section titled “exports (sdwan.edge_feature_templates.bgp_templates.ipv4_address_family.route_targets)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| asn_ip | String | Regex: ^([0-9]|[1-9][0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-7]):([0-9]|[1-9][0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-7])$ | No | |
| asn_ip_variable | String | Regex: ^[^"~`$&+,]{1,255}$ | No |
Examples
Section titled “Examples”Example-1: The following example demonstrates how to configure a BGP router with an ASN, specifically targeting the IPv4 unicast address family within a VRF. You can add multiple neighbors under the “neighbors” section. The configuration also includes advertising the network IP prefix and redistributing OMP routes into BGP. A route map policy can be applied for detailed route management. Additionally, the BGP timers are set to a keepalive interval of 1 second and a hold time of 3 seconds, facilitating swift detection of neighbor issues and ensuring network stability.
sdwan: edge_feature_templates: bgp_templates: - name: FT-EDGE-VPN13-BGP-01 description: VPN 13 BGP ipv4_address_family: default_information_originate: false maximum_paths_variable: vpn13_bgp_ipv4_maximum_paths redistributes: - protocol: omp optional: false route_policy_variable: vpn13_bgp_ipv4_rm_omp_to_bgp neighbors: - address_variable: vpn13_bgp_ipv4_neighbor1_address address_families: - family_type: ipv4-unicast maximum_prefixes: 1000 next_hop_self: false password_variable: vpn13_bgp_ipv4_neighbor1_password remote_as_variable: vpn13_bgp_ipv4_neighbor1_remote_as shutdown_variable: vpn13_bgp_ipv4_neighbor1_shutdown optional: true networks: - prefix_variable: vpn13_bgp_ipv4_network1_prefix optional: true as_number_variable: vpn13_bgp_as_number shutdown_variable: vpn13_bgp_shutdown holdtime: 3 keepalive: 1