Skip to content

BGP

Border Gateway Protocol (BGP) is the de facto standard exterior gateway protocol used to exchange routing information between autonomous systems (AS) on the Internet and in large enterprise networks. It’s a path-vector protocol that makes routing decisions based on network policies, rules, and path attributes rather than just metrics, enabling fine-grained control over traffic flows and routing policies. BGP supports multiple address families including IPv4 unicast, IPv6 unicast, and L2VPN EVPN, making it essential for modern multi-service networks and MPLS VPN deployments.

Diagram
NameTypeConstraintMandatoryDefault Value
bgpClass[bgp]No

NameTypeConstraintMandatoryDefault Value
as_numberIntegerYes
router_idIPNo
router_id_interface_typeChoiceLoopbackNo
router_id_interface_idAnyString or Integer[min: 0]No
default_ipv4_unicastBooleantrue, falseNo
log_neighbor_changesBooleantrue, falseNo
address_familyClass[address_family]No
neighborsList[neighbors]No
peer_session_templatesList[peer_session_templates]No

address_family (iosxe.devices.configuration.routing.bgp)

Section titled “address_family (iosxe.devices.configuration.routing.bgp)”
NameTypeConstraintMandatoryDefault Value
ipv4_unicastClass[ipv4_unicast]No
ipv6_unicastClass[ipv6_unicast]No
l2vpn_evpnClass[l2vpn_evpn]No

neighbors (iosxe.devices.configuration.routing.bgp)

Section titled “neighbors (iosxe.devices.configuration.routing.bgp)”
NameTypeConstraintMandatoryDefault Value
ipIPYes
remote_asIntegerNo
descriptionStringNo
shutdownBooleantrue, falseNo
cluster_idIPNo
disable_connected_checkBooleantrue, falseNo
fall_over_default_enableBooleantrue, falseNo
fall_over_default_route_mapStringNo
fall_over_bfdBooleantrue, falseNo
fall_over_bfd_multi_hopBooleantrue, falseNo
fall_over_bfd_single_hopBooleantrue, falseNo
fall_over_bfd_check_control_plane_failureBooleantrue, falseNo
fall_over_bfd_strict_modeBooleantrue, falseNo
fall_over_maximum_metric_route_mapStringNo
local_asIntegerNo
local_as_no_prependBooleantrue, falseNo
local_as_replace_asBooleantrue, falseNo
local_as_dual_asBooleantrue, falseNo
log_neighbor_changesBooleantrue, falseNo
password_typeIntegermin: 0, max: 7No
passwordStringNo
peer_groupStringNo
timers_keepaliveIntegermin: 0, max: 3600No
timers_holdtimeIntegermin: 0, max: 3600No
timers_minimum_neighbor_holdtimeIntegermin: 0, max: 3600No
ttl_security_hopsIntegermin: 0, max: 254No
update_source_interface_typeChoiceLoopbackNo
update_source_interface_idAnyString or Integer[min: 0]No
ebgp_multihopBooleantrue, falseNo
ebgp_multihop_max_hopIntegermin: 1, max: 255No
inherit_peer_sessionStringRegex: ^[a-zA-Z0-9_-]+$No

peer_session_templates (iosxe.devices.configuration.routing.bgp)

Section titled “peer_session_templates (iosxe.devices.configuration.routing.bgp)”
NameTypeConstraintMandatoryDefault Value
template_nameStringRegex: ^[a-zA-Z0-9_-]+$Yes
remote_asIntegerNo
descriptionStringNo
disable_connected_checkBooleantrue, falseNo
ebgp_multihopBooleantrue, falseNo
ebgp_multihop_max_hopIntegermin: 1, max: 255No
update_source_interface_typeChoiceLoopbackNo
update_source_interface_idAnyString or Integer[min: 0]No
inherit_peer_sessionStringRegex: ^[a-zA-Z0-9_-]+$No

ipv4_unicast (iosxe.devices.configuration.routing.bgp.address_family)

