• Blog

 
 

Why Java APIs and Industry-Standard CLIs are Different

In the past few years, the tech industry has watched with increasing concern as various entrenched participants have brandished copyright law as a weapon to stifle competition and innovation. Recently, we have been treated to yet another novel claim: that after over a decade of broad adoption, the industry-standard set of commands that a user types into a command line interface (or CLI) to configure a network device is subject to copyright. This startling claim raises many questions, but today I want to address one in particular: What effect, if any, does the recent decision in Oracle v. Google have...
Continue reading →

Synchronising CloudVision Portal Configlets with Ansible

ContentsIntroductionLab SetupAnsible Rolescvp.synccvp.refreshAnsible PlayBookplaybook.demoLab ExecutionSummary Introduction As customers deploy Arista devices across multiple locations it becomes important to consider where and how these are managed. In most circumstances more than one instance of CloudVision Portal (CVP) will be required as this allows for multiple fault domains and redundancy within the management plane. This article will explore the use of the Arista CloudVision Ansible modules to synchronise a designated set of CVP Configlets across multiple CVP instances. This ability to synchronise Configlets provides an efficient way of ensuring organisational policies and security requirements can be quickly deployed across an entire Arista...
Continue reading →

Memory utilization of EOS devices

Overview: Every operating system needs memory to store the data and the system memory is the place where the CPU holds current programs and data that are in use. This article aims at helping you understand how to check the memory utilization on an Arista switch. Memory Statistics: In EOS, memory statistics can be viewed by multiple methods: CLI:  show version  bash /proc/meminfo  show proc top  bash free -h show version and bash /proc/meminfo will show the same values for memory and it is a more accurate estimation of how much memory is available for processes to use. SW#show version...
Continue reading →

Platform Specific Discards

ContentsObjectiveIntroductionPlatforms to be coveredWhat is an Output Discard ?7050, 7060, 7260 and 7304 series71507280R, 7020R, 7500R seriesVoQ (Virtual Output Queue)VoQ Packet Delete Objective This document is a guide to understand “input/output” discards (or congestion related drops) on various platforms and how to troubleshoot them. Introduction The term “Discards” in the world of Arista Networks refers to packets being dropped due to congestion- either on CPU level or interface level. Any other kind of drops , like drops due to- “Vlan not being allowed”, “route lookup failure”, “Incorrect Hardware state”, etc are not considered as “Discards” and are mostly considered as...
Continue reading →

A Simple OSPF Configuration

At this point in your networking career you’ve mastered the L2 domain. I can recall several years ago when I was an embedded software engineer (programming NPUs – Network Processing Units for a networking startup) meeting a colleague that was a master of the L2 domain. This individual knew everything you wanted to know about L2, including non-Ethernet protocols. Then came the day when I was drawing a network diagram with L3 interfaces and diagramming the packet formats at the points of ingress and egress through each L3 hop. My L2 Grandmaster looked at me with a blank stare. I...
Continue reading →

vEOS/cEOS GNS3 Labs

ContentsIntroductionRequired SW/HW GNS3 Server VM (Ubuntu 18.04 LTS VM + GNS3 Server)vEOS-lab/cEOS-lab on GNS3 – how is it setup?vEOS/cEOS-Lab on GNS3 – How it works?Setting up GNS3 Server VM/ClientGNS3 Server VMGNS3 Client Setting up new cEOS-lab image on GNS3 ServerSetting up vEOS-lab image in GNS3 with QEMU/KVM supportBuilding your new vEOS-lab/cEOS-lab TopologyGeneral InstructionsOptional tools setupSetup Openvpn for SSH from Mac to vEOS/cEOS instancesOn GNS3 Server VMGNS3 Client SystemData/Control plane Traffic to vEOS/cEOS instancesTraffic Generation/Capture using Ostinato Appliance Setting up new cEOS image for config persistence on /mnt/flash across rebootsSteps for Option 1Steps for Option 2 Building docker ubuntu/ipterm image with startup script and VLAN/MacVLANs, Ostinato...
Continue reading →

QoS Basics

ContentsIntroductionQoS FeaturesI. ClassificationII. Marking (Rewrite)III. Transmit Queues & Port Shaping Introduction Quality of service is the ability to provide different priority to different applications, users, or data flows, or to guarantee a certain level of performance to a data flow. QoS processes apply to traffic that flows through Ethernet ports and control planes. These processes can modify data fields (CoS or DSCP) or assign data streams to traffic classes for prioritized handling. QoS Features Consider the following topology for the following examples. I. Classification Quality of Service defines a method of differentiating data streams to provide varying levels of service...
Continue reading →

Mixed ASM and SSM Multicast Client Behaviour

