VXLAN EVPN Traffic Engineering - Multi-Site Egress Load-Balancing
The VXLAN-EVPN Traffic Engineering Multi-Site Egress Load-Balancing feature facilitates traffic steering and enables load balancing for the data sent between different sites across multi-site links. The traffic engineering and load-balancing functionality operate across an IP-based underlay network. Therefore, this essentially serves as IP Traffic Engineering that is applicable to any overlay-encapsulated traffic sent over the underlay. The VXLAN-EVPN Traffic Engineering Multi-Site Egress Load-Balancing typically provides improved utilization of inter-DC (Data Center) links. For more information, see Configuring VXLAN EVPN Traffic Engineering - Multi-Site Egress Load-Balancing. For more information, see https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html#concept_hz4_jxc_lvb
This section contains payload examples and CLIs to demonstrate how to use the NX-API REST API to configure VXLAN EVPN Traffic Engineering - Multi-Site Egress Load-Balancing on Cisco Nexus 3000 and 9000 Series switches and to show how the REST APIs correspond to the CLI commands.
Enabling Egress Load-Balance Filter Policy for Underlay
Enabling Egress Load-Balance Filter Policy for Underlay
{
"topSystem": {
"children": [
{
"bgpEntity": {
"children": [
{
"bgpInst": {
"attributes": {
"asn": "1"
},
"children": [
{
"bgpDom": {
"attributes": {
"name": "default"
},
"children": [
{
"bgpDomAf": {
"attributes": {
"ldBalEgrFilterPolRtMap": "rmap1",
"type": "ipv4-ucast"
}
}
}
]
}
}
]
}
}
]
}
}
]
}
}
REST Response:
{
"imdata": []
}
{
imdata:[]
}
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:3fe82c40-0fd5-495b-bd26-3ed94b61bc70">
<nc:edit-config>
<nc:target>
<nc:running/>
</nc:target>
<nc:config>
<System xmlns="http://cisco.com/ns/yang/cisco-nx-os-device">
<bgp-items>
<inst-items>
<asn>1</asn>
<dom-items>
<Dom-list>
<name>default</name>
<af-items>
<DomAf-list>
<type>ipv4-ucast</type>
<ldBalEgrFilterPolRtMap>rmap1</ldBalEgrFilterPolRtMap>
</DomAf-list>
</af-items>
</Dom-list>
</dom-items>
</inst-items>
</bgp-items>
</System>
</nc:config>
</nc:edit-config>
</nc:rpc>
CLI Commands
The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.
router bgp 1
address-family ipv4 unicast
load-balance egress filter-policy route-map rmap1
Note: The property information for this example was added in Release 10.4(3). This CLI enables filter policy to restrict the egress load-balance (ELB) to only the VTEP routes of interest. The underlay routes are matched using the community attribute or using a prefix-list, which is defined in the ‘rmap1’ route-map in the above example.
Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.
| MO | DN |
|---|---|
| af | sys/bgp/inst/dom-default/af-[ipv4-ucast] |
fmBgp Properties
The following table contains information about the fmBgp properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.
| Property Name |
|---|
| ldBalEgrFilterPolRtMap |
Related Documentation
For more information about this CLI, see:
For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:
See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:
https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/
For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:
Enabling Egress Load-Balancing Auto-Multipath Policy for Underlay
Enabling Egress Load-Balancing Auto-Multipath Policy for Underlay
{
"topSystem": {
"children": [
{
"bgpEntity": {
"children": [
{
"bgpInst": {
"attributes": {
"asn": "1"
},
"children": [
{
"bgpDom": {
"attributes": {
"name": "default"
},
"children": [
{
"bgpDomAf": {
"attributes": {
"ldBalEgrMPathAutoPolRtMap": "rmap2",
"type": "ipv4-ucast"
}
}
}
]
}
}
]
}
}
]
}
}
]
}
}
REST Response:
{
"imdata": []
}
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:df94279e-81ff-4565-bc91-ac27a7a1707d">
<nc:edit-config>
<nc:target>
<nc:running/>
</nc:target>
<nc:config>
<System xmlns="http://cisco.com/ns/yang/cisco-nx-os-device">
<bgp-items>
<inst-items>
<asn>1</asn>
<dom-items>
<Dom-list>
<name>default</name>
<af-items>
<DomAf-list>
<type>ipv4-ucast</type>
<ldBalEgrMPathAutoPolRtMap>rmap2</ldBalEgrMPathAutoPolRtMap>
</DomAf-list>
</af-items>
</Dom-list>
</dom-items>
</inst-items>
</bgp-items>
</System>
</nc:config>
</nc:edit-config>
</nc:rpc>
CLI Commands
The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.
router bgp 1
address-family ipv4 unicast
load-balance egress multipath auto-policy route-map rmap2
Note: The property information for this example was added in Release 10.4(3). The CLI configures the parameters to control automatic multipath selection and load-sharing in BGP. You can configure an auto-multipath policy using a route-map (rmap2 in the above example) that specifies the maximum number of multipaths to be computed. This policy can match one or more configured thresholds, such as AIGP metric difference, AS-path length difference, or metric difference, when compared to the best path. In the absence of an auto-multipath policy, only the best path is installed.
Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.
| MO | DN |
|---|---|
| af | sys/bgp/inst/dom-default/af-[ipv4-ucast] |
fmBgp Properties
The following table contains information about the fmBgp properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.
| Property Name |
|---|
| ldBalEgrMPathAutoPolRtMap |
Related Documentation
For more information about this CLI, see:
[https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html#task_ssk_byq_lvb] (https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html#task_ssk_byq_lvb)
For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:
See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:
https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/
For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:
Configuring Egress Load-Balancing for Overlay
Configuring Egress Load-Balancing for Overlay
{
"topSystem": {
"children": [
{
"bgpEntity": {
"children": [
{
"bgpInst": {
"attributes": {
"asn": "1"
},
"children": [
{
"bgpDom": {
"attributes": {
"name": "default"
},
"children": [
{
"bgpDomAf": {
"attributes": {
"nhLdBalEgrMultiSite": "enabled",
"type": "l2vpn-evpn"
}
}
}
]
}
}
]
}
}
]
}
}
]
}
}
REST Response:
{
"imdata": []
}
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:ab087985-290f-481e-8fce-b9ce4736db88">
<nc:edit-config>
<nc:target>
<nc:running/>
</nc:target>
<nc:config>
<System xmlns="http://cisco.com/ns/yang/cisco-nx-os-device">
<bgp-items>
<inst-items>
<asn>1</asn>
<dom-items>
<Dom-list>
<name>default</name>
<af-items>
<DomAf-list>
<type>l2vpn-evpn</type>
<nhLdBalEgrMultiSite>enabled</nhLdBalEgrMultiSite>
</DomAf-list>
</af-items>
</Dom-list>
</dom-items>
</inst-items>
</bgp-items>
</System>
</nc:config>
</nc:edit-config>
</nc:rpc>
CLI Commands
The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.
router bgp 1
address-family l2vpn evpn
nexthop load-balance egress multisite
Note: The property information for this example was added in Release 10.4(3). This CLI enables Overlay (EVPN) next-hop resolution through egress-loadbalance-resolution- underlay paths. Overlay Traffic will be distributed across Egress-LB underlay UECMP/WUECMP paths for a given VIP or PIP NH.
Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.
| MO | DN |
|---|---|
| af | sys/bgp/inst/dom-default/af-[l2vpn-evpn] |
fmBgp Properties
The following table contains information about the fmBgp properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.
| Property Name |
|---|
| nhLdBalEgrMultiSite |
Related Documentation
For more information about this CLI, see:
[https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html#task_ssk_byq_lvb] (https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html#task_ssk_byq_lvb)
For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:
See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:
https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/
For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:
Enabling uECMP or wuECMP Load-Balancing for Overlay
Enabling uECMP or wuECMP Load-Balancing for Overlay
{
"topSystem": {
"children": [
{
"bgpEntity": {
"children": [
{
"bgpInst": {
"attributes": {
"asn": "1"
},
"children": [
{
"bgpDom": {
"attributes": {
"name": "default"
},
"children": [
{
"bgpDomAf": {
"attributes": {
"maxPathUnequalCost": "enabled",
"type": "l2vpn-evpn"
}
}
}
]
}
}
]
}
}
]
}
}
]
}
}
REST Response:
{
"imdata": []
}
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:74e31303-5fa5-4584-9c37-c729d68e509e">
<nc:edit-config>
<nc:target>
<nc:running/>
</nc:target>
<nc:config>
<System xmlns="http://cisco.com/ns/yang/cisco-nx-os-device">
<bgp-items>
<inst-items>
<asn>1</asn>
<dom-items>
<Dom-list>
<name>default</name>
<af-items>
<DomAf-list>
<type>l2vpn-evpn</type>
<maxPathUnequalCost>enabled</maxPathUnequalCost>
</DomAf-list>
</af-items>
</Dom-list>
</dom-items>
</inst-items>
</bgp-items>
</System>
</nc:config>
</nc:edit-config>
</nc:rpc>
CLI Commands
The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.
router bgp 1
address-family l2vpn evpn
nexthop load-balance egress multisite
maximum-path <>
maximum-path unequal-cost
Note: The property information for this example was added in Release 10.4(3). This CLI Configures the Unequal Multipath in Overlay. If the “nexthop load-balance egress multisite command” is configured along with “maximum-path”, and “maximum-path unequal-cost” commands, the overlay next-hops will be programmed with weight only if there are multiple overlay next-hops and the igp_metrics of those next-hops are different. Overlay Traffic distributed across multiple weighted PIP NHs, each PIP NH with Egress-LB underlay UECMP/WUECMP paths.
Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.
| MO | DN |
|---|---|
| af | sys/bgp/inst/dom-[]/af-[] |
Properties
The following table contains information about the fmBgp properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.
| Property Name |
|---|
| maxPathUnequalCost |
Related Documentation
For more information about this CLI, see:
[https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html#Cisco_Task.dita_4f4233cb-f010-4dc9-a271-79ba2956f52b] (https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html#Cisco_Task.dita_4f4233cb-f010-4dc9-a271-79ba2956f52b)
For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:
See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:
https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/
For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:
Enable AIGP under BGP
Enable AIGP under BGP
{
"topSystem": {
"children": [
{
"bgpEntity": {
"children": [
{
"bgpInst": {
"attributes": {
"asn": "3"
},
"children": [
{
"bgpDom": {
"attributes": {
"name": "default"
},
"children": [
{
"bgpPeer": {
"attributes": {
"addr": "14.1.1.1",
"asn": "2",
"asnType": "none",
"inheritContPeerCtrl": ""
},
"children": [
{
"bgpPeerAf": {
"attributes": {
"aigp": "enabled",
"inheritContPeerPolicyCtrl": "",
"type": "ipv4-ucast"
}
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
{
"imdata": []
}
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
<edit-config>
<target>
<running/>
</target>
<config>
<System xmlns="http://cisco.com/ns/yang/cisco-nx-os-device">
<bgp-items>
<inst-items>
<asn>1</asn>
<dom-items>
<Dom-list>
<name>default</name>
<peer-items>
<Peer-list>
<addr>10.1.1.1</addr>
<af-items>
<PeerAf-list>
<type>ipv4-ucast</type>
<aigp>enabled</aigp>
</PeerAf-list>
</af-items>
</Peer-list>
</peer-items>
</Dom-list>
</dom-items>
</inst-items>
</bgp-items>
</System>
</config>
</edit-config>
</rpc>
aigp
CLI Commands
The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.
router bgp 3
neighbor 10.1.1.1
remote-as 2
address-family ipv4 unicast
aigp
Note: The property information for this example was added in Release 10.4(3). Enable AIGP for ipv4 address-family of a neighbor.This neighbor can now send and receive AIGP attribute
Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.
| MO | DN |
|---|---|
| af | sys/bgp/inst/dom-[]/peer-[]/af-[] |
Properties
The following table contains information about the fmBgp properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.
| Property Name |
|---|
| aigp |
Related Documentation
For more information about this CLI, see:
[https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html] (https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html)
For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:
See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:
https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/
For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:
Enable reference-bandwidth
Enable reference-bandwidth
{
"topSystem": {
"children": [
{
"bgpEntity": {
"children": [
{
"bgpInst": {
"attributes": {
"asn": "3"
},
"children": [
{
"bgpDom": {
"attributes": {
"bwRef": "40",
"bwRefUnit": "gbps",
"name": "default"
}
}
}
]
}
}
]
}
}
]
}
}
{
"imdata": []
}
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:eb708ba0-4c6e-48eb-8060-41f19a6aeb60">
<nc:edit-config>
<nc:target>
<nc:running/>
</nc:target>
<nc:config>
<System xmlns="http://cisco.com/ns/yang/cisco-nx-os-device">
<bgp-items>
<inst-items>
<asn>1</asn>
<dom-items>
<Dom-list>
<name>default</name>
<bwRef>30</bwRef>
<bwRefUnit>gbps</bwRefUnit>
</Dom-list>
</dom-items>
</inst-items>
</bgp-items>
</System>
</nc:config>
</nc:edit-config>
</nc:rpc>
aigp
CLI Commands
The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.
router bgp 1
reference-bandwidth 30 [Gbps|Mbps]
Note: The property information for this example was added in Release 10.4(3). This CLI enables reference-bandwidth. This reference bandwidth will be used to automatically derive the Cost(Metric) of directly connected eBGP sessions.
Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.
| MO | DN |
|---|---|
| dom | sys/bgp/inst/dom-[] |
Properties
The following table contains information about the fmBgp properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.
| Property Name |
|---|
| dom-[].bwRef |
| dom-[].bwRefUnit |
Related Documentation
For more information about this CLI, see:
[https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html] (https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html)
For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:
See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:
https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/
For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:
Enable Bestpath AIGP Ignore
Enable Bestpath AIGP Ignore
{
"topSystem": {
"children": [
{
"bgpEntity": {
"children": [
{
"bgpInst": {
"attributes": {
"asn": "3"
},
"children": [
{
"bgpDom": {
"attributes": {
"name": "default"
},
"children": [
{
"bgpPathCtrl": {
"attributes": {
"aigpIgnore": "enabled"
}
}
}
]
}
}
]
}
}
]
}
}
]
}
}
{
"imdata": []
}
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:2b86a970-00bd-495b-8cda-34486b7d9264">
<nc:edit-config>
<nc:target>
<nc:running/>
</nc:target>
<nc:config>
<System xmlns="http://cisco.com/ns/yang/cisco-nx-os-device">
<bgp-items>
<inst-items>
<asn>1</asn>
<dom-items>
<Dom-list>
<name>default</name>
<pathctrl-items>
<aigpIgnore>enabled</aigpIgnore>
</pathctrl-items>
</Dom-list>
</dom-items>
</inst-items>
</bgp-items>
</System>
</nc:config>
</nc:edit-config>
</nc:rpc>
aigp
CLI Commands
The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.
router bgp 1
bestpath aigp ignore
Note: The property information for this example was added in Release 10.4(3). When this CLI is configured, BGP will NOT evaluate AIGP metric during the best path selection process between two paths when one path does not have the AIGP metric.
Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.
| MO | DN |
|---|---|
| dom | sys/bgp/inst/dom-[]/pathctrl |
Properties
The following table contains information about the fmBgp properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.
| Property Name |
|---|
| aigpIgnore |
Related Documentation
For more information about this CLI, see:
[https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html] (https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/configuration/vxlan/cisco-nexus-9000-series-nx-os-vxlan-configuration-guide-release-104x/m-configuring-te.html)
For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:
See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:
https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/
For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide: