VXLAN EVPN iBGP
Diagram
Section titled “Diagram”Classes
Section titled “Classes”global (vxlan)
Section titled “global (vxlan)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ibgp | Class | [ibgp] | No |
ibgp (vxlan.global)
Section titled “ibgp (vxlan.global)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| bgp_asn | String | Regex: ^(?:\d{1,10}|\d{1,5}\.\d{1,5})$ | Yes | |
| route_reflectors | Choice | 2, 4 | No | 2 |
| anycast_gateway_mac | Any | String[Regex: ^[a-f0-9]{1}\.[a-f0-9]{1}\.[a-f0-9]{1}$] or String[Regex: ^[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}$] or String[Regex: ^[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}$] or String[Regex: ^[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}$] | No | 20:20:00:00:00:aa |
| overlay_mode | Choice | cli, config-profile | No | cli |
| layer2_vni_range | Class | [layer2_vni_range] | No | |
| layer3_vni_range | Class | [layer3_vni_range] | No | |
| layer2_vlan_range | Class | [layer2_vlan_range] | No | |
| layer3_vlan_range | Class | [layer3_vlan_range] | No | |
| enable_mvpn_vri_id_range | Boolean | true, false | No | true |
| enable_l3_vni_no_vlan | Boolean | true, false | No | false |
| multisite_site_id | Integer | min: 1, max: 281474976710655 | No | |
| vpc | Class | [vpc] | No | |
| ptp | Class | [ptp] | No | |
| snmp_server_host_trap | Boolean | true, false | No | true |
| enable_nxapi_http | Boolean | true, false | No | false |
| nxapi_http_port | Integer | No | 80 | |
| enable_nxapi_https | Boolean | true, false | No | true |
| nxapi_https_port | Integer | No | 443 | |
| spanning_tree | Class | [spanning_tree] | No | |
| auth_proto | Choice | MD5, SHA, MD5_DES, MD5_AES, SHA_DES, SHA_AES | No | MD5 |
| dns_servers | List | [dns_servers] | No | |
| ntp_servers | List | [ntp_servers] | No | |
| syslog_servers | List | [syslog_servers] | No | |
| netflow | Class | [netflow] | No | |
| bootstrap | Class | [bootstrap] | No | |
| tcam_allocation | Boolean | true, false | No | true |
layer2_vni_range (vxlan.global.ibgp)
Section titled “layer2_vni_range (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| from | Integer | min: 1, max: 16777214 | Yes | 30000 |
| to | Integer | min: 1, max: 16777214 | No | 49000 |
layer2_vlan_range (vxlan.global.ibgp)
Section titled “layer2_vlan_range (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| from | Integer | min: 2, max: 4094 | Yes | 2300 |
| to | Integer | min: 2, max: 4094 | No | 2999 |
vpc (vxlan.global.ibgp)
Section titled “vpc (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| peer_link_vlan | Integer | min: 2, max: 3967 | No | 3600 |
| peer_keep_alive | Choice | loopback, management | No | management |
| auto_recovery_time | Integer | min: 240, max: 3600 | No | 360 |
| delay_restore_time | Integer | min: 1, max: 3600 | No | 150 |
| peer_link_port_channel_id | Integer | min: 1, max: 4096 | No | 500 |
| ipv6_nd_sync | Boolean | true, false | No | true |
| advertise_pip | Boolean | true, false | No | false |
| advertise_pip_border_only | Boolean | true, false | No | true |
| advertise_pip_border_gateway | Boolean | true, false | No | |
| domain_id_range | String | No | 1-1000 | |
| fabric_vpc_qos | Boolean | true, false | No | false |
| fabric_vpc_qos_policy_name | String | No | spine_qos_for_fabric_vpc_peering |
ptp (vxlan.global.ibgp)
Section titled “ptp (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| enable | Boolean | true, false | No | false |
| domain_id | Integer | min: 0, max: 127 | No | 0 |
| lb_id | Integer | min: 0, max: 1023 | No | 0 |
| vlan_id | Integer | min: 2, max: 3967 | No |
spanning_tree (vxlan.global.ibgp)
Section titled “spanning_tree (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| root_bridge_protocol | Choice | rpvst+, mst, unmanaged | Yes | unmanaged |
| vlan_range | List | [vlan_range] | No | |
| mst_instance_range | List | [mst_instance_range] | No | |
| bridge_priority | Choice | 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, 61440 | No | 0 |
dns_servers (vxlan.global.ibgp)
Section titled “dns_servers (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ip_address | IP | Yes | ||
| vrf | String | Yes |
ntp_servers (vxlan.global.ibgp)
Section titled “ntp_servers (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ip_address | IP | Yes | ||
| vrf | String | Yes |
syslog_servers (vxlan.global.ibgp)
Section titled “syslog_servers (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ip_address | IP | Yes | ||
| vrf | String | Yes | ||
| severity | Integer | min: 0, max: 7 | Yes |
netflow (vxlan.global.ibgp)
Section titled “netflow (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| enable | Boolean | true, false | No | false |
| exporter | List | [exporter] | No | |
| record | List | [record] | No | |
| monitor | List | [monitor] | No |
bootstrap (vxlan.global.ibgp)
Section titled “bootstrap (vxlan.global.ibgp)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| enable_bootstrap | Boolean | true, false | No | false |
| enable_local_dhcp_server | Boolean | true, false | No | false |
| dhcp_version | Choice | DHCPv4, DHCPv6 | No | |
| dhcp_v4 | Class | [dhcp_v4] | No | |
| dhcp_v6 | Class | [dhcp_v6] | No | |
| enable_cdp_mgmt | Boolean | true, false | No | false |
vlan_range (vxlan.global.ibgp.spanning_tree)
Section titled “vlan_range (vxlan.global.ibgp.spanning_tree)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| from | Integer | min: 1, max: 3967 | Yes | |
| to | Integer | min: 1, max: 3967 | No |
mst_instance_range (vxlan.global.ibgp.spanning_tree)
Section titled “mst_instance_range (vxlan.global.ibgp.spanning_tree)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| from | Integer | min: 0, max: 4094 | Yes | |
| to | Integer | min: 0, max: 4094 | No |
exporter (vxlan.global.ibgp.netflow)
Section titled “exporter (vxlan.global.ibgp.netflow)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| ip_address | IP | Yes | ||
| vrf | String | No | ||
| source_interface | String | Regex: (?i)^(?:e|eth(?:ernet)?)\d(?:\/\d+){1,2}(\.\d{1,4})?$ | Yes | |
| udp_port | Integer | min: 1, max: 65535 | Yes |
record (vxlan.global.ibgp.netflow)
Section titled “record (vxlan.global.ibgp.netflow)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| template | Choice | netflow_ipv4_record, netflow_l2_record | Yes | |
| layer2 | Boolean | true, false | No |
monitor (vxlan.global.ibgp.netflow)
Section titled “monitor (vxlan.global.ibgp.netflow)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| record | String | Yes | ||
| exporter1 | String | Yes | ||
| exporter2 | String | No |
dhcp_v4 (vxlan.global.ibgp.bootstrap)
Section titled “dhcp_v4 (vxlan.global.ibgp.bootstrap)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| scope_start_address | IP | Yes | ||
| scope_end_address | IP | Yes | ||
| switch_mgmt_default_gw | IP | Yes | ||
| mgmt_prefix | Integer | min: 8, max: 30 | Yes | |
| multi_subnet_scope | String | No | ||
| domain_name | String | No |
dhcp_v6 (vxlan.global.ibgp.bootstrap)
Section titled “dhcp_v6 (vxlan.global.ibgp.bootstrap)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| scope_start_address | IP | Yes | ||
| scope_end_address | IP | Yes | ||
| switch_mgmt_default_gw | IP | Yes | ||
| mgmt_prefix | Integer | min: 64, max: 126 | Yes | |
| multi_subnet_scope | String | No | ||
| domain_name | String | No |
In this example we will create a EVPN Fabric name myfabric with the AS Number: 6512
The value in bgp_asn should between double quotes. Example:
global: ibgp: bgp_asn: "6512"global: ibgp: bgp_asn: "65000.1"---vxlan: fabric: name: myfabric type: VXLAN_EVPN global: ibgp: bgp_asn: "6512" # Use quotes route_reflectors: 2 anycast_gateway_mac: 20:20:00:00:00:aa dns_servers: - ip_address: 172.25.74.200 vrf: service - ip_address: 172.25.74.201 vrf: service ntp_servers: - ip_address: 10.195.225.200 vrf: service syslog_servers: - ip_address: 172.16.255.251 vrf: management severity: 3 - ip_address: 172.16.255.252 vrf: management severity: 3 vpc: peer_link_vlan: 3600 peer_keep_alive: management auto_recovery_time: 240 delay_restore_time: 150 peer_link_port_channel_id: 500 advertise_pip: false advertise_pip_border_only: true domain_id_range: 1-100To display BGP session in asdot format, you can add the following CLI with a policy.
netascode-bgw(config)# as-format asdotnetascode-bgw# sh bgp l2vpn evpn summary | begin NeighborNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd10.0.0.1 4 65000.1 24569 24529 224 0 0 2w3d 1010.0.0.3 4 65000.1 24531 24532 224 0 0 2w3d 110.0.0.4 4 65000.1 24554 24531 224 0 0 2w3d 1010.0.0.5 4 65000.1 24599 24537 224 0 0 2w3d 1100.64.0.1 4 65000.100 6868 6873 224 0 0 12:19:50 1100.64.0.2 4 65000.100 6871 6873 224 0 0 12:19:54 1100.64.0.3 4 65000.100 1697 1700 224 0 0 12:20:07 1100.64.0.4 4 65000.100 1697 1700 224 0 0 12:19:22 1
Neighbor T AS PfxRcd Type-2 Type-3 Type-4 Type-5 Type-1210.0.0.1 I 65000.1 10 6 0 0 4 010.0.0.3 I 65000.1 1697 1699 224 0 0 12:18:34 1---vxlan: policy: policies: - name: asdot template_name: switch_freeform template_vars: CONF: |- as-format asdot groups: - name: commonPolicies priority: 500 policies: - name: asdot switches: - name: netascode-bgw groups: - commonPolicies