Multicast deployments can be difficult to operate and understand as an environment grows or clients with varying capabilities exist. One example of this is when both Any Source Multicast (ASM) and Specific Source Multicast (SSM) clients are connected to the same device in the same broadcast domain. In such a scenario, it is common that whilst the ASM client will receive all sources, the SSM client will want to receive a specific source. To illustrate this, consider the topology below:     Two sources exist, 101.0.0.1 and 101.0.0.2. Client1 is using IGMPv2 and is therefore only able to request the...
Continue reading →

SNMPd on CVP

ContentsIntroductionGoalInstallation/ConfigurationEdit the snmpd.conf file with vi (make sure to save a copy of the original)Enable and start the snmpd serviceRestart the firewalld serviceSuccess:Supported MIBs: Introduction Many users have SNMP-based monitoring tools deployed to monitor their tools and generate alerts when issues are detected. The goal is enable CVP to be similarly monitored with these tools and provide basic server-level status information. This enables users to detect basic server faults or resource exhaustion. The goal is not to expose any CVP-specific information (for example which services are up or not) via custom MIBs at this point.   Goal SNMPd on CVP...
Continue reading →

Troubleshooting based on Control Plane Policing (CoPP) for Sand Platform

ContentsObjectiveWhen should we perform Copp based troubleshooting ?Command to be used:1. CoppSystemL3DstMiss –2. CoppSystemL2Ucast –3. CoppSystemIpUcast –4. CoppSystemL2Bcast –5. CoppSystemL3LpmOver-If there is Latency (or intermittent drops) in Network Objective This article is going to explain few important Copp queues of Arista Sand platforms- 7280 series, 7020 series, 7500 series that are responsible for handling various control-plane packets and how to troubleshoot based on that.  Copp or Control Plane Policing are various queues or buffers in Arista switches for handling various plane packets. Different Copp handles different kinds of control-plane packets and each has its own significance. The control plane policing...
Continue reading →

LACP Fallback and PXE/Provisioning in Openstack

As shown in the diagram above, we have a Server which needs to PXE to fetch its Kernel/RAM Disk/etc via Provisioning vlan (205). The server is dual homed to LeafA and LeafB which are in MLAG. Use Case: We don’t want to waste a dedicated NIC on the Server, on the Switch and cabling just for PXE boot. We would like to leverage an LACP bond used for other Openstack VLANs (e.g. internal API, Storage, Storage-mgmt, etc) for PXE/Provisioning too. Problem: LACP is configured on the 2 Leaf switches, but the server doesn’t even have an OS to form the...
Continue reading →

Troubleshooting Unknown Unicast Flooding

This article covers some of the scenarios in which the switch will flood Unknown Unicast traffic.  Unknown unicast flooding is observed when traffic received is destined to MAC addresses not learned on the switch. Since MAC addresses are usually learned from the source MAC for the host, switches could either : Never learn the MAC address if we never receive a packet with that source MAC address Time out such MAC addresses if we do not receive traffic with that source MAC for a duration greater than the MAC address timeout interval. Flush MAC addresses on receiving an STP TCN...
Continue reading →

Troubleshooting LACP