Section titled “ipv4_unicast (iosxe.devices.configuration.routing.bgp.address_family)”
NameTypeConstraintMandatoryDefault Value
aggregate_addressesList[aggregate_addresses]No
networksList[networks]No
neighborsList[neighbors]No
vrfsList[vrfs]No
redistributeClass[redistribute]No
admin_distancesList[admin_distances]No
distance_bgp_externalIntegermin: 1, max: 255No
distance_bgp_internalIntegermin: 1, max: 255No
distance_bgp_localIntegermin: 1, max: 255No

ipv6_unicast (iosxe.devices.configuration.routing.bgp.address_family)

Section titled “ipv6_unicast (iosxe.devices.configuration.routing.bgp.address_family)”
NameTypeConstraintMandatoryDefault Value
networksList[networks]No
vrfsList[vrfs]No
neighborsList[neighbors]No
redistributeClass[redistribute]No

l2vpn_evpn (iosxe.devices.configuration.routing.bgp.address_family)

Section titled “l2vpn_evpn (iosxe.devices.configuration.routing.bgp.address_family)”
NameTypeConstraintMandatoryDefault Value
rewrite_evpn_rt_asnBooleantrue, falseNo
bgp_nexthop_trigger_delayIntegermin: 0, max: 100No
neighborsList[neighbors]No

aggregate_addresses (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)

Section titled “aggregate_addresses (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)”
NameTypeConstraintMandatoryDefault Value
addressIPYes
maskIPYes

networks (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)

Section titled “networks (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)”
NameTypeConstraintMandatoryDefault Value
networkIPYes
maskIPNo
route_mapStringNo
backdoorBooleantrue, falseNo

neighbors (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)

Section titled “neighbors (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)”
NameTypeConstraintMandatoryDefault Value
ipIPYes
activateBooleantrue, falseNo
send_communityChoiceboth, extended, standardNo
route_reflector_clientBooleantrue, falseNo
soft_reconfigurationChoiceinboundNo
default_originateBooleantrue, falseNo
default_originate_route_mapStringNo
route_mapsList[route_maps]No

vrfs (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)

Section titled “vrfs (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)”
NameTypeConstraintMandatoryDefault Value
vrfStringYes
advertise_l2vpn_evpnBooleantrue, falseNo
router_idIPNo
router_id_interface_typeChoiceLoopbackNo
router_id_interface_idAnyString or Integer[min: 0]No
aggregate_addressesList[aggregate_addresses]No
networksList[networks]No
neighborsList[neighbors]No
redistributeClass[redistribute]No
admin_distancesList[admin_distances]No
distance_bgp_externalIntegermin: 1, max: 255No
distance_bgp_internalIntegermin: 1, max: 255No
distance_bgp_localIntegermin: 1, max: 255No

redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)

Section titled “redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)”
NameTypeConstraintMandatoryDefault Value
connectedBooleantrue, falseNo
staticBooleantrue, falseNo

admin_distances (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)

Section titled “admin_distances (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast)”
NameTypeConstraintMandatoryDefault Value
distanceIntegermin: 1, max: 255Yes
source_ipIPYes
wildcardIPYes
aclStringNo

networks (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)

Section titled “networks (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)”
NameTypeConstraintMandatoryDefault Value
networkIPYes
route_mapStringNo
backdoorBooleantrue, falseNo

vrfs (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)

Section titled “vrfs (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)”
NameTypeConstraintMandatoryDefault Value
vrfStringYes
advertise_l2vpn_evpnBooleantrue, falseNo
networksList[networks]No
redistributeClass[redistribute]No

neighbors (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)

Section titled “neighbors (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)”
NameTypeConstraintMandatoryDefault Value
ipIPYes
activateBooleantrue, falseNo
send_communityChoiceboth, extended, standardNo
route_reflector_clientBooleantrue, falseNo
soft_reconfigurationChoiceinboundNo
default_originateBooleantrue, falseNo
default_originate_route_mapStringNo

redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)

Section titled “redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast)”
NameTypeConstraintMandatoryDefault Value
connectedBooleantrue, falseNo
staticBooleantrue, falseNo

neighbors (iosxe.devices.configuration.routing.bgp.address_family.l2vpn_evpn)

Section titled “neighbors (iosxe.devices.configuration.routing.bgp.address_family.l2vpn_evpn)”
NameTypeConstraintMandatoryDefault Value
ipIPYes
activateBooleantrue, falseNo
send_communityChoiceboth, extended, standardNo
route_reflector_clientBooleantrue, falseNo
soft_reconfigurationChoiceinboundNo

route_maps (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.neighbors)

Section titled “route_maps (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.neighbors)”
NameTypeConstraintMandatoryDefault Value
directionChoicein, outYes
nameStringYes

aggregate_addresses (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)

Section titled “aggregate_addresses (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)”
NameTypeConstraintMandatoryDefault Value
addressIPYes
maskIPYes

networks (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)

Section titled “networks (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)”
NameTypeConstraintMandatoryDefault Value
networkIPYes
maskIPNo
route_mapStringNo
backdoorBooleantrue, falseNo

neighbors (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)

Section titled “neighbors (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)”
NameTypeConstraintMandatoryDefault Value
ipIPYes
remote_asIntegerYes
descriptionStringNo
shutdownBooleantrue, falseNo
cluster_idIPNo
log_neighbor_changesBooleantrue, falseNo
password_typeIntegermin: 0, max: 7No
passwordStringNo
timers_keepaliveIntegermin: 0, max: 3600No
timers_holdtimeIntegermin: 0, max: 3600No
timers_minimum_holdtimeIntegermin: 0, max: 3600No
fall_over_default_route_mapStringNo
fall_over_bfdBooleantrue, falseNo
fall_over_bfd_multi_hopBooleantrue, falseNo
fall_over_bfd_single_hopBooleantrue, falseNo
fall_over_bfd_check_control_plane_failureBooleantrue, falseNo
fall_over_bfd_strict_modeBooleantrue, falseNo
fall_over_maximum_metric_route_mapStringNo
disable_connected_checkBooleantrue, falseNo
ttl_security_hopsIntegermin: 0, max: 254No
local_asIntegerNo
local_as_no_prependBooleantrue, falseNo
local_as_replace_asBooleantrue, falseNo
local_as_dual_asBooleantrue, falseNo
update_source_interface_typeChoiceLoopbackNo
update_source_interface_idAnyString or Integer[min: 0]No
activateBooleantrue, falseNo
send_communityChoiceboth, extended, standardNo
route_reflector_clientBooleantrue, falseNo
soft_reconfigurationChoiceinboundNo
default_originateBooleantrue, falseNo
default_originate_route_mapStringNo
route_mapsList[route_maps]No
ebgp_multihopBooleantrue, falseNo
ebgp_multihop_max_hopIntegermin: 1, max: 255No
ha_mode_graceful_restartBooleantrue, falseNo
next_hop_selfBooleantrue, falseNo
next_hop_self_allBooleantrue, falseNo
advertisement_intervalIntegermin: 0, max: 600No

redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)

Section titled “redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)”
NameTypeConstraintMandatoryDefault Value
connectedBooleantrue, falseNo
staticBooleantrue, falseNo

admin_distances (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)

Section titled “admin_distances (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs)”
NameTypeConstraintMandatoryDefault Value
distanceIntegermin: 1, max: 255Yes
source_ipIPYes
wildcardIPYes
aclStringNo

networks (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast.vrfs)

Section titled “networks (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast.vrfs)”
NameTypeConstraintMandatoryDefault Value
networkIPYes
route_mapStringNo
backdoorBooleantrue, falseNo
evpnBooleantrue, falseNo

redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast.vrfs)

Section titled “redistribute (iosxe.devices.configuration.routing.bgp.address_family.ipv6_unicast.vrfs)”
NameTypeConstraintMandatoryDefault Value
connectedBooleantrue, falseNo
staticBooleantrue, falseNo

route_maps (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs.neighbors)

Section titled “route_maps (iosxe.devices.configuration.routing.bgp.address_family.ipv4_unicast.vrfs.neighbors)”
NameTypeConstraintMandatoryDefault Value
directionChoicein, outYes
nameStringYes

Example 1: The example below shows basic BGP configuration to bring up an IPv4 Unicast Neighbor and includes basic attributes such as Password protected session, aggregate adderesses, redistribution, network advertisement and applying a route-map to the neighbor.

iosxe:
devices:
- name: device1
configuration:
routing:
bgp:
as_number: 65000
default_ipv4_unicast: true
log_neighbor_changes: true
router_id_interface_type: Loopback
router_id_interface_id: 0
neighbors:
- ip: 192.168.1.1
remote_as: 65001
password: 045802150C2E1D1C5A
password_type: 7
address_family:
ipv4_unicast:
redistribute_connected: true
redistribute_static: true
aggregate_addresses:
- address: 192.168.0.0
mask: 255.255.0.0
- address: 10.0.0.0
mask: 255.255.255.0
networks:
- network: 10.0.0.0
mask: 255.255.255.0
route_map: RM1
backdoor: false
- network: 172.16.12.0
mask: 255.255.255.0
- network: 192.168.12.0
route_map: RM2
backdoor: true
- network: 172.16.19.0
neighbors:
- ip: 192.168.1.1
route_maps:
- direction: in
name: RM3

Example 2: The example below shows basic BGP configuration to bring up an VRF aware IPv4 Unicast Neighbor and includes basic attributes such as Password protected session, aggregate adderesses, redistribution, network advertisement and applying a route-map to the neighbor.

iosxe:
devices:
- name: device1
configuration:
routing:
bgp:
as_number: 65000
log_neighbor_changes: true
address_family:
ipv4_unicast:
vrfs:
- vrf: MY_VRF
redistribute_connected: true
redistribute_static: false
aggregate_addresses:
- address: 192.168.17.0
mask: 255.255.255.0
- address: 192.168.18.0
mask: 255.255.255.0
networks:
- network: 10.0.0.0
mask: 255.255.255.0
route_map: RM1
backdoor: false
- network: 172.16.12.0
mask: 255.255.255.0
- network: 192.168.12.0
route_map: RM2
backdoor: true
- network: 172.16.19.0
neighbors:
- ip: 192.168.1.1
remote_as: 65001
description: "REMOTE_ROUTER"
shutdown: false
log_neighbor_changes: true
password_type: 7
password: 045802150C2E1D1C5A
activate: true
send_community: both
soft_reconfiguration: inbound
route_maps:
- direction: in
name: RM2

Example 3: The Example below is a full blank data model for IPv4 address-family of BGP - VRF and non-VRF aware.

