The examples used in this book are taken from my own experiences as well as from the experiences of those with or for whom I have had the pleasure of working. Of course, for obvious legal and honorable reasons, the exact details and any information that might reveal the identities of the other parties involved have been changed. Because they’re guilty as hell. Every last one of ‘em.
Who Should Read This Book
This book is not an Arista manual. I will not go into the details of every permutation of every command, nor will I go into painful detail of default timers or counters or priorities or any of that boring stuff. The purpose of this book is to get you up and running with an Arista switch, or even a data center full of them. What’s more, this book aims to explain Arista-specific features in great detail; however, it might not go into such detail on other topics such as explaining VLANs, routers, and how to configure NTP, because I’ve covered those topics at length in Network Warrior. I will go into detail if a topic is being introduced here that wasn’t covered in Network Warrior, such as Multiple Spanning Tree (MST) or Virtual Router Redundancy Protocol (VRRP). Where possible, I have concentrated on what makes Arista switches great. In short, if you want to learn about networking, pick up Network Warrior. If you want to know why Arista is stealing market share from all of the other networking equipment vendors (and continues to do so six years after the first edition was published), buy this book.
This book is intended for use by anyone familiar with networking from any vendor’s environment, but most likely from one with that industry-standard command-line interface (CLI) we all know, who is interested in learning more about Arista switches. Anyone with entry-level networking certification (or greater) knowledge should benefit from this book, but the person who will get the most from this book is the entrenched admin, engineer, or architect who has been tasked with building an Arista network. My goal in writing Arista Warrior is to explain complex ideas in an easy-to-understand manner. I’ve taught many classes on Arista switches, and I see trepidation and fear of the unknown in students when the class begins. By the end of the class, I have students asking when the next class will be available and if I can get them Arista T-shirts. In the first printing of this book, I commented that I couldn’t get shirts. Now that I work for Arista, I can tell you that if you take one of my classes, you might get a T-shirt! I hope you will find this book similarly informative, lack of free vendor swag notwithstanding.
As I wrote in Network Warrior, I have noticed over the years that people in the computer, networking, and telecom industries are often misinformed about the basics of these disciplines. I believe that in many cases, this is the result of poor teaching or the use of reference material that does not convey complex concepts well. With this book, I hope to show people how easy some of these concepts are. Of course, as I like to say, “It’s easy when you know how,” so I have tried very hard to help anyone who picks up my book understand the ideas contained herein.
Let’s be brutally honest; most technology books suck. What drew me to O’Reilly in the first place is that most of theirs don’t. From the feedback I’ve received over the years since first writing Network Warrior, it has become clear to me that many of my readers agree. I hope that this book is as easy to read as my previous works, and at least as entertaining. For those of you who have met me during one my classes, I apologize in advance for the fact that you’ll hear my voice in your head as you read. As someone who’s lived his entire life with my own voice in my head, I know that nobody wants that.
My goal, as always, is to make your job easier. Where applicable, I will share details of how I’ve made horrible mistakes in order to help you avoid them. Sure, I could pretend that I’ve never made any such mistakes, but anyone who knows me will happily tell you how untrue that would be. Besides, stories make technical books more fun, so dig in, read on, and enjoy watching me fail, because when I do, I tend to fail in a big way.
This book is similar in style to Network Warrior, with the obvious exception that there is no (well, very little, really) Cisco content. In some cases, I include examples that might seem excessive, such as showing the output from a command’s help option. My assumption is that people don’t have Arista switches sitting around that they can play with. This is a bit different than all of the other entrenched vendors’ worlds, where you can pick up an old switch on the internet for little money. Arista is still a relatively new company (12 years old as of this writing), and finding used Arista switches will probably be tough. Hopefully, by including more of what you’d see in an actual Arista switch, this book will help those curious about them.
One of the great changes that Arista made from the days of the first edition of Arista Warrior is that you can now get a copy of vEOS or cEOS simply by registering a guest account on the Arista website. This is a positively huge development for those of us who want to get certified or just want to learn more about Extensible Operating System (EOS).
Lastly, I’d like to explain why I wrote this book. When I wrote the first edition of this book, I didn’t work for Arista, I didn’t sell Arista gear, and Arista had not paid me to write this book. I now work for Arista as an instructor and course developer. Arista did not dictate the contents of this book, and I even went so far as to insist that I continue to have some autonomy in my writing career when hired. If I see something that I don’t like, I’ll write about it, but to be completely up front, because I work for Arista, I am likely to present the issue to them for correction before publishing anything negative. The only restriction I have is that I cannot post any trade or company secrets. Telling you things like, “Mark Berly is a robot sent from the future to destroy us all,” would be similarly unethical, and I just won’t do it. Much.
For those not in on the joke, Mark Berly is one of the very early employees at Arista and was the one who recommended me for the job. He’s an all-around great guy and is part of what makes Arista great. He also said, “Holy crap, you got old!” the last time I saw him, so he deserves a light-hearted jab. In print. Forever.
Some time ago, before my tenure at Arista began, a client had me do a sort of bake-off between major networking equipment vendors (Mark Berly was my Arista systems engineer). We brought in all the big names, all of whom said something to the effect of, “We’re usually up against Arista in this space!” Because every one of the other vendors inadvertently recommended Arista, we contacted the company, got some test gear, and went out to visit its California office.
I’ve been in IT for more than 30 years, and I’ve been doing networking for more than 25. I’m jaded, I’m grouchy, and I distrust everything I read. I’ve seen countless new ideas reveal themselves as a simple rehashing of something we did with mainframes. I’ve seen countless IT companies come and go, and I’ve been disappointed by more pieces of crappy hardware with crappy operating systems than most people can name. I’ve been given job offers by the biggest names in the business and turned them all down. Why? Because big names mean nothing to me aside from the possibility of another bullet added to my résumé.
Nothing impresses me, nothing surprises me, and nothing gets past me. But when I walked out of Arista after three days of meeting with everyone from the guys who write the code to the CEO and founders themselves, I was impressed. Not only impressed, but excited! I’m not easily sold, but I walked out of there a believer, and in the eight or so years since that first introduction (holy crap—I am old!), nothing has caused me to change my perception of Arista and its excellent equipment.
When I began writing, there were no Arista books out there. I felt that I could write one that people would enjoy while doing justice to the Arista way of doing things. As you read this book, I hope that you’ll get a feel for what that way is. So many years later, there really aren’t any other Arista books out there, though I expect that might soon change. To all of the up-and-coming authors writing about Arista, I salute you with a hearty, “Neener, neener, I was here first!”
Though I’m obviously a fan, these devices are not perfect. I’ll show you where I’ve found issues and where there might be gotchas. That’s the benefit of me not being paid by Arista (at least not when it comes to this book)—I tell it like it is. To be honest, though, in my experience, Arista would tell you the very same things, which is one of the first things that impressed me about the company. That’s why I wrote this book. It’s easy for me to write when I believe in the subject matter. As anyone who knows me will attest, it’s impossible for me to evangelize something that I don’t believe in.
Enough blather—let’s get to it!
Conventions Used in This Book
The following typographical conventions are used in this book:
- Used for new terms where they are defined, for emphasis, and for URLs
- Used for commands, output from devices as it is seen on the screen, and samples of Request for Comments (RFC) documents reproduced in the text
Constant width italic
Used to indicate arguments within commands for which you should supply values
Constant width bold
Used for commands to be entered by the user and to highlight sections of output from a device that have been referenced in the text or are significant in some way
This element signifies a general note.
This element indicates a warning or caution.
Using Code Examples
This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless you’re reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from O’Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product’s documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: “Arista Warrior, 2e by Gary A. Donahue. Copyright 2019 Gary Donahue, 978-1-491-95304-4.”
If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at firstname.lastname@example.org.
O’Reilly Online Learning
For almost 40 years, O’Reilly Media has provided technology and business training, knowledge, and insight to help companies succeed.
Our unique network of experts and innovators share their knowledge and expertise through books, articles, conferences, and our online learning platform. O’Reilly’s online learning platform gives you on-demand access to live training courses, in-depth learning paths, interactive coding environments, and a vast collection of text and video from O’Reilly and 200+ other publishers. For more information, please visit http://oreilly.com.
How to Contact Us
Please address comments and questions concerning this book to the publisher:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in the United States or Canada)
707-829-0515 (international or local)
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at http://bit.ly/arista-warrior-2e.
To comment or ask technical questions about this book, send email to email@example.com.
For more information about our books, courses, conferences, and news, see our website at http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia
Updating this book was a challenge for a variety of reasons, not the least of which being that there is a lot of new material to cover. There’s new hardware, new versions of EOS, new features, and new software products, all of which should really be covered. Alas, there is only so much time and so much space, and so not everything I would like to write about could be included.
My primary goals were as follows:
Update all of the drawings to use Arista icons and not those awful things that I made on my own last time
Simplify and reorganize many drawings
Update all of the code examples to a modern revision of code
Update all the examples to use 7280R switches
Reformat the hardware chapter to talk about features and not specific models
Some chapters from the first edition have been removed due to either the topics being molded into other chapters, the content being dated, or there simply not being space for a topic that I considered cut-worthy. Chapters that have been removed include the following:
Python (merged and replaced with eAPI)
Routing (generic routing removed—the rest rewritten to become FlexRoute)
XMPP (called CloudVision in the first edition)
Some of these chapters, like Access-Lists, Sflow, and QoS, don’t really add anything to the book because they’re pretty generic and easily learned from the manual. I also feel that they don’t really contribute to how Arista is different, so I removed them in favor of the new chapters. If you’d like to read about these topics, the first edition of Arista Warrior is always available as soft copy.
I’ve added the following chapters (in no particular order):
Paul Valery said, “A poem is never finished, only abandoned.” That’s exactly how I feel about this book. If I could add everything I wanted, the book would be 2,800 pages and cost a small fortune. It would also never be done, and it’s already far overdue, so at some point I had to stand up and yell “enough!” much to the amusement of everyone in Starbucks at the time.
A Quick Note About Versions
When I began writing the first edition, EOS version 4.8.3 was the state-of-the-art release from Arista. As I continued writing over the course of about a year, new versions of code came out that made it tough to keep up, but the final book had mostly EOS 4.9 examples. When I began the second edition of Arista Warrior, I upgraded all code examples to 4.16.6M, the most current public release available at the time. I then had a solid year (or two) of extensive travel and overwhelming personal…stuff…that caused a delay in the finishing of this tome, after which I then had to update all the examples again, this time to a minimum of 4.19.5M, which then became 4.21.1F (with some odd 4.20 here and there).
A Quick Note About Hardware
In the first edition of this book I covered specific hardware models. I have not done that in this edition because there are now too many devices and products to cover in a book of this size and it would quickly become obsolete given the pace at which Arista comes out with killer new products.
All of the examples used in this book that are switch based are shown on fixed-configuration Arista devices. This is for a couple of reasons, the biggest having to do with the fact that I have practically unlimited access to 7280R switches and little easy access to chassis switches. As such, there is a lack of coverage of topics having to do with line cards and redundant supervisors. Line cards are covered here and there, but only as needed in a given topic where the behavior changes in a chassis. An example would be Tap Aggregation wherein a chassis can be configured in hybrid mode as opposed to a fixed-configuration switch that can only be configured in exclusive mode.
Really, this is a book about EOS and its many features, but some of those features are based on the availability of a feature in a particular Application Specific Integrated Circuit (ASIC), which will be noted where applicable.
A Quick Note About Code Examples
In many of the examples involving code, I’ve had to slightly alter the output in order to make it fit within the margins of this book. I’ve taken great pains to not alter the meaning of the output, but rather to alter only the format. For example, in the output of
show top, the output includes lines that say something to the effect of:
last five minutes: 18.1%, last five seconds 3.1%.
To make the example fit, I might alter this to read:
last five mis: 18%, last five secs 3%.
Sometimes, there are no easy spaces to remove, so I’ll replace easy-to-understand sections with ellipsis in square brackets. For example, this output line (from the CLI
dir command) is so long that the second line wraps and there are few spaces, so the natural option looks like this:
-rwxrwx--- 1 root eosadmin 3267 Jan 15 20:45 /mnt/flash/startup-config -rwxrwx--- 1 root eosadmin 3267 Jan 15 20:45 /mnt/flash/startup-config_2019-01-15_20-45-49
I will change the output to look something like this so that the output remains on one line:
-rwxrwx--- 1 root eosadmin 3267 Jan 15 20:45 /mnt/flash/startup-config -rwxrwx--- 1 root eosadmin 3267 Jan 15 20:45 /mnt/flash/sta[…]2019-01-15_20-45-49
Any changes I’ve made will in no way alter the point of the output, but the output might look slightly different than what you might see on your screen if you run the same command. In some cases, such as the output of
tcpdump, I’ve simply changed the position in which the line wraps from, say, 80 columns to 70. Again, this should only have the effect of possibly making the output look different than what you would see when using a terminal emulator without such restrictions.
Writing a book is hard work—far more difficult than I ever imagined. Though I spent countless hours alone in front of a keyboard, I could not have accomplished the task without the help of many others.
I would like to thank my lovely wife, Lauren, for being patient, loving, and supportive. Thank you for helping me achieve another goal in my life, which as anyone who’s married knows is code for “putting up with my crap.”
In the first edition, I thanked my daughters, Meghan and Colleen, for trying to understand that when I was writing, I couldn’t play video games, go geocaching, or do other fun things. These days, hauling my nerdy ass all around the globe spreading the gospel (that I wrote) often makes it seem like I’m rarely home. But then, they’re now both teenage girls (one is in college, and the other is on the way!), and who wants to be home for that? Seriously, though, I hope you both appreciate that I’ve always endeavored to be there for your important events, and when I couldn’t be, you know that I was there in spirit, and by “in spirit,” I mean “with money.” The fact that money is available either directly or indirectly as a result of my writing means I can legitimately call myself a writer while providing debt-free college for you both, and few things in my life have been more rewarding. May you both be able to follow your dreams and change the world.
I would like to thank my mother because she’s my mom and because she never gave up on me, always believed in me, and always helped me even when she shouldn’t have. We miss you.
I would like to thank my father for being tough on me when he needed to be, for teaching me how to think logically, and for making me appreciate the beauty in the details. I have fond memories of the two of us sitting in front of my RadioShack Model III computer while we entered basic programs from a magazine. I am where I am today largely because of your influence, direction, and teachings. You made me the man I am today. Thank you, Papa. I miss you.
This second edition would not have been possible without the significant help from the following people at Arista Networks: Mark Berly, Darrin Thomason, Adam Levin, Rich Parkin, and Anshul Sadana. Of special importance to the continued success of this book is the ongoing support of Katie Smith and Brooke Decker because they rock, and that’s all you need to know. A quick shout-out to Namita Kallianpurkar, Lynne Ealden, Rio Ocampo, Samantha Mendoza, Daksha Rajagopalan, and Megan Torrcampo, who didn’t have anything to do with this book directly so much as they made my daily life on the road substantially more pleasant by continuing to make sure everything worked as it should. Without me having to worry about that stuff, I arguably had more time to write. I say arguably because I still missed too many deadlines to count, but that’s on me.
I’d also like to thank the many developers who have answered my many (often strange) questions. On the top of that long list has got to be Andre Pech, who constantly surprises me by continuing to answer my queries even though he’s one of the first 10 Arista employees and definitely has better things to do with his time. It’s people like Andre that continue to make Arista great.
Special thanks to Fred Hsu who manages to get me excited all over again every time he describes some new feature or capability. It is through his excitement and explanations that the Container chapter was born.
Rich Parkin gets a special thanks for showing me the cool IP range application capability that I had somehow missed for years. He also had a significant impact in helping me with CloudVision.
Corey Hines also get special mention for helping me with CloudVision. As lead of the CloudVision working group, there are few people at Arista more qualified on that product.
Thanks to Sarthak Shetty and Kelsey Skemp from Arista TAC for helping me out with a particularly vexing issue that I would have never resolved on my own. Arista TAC is easily the best support group I’ve ever worked with, and I say that as someone who used to be a TAC engineer back in the days when mainframes walked the earth.
Terren Sapp gets a nod for helping to get some virtual environments up to snuff in time for me to actually make a deadline. I’m sure my editor would like to send you a cake for making that rare milestone possible.
Liz Stein gets a nod for making me laugh with some of her tech-editor comments. And, you know, for supplying useful tech-edits.
Josh Frank gets a special mention because athough he had time to edit only one chapter, he managed to comment on something that no other editor had found that had been wrongly printed in the first edition!
I’d also like to personally thank Jayshree Ullal, CEO of Arista, for introducing me to an endless stream of customers as “The Arista Warrior.” If I could get it past the NSA, I’d walk around the office in California with armor and a sword, but I have enough trouble getting detained by various travel-related policing agencies.
A special word of thanks is needed for Mark Berly. I met with Mark many times when writing the first edition, and I probably emailed him 30 times a day for six months. It takes a special kind of person to tolerate me in the first place, but putting up with my nonstop questions takes either someone who is as nuts as I am or someone who really loves the subject at hand, or both. Thank you for taking the time to answer my many hundreds of questions. This book would have sucked without your many helpful insights. Even though you really had nothing to do with the second edition, there wouldn’t be a second edition without the first, so thanks.
I would like to thank all the wonderful people at O’Reilly. Writing this book was a great experience, due in large part to the people I worked with there. This is my fourth project with O’Reilly, and it just never stops being great.
I would like to once again thank my good friend, John Tocado, who hopefully by now already knows why. Thank you.
Thanks to Lois (the boss, who on her first day as a barista was warned about me by my own wife), Emmy, Kali (who says, “hi!” every day and makes killer foam), Lindsey, Garrett, Justin, Steven, Nic, Kiersten, Lili, Nick, Mikey, Josie (the only person to ever hand-deliver a drink to my table), Bridget, Jade (who told me my name was correct, which made me laugh), Jessye, Hannah (who makes a great cappuccino), Stephanie, Cruz, and Ryan, all of the Chester Starbucks where I spent far too much time working and writing. They all knew I was coming for my coveted seat in the corner when they saw my mobile order of a short cappuccino and a Cheese and Fruit Protein Box come in. Sadly, they have repeatedly denied my request to have that table cordoned off with velvet rope.
I still wish to thank everyone else who has given me encouragement. Living and working with a writer must, at times, be maddening. Under the burden of deadlines, I’ve no doubt been cranky, annoying, and frustrating, for which I apologize.
My main drive for the past few months has been the completion of this book. All other responsibilities, with the exception of health, family, and work, took a backseat to my goal. Realizing this book’s publication is a dream come true for me. You might have dreams yourself, for which I can offer only this one bit of advice: work toward your goals and you will realize them. It really is that simple.
Remember the tree, for the mighty oak is simply a nut that stood its ground.
Finally, if you enjoy my writing and would like to read more, please check out my various blogs:
Any opinions stated in this book are 100% my own and do not reflect that of Arista or any other person or entity. I am an employee of Arista as of this publishing, but Arista has not told me what I can or cannot write. The content was edited by Arista employees, but for technical accuracy and to ensure that no trade secrets have been revealed. Even grammar was outside the purview of the tech editors, so if anything is misspelled or I end up talking in colloquialisms, that’s entirely my doing. The copy editors at O’Reilly are pretty great, though, so hopefully that won’t happen (much) either.
Simply put, this is a book about Arista, not a book by Arista. That’s an important distinction to me, and I believe it’s important to Arista because they have encouraged me to write without telling me what to write and, perhaps more important yet, without telling me what not to write.