ContentsOverviewIntroductionInitial Checks1. Interface status of the bundled interfaces2. LACP valid mode combinations3. Some interfaces not bundled in the port-channel4. The device is not accepting dot1q-tagged LACP PDUsFurther Troubleshooting1. Are we sending/receiving LACPDUs?2. LACP rate-limit exceeded3. Monitoring LACP states4. Identifying the egress port-channel interface Overview This document aims at providing the basic steps to follow for troubleshooting LACP related issues. Introduction The Link Aggregation Control Protocol (LACP), described by IEEE 802.3ad, defines a method for two devices to establish and maintain link aggregation groups (LAGs). When LACP is enabled, our switch can configure LACP-compatible ports into a LAG (also called a...
Continue reading →

Troubleshooting Congestion

ContentsWhat is CongestionExpected Behavior of the switchCauses of Congestion Fan-InMicroburstBuffering capacity of the networking devicesDetecting Congestion on Arista switches using LANZEnabling LANZ and viewing statsMethods to prevent congestionQoSFlow Control / Priority Flow ControlBuffer tuningIncreasing Bandwidth of the interface What is Congestion Congestion happens when a device receives more traffic than it can buffer or send out of an egress port. Whenever the network is congested, we can observe symptoms such as packet loss, slowness, low throughput and high latency.   Expected Behavior of the switch When a switch receives a packet, it takes an action to either forward or drop it....
Continue reading →

Installing/Uninstalling a software patch on an Arista device

ContentsOverviewInstallation StepsPatch installation on single supervisor/fixed system switchesPatch installation on dual supervisor/modular switchesUninstalling a patch from the device Overview This article details the steps needed to install/uninstall patches on Arista devices. Installation Steps Check the hardware platform and the EOS version running on the device using the “show version” command: Switch#show version Arista DCS-7150S-52-CL-F Hardware version: 02.01 Software image version: 4.20.11M Architecture: i386 If specified, ensure the device to which the patch needs to be applied is running on a relevant EOS release and is of the relevant platform. Patch installation on single supervisor/fixed system switches Step1: Download the patch...
Continue reading →

DHCP Server on Arista EOS

Overview In this document, a DHCP server will be installed on the switch, and configured to deliver IP addresses for a subnet/VLAN interface on the switch serving both IPv4 and IPv6 address families. All examples are demonstrated on Arista EOS release 4.20.7M. Install the DHCPD extension An extension is a Red Hat Linux .rpm file type or an archive of .rpm files in a .swi format. For this example the latest .swi package for DHCPD is downloaded from Arista repository to the switch and installed as a recognized extension. Download the extension: Please make sure you have reached out to Arista...
Continue reading →

SNMPv1/v2c Configuration

ContentsObjectiveConfiguration Enable SNMPEnable Trap notificationTroubleshooting   Objective The document is aimed to provide basic configuration needed on Arista switches to be able to monitor the device statistics using an SNMP monitoring tool. Configuration  Enable SNMP SNMPv1: The Simple Network Management Protocol, defined in RFC 1157. This version uses plaintext community name for interacting with the SNMP monitoring server. SNMPv2c: Community-string based Administrative Framework for SNMPv2, defined in RFC 1901, RFC 1905, and RFC 1906. This version also uses plaintext community string. Hence, the security level is the same as SNMPv1.  To query Arista switches using SNMP v1 or v2c, define a community...
Continue reading →

Tap Aggregation PTP Sync & Transparent Clock (TC) PTP Multicast Configuration

Contents DescriptionPlatform Compatibility Topology DiagramsConfigurationNotesNY1NY2NY3NY4  Description This article covers the configuration required to run the PTP TC with multicast transport environment, and Tap Aggregation DUT time sync with PTP GM. Platform Compatibility DCS-7020 DCS-7280SE/ DCS-7500E DCS-7280R/RX DCS-7500R/RX DCS-7150 DCS-7050X/XX DCS-7060X/XX Topology Diagrams     Configuration In this PTP implementation example, the NY1 will act as BC and NY4 as GM. Both are configured as PTP BC clocks but NY4 due to its lower Priority1 value will win the BCMA election and becomes the master. The NY2 and NY3 are configured as E2E TC clocks and will require PIM to forward the...
Continue reading →

Configure Daemon Script to Collect Data

ContentsSummaryCreate Script FileExample bash scriptCreate an EOS daemon processVerify Script is RunningStop the daemonView Log Output Summary The EOS daemon command is typically used to run TerminAttr (Streaming Telemetry Agent) on Arista switches. The daemon command can also be used to create custom daemon processes to do just about anything you wish. It can be useful in troubleshooting and collecting data over a period of time. In the example below, we create a bash script that runs 4 show commands and adds a timestamp to the log and repeats the process every 5 seconds. The output of the script commands...
Continue reading →

Hybrid cloud connectivity with Arista’s Extensible Operating System (EOS) and Amazon Web Services (AWS)

ContentsMotivationIncludes and excludesSolution components overviewPublic cloud detailsVPC detailsSubnet detailsEC2 instance detailsPrivate cloud detailsRouter instances including autonomous system number (ASN)Topology, subnets and interfacesHosts attached to the data centre routerInterconnecting the public and the private cloudSolution overviewAWS configurationDefining the customer gatewaysDefining the VPN gatewayDefining the Site to Site VPN connectionsEnable dynamic routing in the routing tableEOS configurationConfigure data centre router dcInterfaces and BGP routing within the private cloudConfigure customer gateway 1 router cgw1LicensingInterfaces and BGP routing within the private cloudIPSec configurationDynamic routing towards AWSConfigure customer gateway 2 router cgw2LicensingInterfaces and BGP routing within the private cloudIPSec configurationDynamic routing towards AWSSolution verificationAWS VPN...
Continue reading →

Recovering a switch from Aboot

Objective During the upgrade process, there could be multiple reasons for the switch to get stuck in Aboot such as corrupted image, unsupported image, incorrect boot file, or no image to boot from. The aim of this document is to describe the recovery procedure of the switch from Aboot shell.   Procedure Step1: Check if the relevant EOS image is already present in the /mnt/flash Aboot# cd /mnt/flash ← Change the directory to flash Aboot# ls ← list the contents of flash EOS-4.21.6F.swi  boot-extensions   persist scripts FSCK0000.REC   config_match rc.d  startup-config If the relevant EOS image is present, continue from...
Continue reading →

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: