\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{sh-arista} \pdfinfo{ /Title (arista-vxlan-routing.pdf) /Creator (Cheatography) /Author (sh-arista) /Subject (Arista VXLAN Routing Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{235091} \definecolor{LightBackground}{HTML}{F1F4F8} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Arista VXLAN Routing Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{sh-arista} via \textcolor{DarkBackground}{\uline{cheatography.com/93954/cs/20786/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}sh-arista \\ \uline{cheatography.com/sh-arista} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 3rd December, 2019.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{VXLAN Routing}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{VXLAN routing is the routing of traffic between extended L2 domains using VTEPs as the default gateways. Routing can be achieved via a direct or indirect routing model. In the "direct" version, packets bridge to their gateway, route on that same device, then bridge across the VXLAN overlay. With the "indirect" model, only a subset of the overlay tenant networks will get locally routed instead of all of the overlay networks. The other networks will use a transit VNI for routing.% Row Count 10 (+ 10) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{If needed, see "Arista VXLAN Bridging Cheat Sheet" for a review of the basics of VXLAN.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Example Topology}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/sh-arista_1571325321_topology.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{VXLAN and NAT cannot coexist on a switch.}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{VXLAN and MPLS cannot coexist on a switch.% Row Count 1 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.08 cm} x{5.92 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{VXLAN Routing by Platform}} \tn % Row 0 \SetRowColor{LightBackground} Platform & Additional config needed due to asic limitations (as of 4.18.1F) \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} 7150 & Good to go \tn % Row Count 4 (+ 1) % Row 2 \SetRowColor{LightBackground} 7050X & Configure recirculation \tn % Row Count 5 (+ 1) % Row 3 \SetRowColor{white} 7050X2 & Good to go \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} 7050X3,7300X3 & Good to go \tn % Row Count 8 (+ 2) % Row 5 \SetRowColor{white} 7250X & Good to go \tn % Row Count 9 (+ 1) % Row 6 \SetRowColor{LightBackground} 7060CX, 7260QX & Configure recirculation \tn % Row Count 11 (+ 2) % Row 7 \SetRowColor{white} 7280E & Configure TCAM profile using "hardware tcam profile vxlan-routing" \tn % Row Count 14 (+ 3) % Row 8 \SetRowColor{LightBackground} 7500E & Not supported \tn % Row Count 15 (+ 1) % Row 9 \SetRowColor{white} 7280R,7500R & Configure TCAM profile using "hardware tcam profile vxlan-routing" \tn % Row Count 18 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Please see block on how to configure recirculation channels.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Recirculation using front-panel ports}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{interface Recirc-Channel627 \newline switchport recirculation features vxlan \newline ! \newline interface Ethernet1/2 \newline traffic-loopback source system device mac \newline channel-group recirculation 627 \newline ! \newline interface Ethernet1/3 \newline traffic-loopback source system device mac \newline channel-group recirculation 627} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{For more information: \newline https://www.arista.com/assets/data/pdf/user-manual/um-eos/Chapters/VXLAN.pdf} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Recirculation using UnconnectedEthernet Interfaces}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{service interface unconnected expose \newline ! \newline interface UnconnectedEthernet2 \newline traffic-loopback source system device mac \newline channel-group recirculation 627 \newline !} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{On the 7050X (but not on the 7060CX or 7260QX series), the entire chip BW is not used by the front panel ports and can be used for recirculation via this method. It is recommended to set the recirculation BW to match the uplink BW facing the spines. To learn more about this, please contact Arista or see the below: \newline \newline https://www.arista.com/assets/data/pdf/user-manual/um-eos/Chapters/VXLAN.pdf} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.76 cm} x{4.24 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Confirmation}} \tn % Row 0 \SetRowColor{LightBackground} show recirc-channel X & To confirm configuration \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Base Configuration of a Routing VTEP}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{interface Vxlan1 \newline vxlan source-interface Loopback1 \newline vxlan udp-port 4789 \newline vxlan vlan 15 vni 10015 \newline vxlan vlan 240 vni 8358534 \newline vxlan vlan X vni Y \newline vxlan flood vtep \textless{}remote VTEP IP\textgreater{} \textless{}remote VTEP IP\textgreater{} \newline ! \newline interface Loopback1 \newline ip address 1.0.1.1/32 \textless{}\textless{} VTEP IP \newline ip address 1.0.1.2/32 secondary \textless{}\textless{} Virtual VTEP IP (VVTEP) \newline ! \newline ip virtual-router mac-address 00:00:11:22:33:44 \newline ! \newline ip routing \newline !} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{Notice the only difference with this portion of the config is adding a secondary IP known as the Virtual VTEP IP. This is only needed on routing VTEPs and not on bridging-only VTEPs. On bridging VTEPs, this VVTEP IP will be included in the flood list to ensure BUM traffic reaches all VTEPs. Don't forget to add the virtual MAC which binds with all Virtual IPs configured on the switch. See "Arista VXLAN Direct Routing" for additional information.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Direct or Indirect Routing?}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{See "Arista VXLAN Direct Routing" or "Arista VXLAN Indirect Routing" Cheat Sheets for details.% Row Count 2 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.04 cm} p{0.76 cm} x{3.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{8.4cm}}{\bf\textcolor{white}{Configuration of the SVIs (Anycast Gateways)}} \tn % Row 0 \SetRowColor{LightBackground} Using VARP: & & Using "ip address virtual": \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} interface Vlan15 & & interface Vlan15 \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} ip address 1.0.15.1/24 & & ip address virtual 1.0.15.254/24 \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{3}{x{8.4cm}}{ip virtual-router address 1.0.15.254} \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} ip virtual-router mac-address \seqsplit{00:00:11:22:33:44} & & ip virtual-router mac-address 00:00:11:22:33:44 \tn % Row Count 9 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}---} \SetRowColor{LightBackground} \mymulticolumn{3}{x{8.4cm}}{There are two options when configuring anycast gateways. VARP, commonly seen with MLAG, uses more IP addresses - a physical and a virtual IP address. "ip address virtual" only uses a virtual IP address. There are some considerations when using "ip address virtual" - see the relevant block for more info. For more info on VARP, please see the "Arista VARP" Cheat Sheet.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Considerations with "ip address virtual"}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{Must configure a secondary IP (matching MLAG peer and all other routing VTEPs) on VXLAN loopback for virtual VTEP IP.} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Routing adjacencies can't form over SVIs configured with "ip address virtual".} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{In MLAG config, ARP responses to the SVI's VIP are synced with the MLAG peer to ensure consistency between the peers. This is achieved via the VXLAN agent so the "ip address virtual" option is only available in a VXLAN config.} \tn % Row Count 10 (+ 5) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{No periodic GARP is sent (like is sent in VARP).} \tn % Row Count 11 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{For non-VXLAN VLANs, use VARP (ip virtual-router address).} \tn % Row Count 13 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Configuring a TCAM hardware profile post 4.20.1F}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{sw(config)\#hardware tcam \newline sw(config-hw-tcam)\#system profile vxlan-routing \newline \newline sw(config-hw-tcam)\#show hardware tcam profile} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{ARP and MAC Aging Timers}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{To reduce the potential for traffic flooding when the MAC ages out, configure (interface level) the ARP aging timer to equal or less than the MAC Aging timer. \newline % Row Count 4 (+ 4) (config-if)\#arp timeout 14400 \newline % Row Count 5 (+ 1) (config)\#mac address-table aging-time 14400% Row Count 6 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}