{"id":418,"date":"2021-03-19T13:51:00","date_gmt":"2021-03-19T18:51:00","guid":{"rendered":"http:\/\/blog.miguelsarmiento.com\/?p=418"},"modified":"2021-03-19T20:03:57","modified_gmt":"2021-03-20T01:03:57","slug":"vxlan-evpn-nxos-and-route-targets","status":"publish","type":"post","link":"https:\/\/blog.miguelsarmiento.com\/?p=418","title":{"rendered":"VXLAN, EVPN, NXOS and Route Targets."},"content":{"rendered":"<p>Hello there,<\/p>\n<p>I have used VXLANs with EVPN using Cisco ACI and the APIC controller. While the APIC controller is great, it masks a lot of the configurations done on the spines and leaf devices.<\/p>\n<p>I currently do not use VXLANS at all so I decided to circle back and reacquaint with it. However, since I decided to do this in my home office lab environment I said to myself let\u2019s use CLI commands.<\/p>\n<p>Got the lab working and it was great to a point, run into an issue that drove me crazy for quite a bit.<\/p>\n<p><!--more--><\/p>\n<p>The topology is shown below:<\/p>\n<p><a href=\"https:\/\/blog.miguelsarmiento.com\/wp-content\/uploads\/2021\/03\/vxlan.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.miguelsarmiento.com\/wp-content\/uploads\/2021\/03\/vxlan.png\" width=\"544\" height=\"353\" \/><\/a><\/p>\n<p>As you can see, this is a standard topology, one of many you find on the web.<\/p>\n<p>Here I have one spine and three-leaf devices connected to a standard switch and also to a 9k switch using VPC.<\/p>\n<p>I was ready to start configuring the devices when I found on an old folder several configurations for a similar topology. It seemed like a lab example I have downloaded a while back but never used.<\/p>\n<p>I said to myself this will save me time, or so I thought.<\/p>\n<p>The original lab used multicasting for BUM traffic. I decided to modify it so it will use Ingress Replication.<\/p>\n<p>Thus, I changed the configurations a bit and have the lab up and running.<\/p>\n<p>Just to remind you I am using EVE-NG and you need a server with the right amount of memory. Each 9k I am using takes 8MB of memory.<\/p>\n<p>As stated I had the configurations for the lab already, so basically other than changing interface naming conventions and not using multicasting most of the configurations were there already including the spine.<\/p>\n<p>Started to test and I run into an interesting issue.<\/p>\n<p>From server 2 I could ping server 3 and vice versa. On the other hand, I could not ping across the standard switch.<\/p>\n<p>So I roll out my sleeves and started troubleshooting.<\/p>\n<p>I will not go onto how, perhaps another blog post, look at the NVE interfaces, the VNI instances, the L2VPN EVPN BGP configuration.<\/p>\n<p>Nada, could not find why I could not ping across.<\/p>\n<p>I could see labels were propagated, routes targets were exported and imported.<\/p>\n<p>It was driving me crazy!<\/p>\n<p>So, I went looking. Found a Cisco article regarding the configuration and verification of MP-BGP EVPN using the control plane.<\/p>\n<p>Their topology was very similar, they had an additional leaf to mimic access to the Internet with an external BGP peer from that leaf device.<\/p>\n<p>I went over through the configurations and still could not see what I was doing wrong.<\/p>\n<p>Then, voila I noticed something.<\/p>\n<p>The original lab had the spine configured with the following snippet of code under the address-family L2 EVPN.<\/p>\n<pre style=\"width: 524px; height: 75px;\">retain route-target all<\/pre>\n<p>Took that line off and voila I could ping across!<\/p>\n<p>The question is what does that do?<\/p>\n<p>Looking at the configuration guide for the nexus 9000, found the following:<\/p>\n<p><em>&#8220;Required for eBGP. Allows the spine to retain and advertise all EVPN routes when there are no local VNI configured with matching import route targets.&#8221;<\/em><\/p>\n<p>And that was the issue, my spine is not an ASBR device.<\/p>\n<p>If the spine was in a different AS than the leaf devices, I would need it.<\/p>\n<p>Not so sure why the original lab had it and if that lab ever worked.<\/p>\n<p>There you have it.<\/p>\n<p>Ciao.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello there, I have used VXLANs with EVPN using Cisco ACI and the APIC controller. While the APIC controller is great, it masks a lot of the configurations done on the spines and leaf devices. I currently do not use VXLANS at all so I decided to circle back and reacquaint with it. However, since &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.miguelsarmiento.com\/?p=418\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;VXLAN, EVPN, NXOS and Route Targets.&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-418","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=\/wp\/v2\/posts\/418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=418"}],"version-history":[{"count":8,"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=\/wp\/v2\/posts\/418\/revisions"}],"predecessor-version":[{"id":427,"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=\/wp\/v2\/posts\/418\/revisions\/427"}],"wp:attachment":[{"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.miguelsarmiento.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}