iosxe:
devices:
- name: router1
configuration:
routing:
bgp:
as_number: 65001
default_ipv4_unicast: true
log_neighbor_changes: true
router_id_interface_type: Loopback
router_id_interface_id: 100
neighbors:
- ip: 10.0.0.1
remote_as: 65000
description: "router2"
shutdown: false
cluster_id: 2.2.2.2
version: 4
disable_connected_check: false
fall_over_default_enable: false
fall_over_default_route_map: RM1
fall_over_bfd_multi_hop: false
fall_over_bfd_single_hop: false
fall_over_bfd_check_control_plane_failure: false
fall_over_bfd_strict_mode: false
fall_over_maximum_metric_route_map: RM2
local_as: 65003
local_as_no_prepend: false
local_as_replace_as: false
local_as_dual_as: false
log_neighbor_changes: true
password_type: 7
password: 045802150C2E1D1C5A
peer_group: PEER1
timers_keepalive: 60
timers_holdtime: 180
timers_minimum_neighbor_holdtime: 30
ttl_security_hops: 1
update_source_interface_type: Loopback
update_source_interface_id: 100
ebgp_multihop: false
ebgp_multihop_max_hop: 5
address_family:
ipv4_unicast:
redistribute_connected: true
redistribute_static: false
aggregate_addresses:
- address: 192.168.0.0
mask: 255.255.0.0
networks:
- network: 10.10.10.0
mask: 255.255.255.0
route_map: RM3
backdoor: false
- network: 192.168.0.0
route_map: RM4
backdoor: false
neighbors:
- ip: 10.0.01
activate: true
send_community: both
route_reflector_client: false
soft_reconfiguration: inbound
default_originate: false
default_originate_route_map:
route_maps:
- direction: in
name: RM5
vrfs:
- vrf:
redistribute_connected: true
redistribute_static: true
router_id_interface_type: Loopback
router_id_interface_id: 200
aggregate_addresses:
- address: 172.16.0.0
mask: 255.255.0.0
networks:
- network: 10.10.20.0
mask: 255.255.0.0
route_map: RM6
backdoor: false
- network: 192.168.32.0
route_map: RM7
backdoor: false
neighbors:
- ip: 20.20.20.1
remote_as: 65003
description: "router3"
shutdown: false
cluster_id: 2.2.2.2
log_neighbor_changes: true
password_type: 7
password: 045802150C2E1D1C5A
timers_keepalive: 60
timers_holdtime: 180
timers_minimum_holdtime: 30
fall_over_default_route_map: RM8
fall_over_bfd_multi_hop: false
fall_over_bfd_single_hop: false
fall_over_bfd_check_control_plane_failure: false
fall_over_bfd_strict_mode: false
fall_over_maximum_metric_route_map: RM9
disable_connected_check: false
ttl_security_hops: 1
local_as: 65000
local_as_no_prepend: false
local_as_replace_as: false
local_as_dual_as: false
update_source_interface_type: Loopback
update_source_interface_id: 200
activate: true
send_community: both
route_reflector_client: false
soft_reconfiguration: inbound
default_originate: false
default_originate_route_map: RM10
route_maps:
- direction: out
name: RM11
ebgp_multihop: false
ebgp_multihop_max_hop: 5
ha_mode_graceful_restart: false
next_hop_self: false
next_hop_self_all: false
advertisement_interval: 60

Example 4: The example below shows BGP IPv6 unicast configuration including network advertisement, redistribution, neighbor activation, and VRF-aware IPv6 networks.

iosxe:
devices:
- name: router1
configuration:
system:
ip_routing: true
ipv6_unicast_routing: true
vrfs:
- name: VRF1
address_family_ipv4:
enable: true
address_family_ipv6:
enable: true
routing:
bgp:
as_number: 65100
default_ipv4_unicast: false
log_neighbor_changes: true
router_id_interface_type: Loopback
router_id_interface_id: 0
neighbors:
- ip: 2001:db8::1
remote_as: 65200
address_family:
ipv6_unicast:
networks:
- network: 2001:db8:1::/64
route_map: RM-IPV6
backdoor: false
- network: 2001:db8:2::/64
neighbors:
- ip: 2001:db8::1
activate: true
send_community: both
route_reflector_client: false
soft_reconfiguration: inbound
redistribute:
connected: true
static: false
vrfs:
- vrf: VRF1
advertise_l2vpn_evpn: true
networks:
- network: 2001:db8:100::/48
evpn: true
- network: 2001:db8:200::/48
route_map: RM-VRF
backdoor: false
redistribute:
connected: true
static: true

Example 5: The example below demonstrates BGP router-ID configuration using direct IP addresses. This method provides an alternative to the interface-based router-ID configuration shown in previous examples. Both methods are supported and can be used based on your network design requirements.

iosxe:
devices:
- name: router1
configuration:
system:
ip_routing: true
vrfs:
- name: VRF_DIRECT_IP
route_distinguisher: "65000:100"
address_family_ipv4:
enable: true
routing:
bgp:
as_number: 65000
router_id: 172.16.255.1 # Direct IP router-ID
default_ipv4_unicast: false
log_neighbor_changes: true
neighbors:
- ip: 10.1.1.2
remote_as: 65001
description: "eBGP_Peer"
address_family:
ipv4_unicast:
redistribute_connected: true
networks:
- network: 10.0.0.0
mask: 255.255.255.0
neighbors:
- ip: 10.1.1.2
activate: true
send_community: both

Note on router-ID configuration methods:

  • Direct IP method (shown in Example 5): Use router_id: <IP address> for explicit router-ID specification
  • Interface-based method (shown in Examples 1-4): Use router_id_interface_type: Loopback and router_id_interface_id: <number> to derive router-ID from interface IP
  • Both methods are mutually exclusive - use one or the other, not both on the same device

Example 6: The example below demonstrates BGP L2VPN EVPN advanced configuration attributes for multi-AS EVPN deployments and nexthop tracking optimization. These attributes provide fine-grained control over EVPN routing behavior and route convergence in large-scale EVPN fabrics.

iosxe:
devices:
- name: evpn-spine1
configuration:
routing:
bgp:
as_number: 65000
router_id: 192.168.255.1
default_ipv4_unicast: false
log_neighbor_changes: true
neighbors:
- ip: 10.1.1.2
remote_as: 65000
description: "EVPN_Leaf1"
update_source_interface_type: Loopback
update_source_interface_id: 0
- ip: 10.1.1.3
remote_as: 65000
description: "EVPN_Leaf2"
update_source_interface_type: Loopback
update_source_interface_id: 0
address_family:
l2vpn_evpn:
# EVPN Advanced Configuration
rewrite_evpn_rt_asn: true # Enable Route Target ASN rewriting for multi-AS EVPN
bgp_nexthop_trigger_delay: 10 # Set 10-second delay for nexthop tracking updates
neighbors:
- ip: 10.1.1.2
activate: true
send_community: both
route_reflector_client: true
- ip: 10.1.1.3
activate: true
send_community: both
route_reflector_client: true

Example 7: BGP Peer-Session Templates and Template Inheritance

This example demonstrates how to use peer-session templates to reduce configuration repetition and implement template-based inheritance for BGP neighbors. Peer-session templates allow you to define common session parameters once and apply them to multiple neighbors, simplifying configuration management in large-scale BGP deployments.

iosxe:
devices:
- name: router1
configuration:
interfaces:
loopbacks:
- id: 5
ipv4:
address: 192.168.5.1
address_mask: 255.255.255.255
- id: 100
ipv4:
address: 192.168.1.100
address_mask: 255.255.255.255
routing:
bgp:
as_number: 65000
log_neighbor_changes: true
# Define peer-session templates with common parameters
peer_session_templates:
- template_name: PEER_TEMPLATE_A
remote_as: 65001
description: "EBGP Peer Template for AS 65001"
update_source_interface_type: Loopback
update_source_interface_id: 5
disable_connected_check: true
ebgp_multihop: true
ebgp_multihop_max_hop: 3
- template_name: PEER_TEMPLATE_B
remote_as: 65002
description: "EBGP Peer Template for AS 65002"
update_source_interface_type: Loopback
update_source_interface_id: 100
ebgp_multihop: true
ebgp_multihop_max_hop: 2
# Template-to-template inheritance
- template_name: PEER_TEMPLATE_C
description: "Inherits settings from Template A"
inherit_peer_session: PEER_TEMPLATE_A
# Neighbors inherit settings from templates
neighbors:
- ip: 10.1.1.1
inherit_peer_session: PEER_TEMPLATE_A
- ip: 10.2.2.2
inherit_peer_session: PEER_TEMPLATE_B
- ip: 10.3.3.3
description: "Neighbor with custom description"
inherit_peer_session: PEER_TEMPLATE_C