US Pat. No. 10,031,859

PULSE COUNTERS

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to read a plurality of counters in a network element, the method comprising:receiving a plurality of labels from a client, wherein each of the plurality of labels corresponds to one of the plurality of counters, the plurality of counters is stored in a shared memory table in shared memory of the network element, and a writer writes counter data for each of the plurality of counters to the shared memory table;
for each of the plurality of labels,
performing a lookup of that label for a memory reference to a corresponding counter that is one of the plurality of counters, and
retrieving the memory reference for the corresponding counter;
reading the counter data for the plurality of counters using the plurality of memory references; and
sending the counter data to the client.

US Pat. No. 10,103,850

SYSTEM AND METHOD OF USING UNDIRECTIONAL LINKS FOR TAP AGGREGATION

Arista Networks, Inc., S...

1. A network element including a non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to keep a port of a network element up in a split port configuration, the method comprising:receiving an indication of a link loss on a receive interface of the port, wherein the port is a bidirectional port that includes the receive interface and a transmit interface, and the receive interface is coupled to a port of a first device and the transmit interface is coupled to port of a second device;
in response to receiving the indication of the link loss, performing an operation of the port such that a transmit link coupled to a transmit interface of the port remains up despite the link loss indication received on the receive interface of the port, wherein the performing the operation comprises,
performing a loopback internal to the port.

US Pat. No. 10,110,474

UPDATING INTERFACE LIST OF MULTI-LINK GROUP

Arista Networks, Inc., S...

9. A method to update an interface list of a multi-link group of a network element, the method comprising:receiving an indication that the interface list for the multi-link group on a network element is to change, wherein:
the interface list includes a first set of interfaces;
the network element includes an address table having a plurality of address entries;
each of the plurality of address entries includes an address, a multi-link nexthop, and a tag group reference;
the tag group reference indicates a tag group entry in a tag group table; and
the tag group entry includes a tag group identifier and a tag group set of interfaces;
receiving a second set of interfaces;
updating the interface list for the tag group entry to include the second set of interfaces; and
transmitting data with the multi-link group using the second set of interfaces.

US Pat. No. 9,992,909

REVERSIBLE LOUVER FOR FABRIC CARD FAN SOLUTION

Arista Networks, Inc., S...

1. A system, comprising:a fan module comprising:
a first housing adapted to include a fan in a first orientation, wherein the first housing has a front side and a rear side on opposite sides of the first housing;
the fan, disposed within the first housing, is adapted to:
cause air to flow into the rear side of the first housing, through the first housing, and out of the front side of the first housing when in the first orientation;
a key receptacle, disposed on the front side of the first housing, adapted to:
mate with a first key, when the fan is in the first orientation;
a louver comprising:
a second housing comprising a set of slats, wherein the second housing has a front side and a rear side on opposite sides of the second housing;
the set of slats, disposed within the second housing, wherein the set of slats is adapted as:
a one way valve that allows air to flow into the rear side of the second housing, through the second housing, and out of the front side of the second housing;
the first key, disposed on the rear side of the second housing, is adapted to only mate with the key receptacle;
a second key, disposed on the front side of the second housing, is adapted to not mate with the key receptacle;
wherein coupling of the key receptacle with the first key comprises an approaching of the first housing towards, and in a direction perpendicular to, the rear side of the second housing;
wherein decoupling of the key receptacle with the first key comprises a distancing of the first housing from, and in the direction perpendicular to, the rear side of the second housing;
wherein after the first key is mated with the key receptacle, a first contact is formed between the front side of the first housing and rear side of the second housing and the first contact causes, when the fan is active, an air flow into the rear side of the first housing, through the first housing, out of the front side of the first housing, into the rear side of the second housing, through the second housing, and out of the front side of the second housing.

US Pat. No. 9,495,114

SYSTEM AND METHOD FOR READING AND WRITING DATA WITH A SHARED MEMORY HASH TABLE

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to read data for a local buffer of a reader of a network element, the method comprising:
locating a bucket for the data in a shared memory hash table, wherein a writer updates the data in-place in the bucket in
the shared memory hash table and the reader is one of a plurality of readers that reads from the shared memory hash table;

retrieving an initial value of a version of the bucket;
if the initial value of the version indicates that the data is being modified,
copying the data from a lookaside buffer to the local buffer for the shared memory hash table, wherein the lookaside buffer
stores a copy of the data of the bucket while the bucket is being modified and is accessible by the plurality of readers.

US Pat. No. 9,118,604

METHOD AND SYSTEM FOR ROUTING PACKETS

Arista Networks, Inc., S...

1. A method for routing packets, the method comprising:
receiving, at an interface of a first network device of a plurality of network devices in a leaf tier, a first packet, wherein
the first packet comprises a first destination Internet Protocol (IP) address and wherein each of the plurality of network
devices comprises a supernet table and a non-overlapping portion of a routing table;

determining, using the first destination IP address and the supernet table, a first IP address of a second network device
to which the packet is to be sent, wherein the second network device is one of the plurality of network devices in the leaf
tier, wherein the supernet table comprises a plurality of entries, wherein each of the plurality of entries comprises a non-overlapping
IP address range and specifies a corresponding one of the plurality of network devices in the leaf tier, and wherein the non-overlapping
portion of the routing table on the second network device comprises a route for the first packet;

determining, by the first network device, a first media access control (MAC) address of the second network device using the
first IP address;

rewriting, by the first network device, the first packet to obtain a first rewritten packet, wherein the first rewritten packet
comprises the first MAC address as a destination MAC address of the first rewritten packet and the first destination IP address;

sending the first rewritten packet to a third network device, wherein the third network device is not in the leaf tier;
determining, by the third network device using the destination MAC address of the first rewritten packet, to forward the first
rewritten packet from the third network device to the second network device;

sending the first rewritten packet to the second network device;
performing, by the second network device using the destination MAC address of the first rewritten packet, a first MAC pointer
table lookup to determine that a first routing table lookup is to be performed using the first destination IP address of the
first rewritten packet;

performing, by the second network device, the first routing table lookup, wherein the first routing table lookup comprises
using the non-overlapping portion of the routing table on the second network device to determine a second IP address corresponding
to a first external network device to which the packet is to be sent;

determining, by the second network device, a second MAC address of the first external network device using the second IP address;
rewriting the first rewritten packet to obtain a second rewritten packet, by the second network device using the second MAC
address, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten
packet and the first destination IP address;

sending the second rewritten packet from a first interface on the second network device to the first external network device,
wherein the first interface is associated with the second MAC address.

US Pat. No. 10,097,445

METHOD AND SYSTEM FOR INITIALIZING THE BORDER GATEWAY PROTOCOL ON NETWORK DEVICES

Arista Networks, Inc., S...

1. A method for initializing the border gateway protocol (BGP) on network devices, the method comprising:initializing, by a first network device, a BPG session with a second network device, wherein the second network device is one of a plurality of peer network devices;
receiving, by the first network device from the second network device, route updates and a first end of routing information base (EOR) marker;
updating an n_EOR variable maintained by the first network device after receiving the first EOR marker;
making a first determination that a first duration since the first network device has attempted to establish the BGP session is less than a C_TIMEOUT value;
making a second determination that a second duration of the BGP session with the second network device exceeds an I_P_TIMEOUT value, wherein the C_TIMEOUT value is greater than the I_P_TIMEOUT value;
after updating the n_EOR variable and based on the first determination and the second determination, making a third determination, using the n_EOR variable, that the first network device has received route updates from each of the plurality of peer network devices;
after making the third determination:
updating, in the first network device, a routing information base (RIB) using route updates received from each of the plurality of peer network devices to obtain an updated RIB;
updating, in the first network device, a forwarding information base (FIB) using the updated RIB; and
advertising, to the plurality of peer network devices by the first network device, routes, wherein the routes are determined using the RIB.

US Pat. No. 9,369,383

METHOD AND SYSTEM FOR OVERLAY ROUTING WITH VXLAN

Arista Networks, Inc., S...

1. A method for routing, comprising:
receiving, by a first Top of Rack (ToR) switch, a first VXLAN frame comprising a first server media access control (MAC) address,
a first ToR switch MAC address, a first server Internet Protocol (IP) address, a VARP VTEP IP address, a first VNI, and a
MAC frame, wherein the MAC frame comprises a VARP MAC address, a first virtual machine (VM) IP address associated with a first
VM, and a second VM IP address associated with a second VM, wherein the first VM is executing on the first server;

decapsulating, by the first ToR switch, the first VXLAN frame to obtain the MAC frame;
processing, on the first ToR switch, the MAC frame to obtain a rewritten MAC frame, wherein the rewritten MAC frame comprises
a second VM MAC address associated with the second VM and the VARP MAC address;

generating, by the first ToR switch, a second VXLAN frame comprising the first ToR switch MAC address, a next hop MAC address,
a VARP VTEP IP address, a second server IP address, a second VNI, and the rewritten MAC frame, wherein the second server IP
address is associated with a second server, and wherein the second VM executes on the second server, wherein the first VM
does not execute on the second server; and

routing the second VXLAN frame through an IP fabric to the second server, wherein the IP Fabric comprises a spine tier comprising
a spine switch and a leaf tier comprising the first ToR switch, and a second ToR switch and wherein the second server is connected
to the second ToR switch.

US Pat. No. 9,306,804

METHOD AND SYSTEM FOR MULTICHASSIS LINK AGGREGATION IN-SERVICE SOFTWARE UPDATE

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by at least one processor perform
a method for performing an in-service software update (ISSU) in a multichassis link aggregation (MLAG) domain, the method
comprising:
restarting a first switch using a second version of software, wherein the first switch is currently executing a first version
of the software and the first version of the software is different from the second version of the software;

detecting by a second switch that the first switch is restarting and, in response to the detection, performing a stateful
switch-over (SSO), wherein the MLAG domain consists of the first switch and the second switch;

after restarting the first switch:
prior to the first switch performing graceful reinsertion into the MLAG domain, setting all non-peer ports on the first switch
to an error-disabled state and selecting a common MLAG protocol version supported by the first switch and the second switch;
and

performing graceful reinsertion comprising:
reestablishing a peering relationship between the first switch and the second switch using the common MLAG protocol; and
after reestablishing the peering relationship between the first switch and the second switch, synchronizing a control plane
state of the first switch with a control plane state of the second switch and setting all non-peer ports on the first switch
to an active state.

US Pat. No. 9,787,575

METHOD AND SYSTEM FOR PROGRAMMING EQUAL-COST MULTI-PATH ROUTES ON NETWORK DEVICES

Arista Networks, Inc., S...

1. A method for configuring a network device, comprising:
writing a route for a destination Internet Protocol (IP) prefix to a forwarding information base (FIB);
after writing the route, obtaining a plurality of routes and writing the plurality of routes to a routing information base
(RIB);

after writing the plurality of routes to the RIB and after an expiration of a timer:
identifying, in the RIB, a set of equal-cost multi-path (ECMP) routes from the plurality of routes for the destination IP
prefix;

processing the set of ECMP routes for the destination IP prefix to obtain a set of processed ECMP routes, wherein processing
the set of ECMP routes comprises:

selecting one route from the set of ECMP routes for the destination IP prefix as an ECMP head route, and
directing, using pointers, a set of remaining routes from the set of ECMP routes to the ECMP head route; and
updating the FIB of the network device based on the set of processed ECMP routes.

US Pat. No. 9,225,595

METHOD AND SYSTEM FOR ZERO TOUCH REPLACEMENT OF NETWORK INFRASTRUCTURE

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method,
the method comprising:
receiving a configuration request from a switch, wherein the configuration request comprises switch neighbor information (SNI)
for the switch and a Media Access Control (MAC) address for the switch;

identifying a replacement entry comprising a second MAC address and the SNI;
based on the identification:
obtaining configuration information associated with the replacement entry, wherein the configuration information specifies
a configuration of a second switch associated with the second MAC address;

generating a configuration script using the configuration information;
sending the configuration script to the switch, wherein the configuration script is executed by the switch to configure the
switch.

US Pat. No. 10,003,629

METHOD AND SYSTEM FOR USING JSON WITH A CLI FOR MANAGING NETWORK DEVICES

Arista Networks, Inc., S...

1. A system, comprising:a controller implemented on a computer and comprising:
software executing on the computer and configured to issue a command line interface (CLI) command to a network device;
a client library executing on the computer and configured to:
intercept the CLI command;
encapsulate the CLI command as a JavaScript Object Notation Remote Procedure Call (JSON RPC);
generate a hyper text transport protocol (HTTP) request that includes the JSON RPC; and
issue the HTTP request to the network device; and
a network device operatively connected to the controller and executing an agent, wherein the agent is configured to:
receive the HTTP request;
execute the CLI command extracted from the HTTP request to populate a model associated with the CLI command to generate a first populated model;
convert the first populated model into a JSON format using a JSON engine to obtain a JSON result;
encapsulate the JSON result in a JSON RPC;
transmit the JSON RPC as an HTTP response to the controller;
receive, from a network administrator, a secure shell (SSH) request comprising the CLI command,
execute the CLI command extracted from the SSH request to populate the model associated with the CLI command to generate a second populated model;
convert the second populated model into an American Standard Code for Information Interchange (ASCII) format using a template engine to obtain an ASCII result; and
transmit, via SSH, the ASCII result to the network administrator.

US Pat. No. 9,942,149

SYSTEM AND METHOD OF USING AN EXACT MATCH TABLE AND LONGEST PREFIX MATCH TABLE AS A COMBINED LONGEST PREFIX MATCH

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to determine a match for a destination address using an exact match table and a longest prefix match table, the method comprising:receiving, with a network element, a data packet that includes a destination address;
generating a lookup key for the destination address, wherein the lookup key represents more addresses than the destination address;
performing an exact match table address lookup using the lookup key with an exact match table, wherein a first forwarding result is derived from a match in the exact match table address lookup and at least one of the entries in the exact match table includes,
an exact match table key, and
a plurality of forwarding indications, wherein each of the plurality of forwarding indications is associated with one of a plurality of prefixes associated with the exact match table key;
performing a longest prefix match address lookup using the destination address with the longest prefix match table, wherein a second forwarding result is derived from a match of the longest prefix match address lookup and at least some of content in the lookup key overlaps with content used for the longest prefix match address lookup;
determining a resolved forwarding result based on results from the exact match table address lookup and the longest prefix match address lookup; and
forwarding the data packet using the resolved forwarding result.

US Pat. No. 9,442,742

METHOD AND SYSTEM FOR NETWORK DEVICE MAINTENANCE

Arista Networks, Inc., S...

13. A switch, comprising:
a management port,
a plurality of ports,
a processor;
memory comprising instructions, which when executed by the processor, enable the switch to perform a method, the method comprising:
identifying a first phase to enter in a boot-up process for the switch, wherein the boot-up process comprises a plurality
of phases and the first phase is one of the plurality of phases;

determining a phase exit condition from a first snapshot of the switch, wherein the first snapshot comprises state information
for each of the plurality of phases;

transitioning to the first phase;
after transitioning to the first phase:
starting a first countdown timer for the first phase;
executing, on the switch, a first networking protocol for the first phase;
determining, in response to the executing, that a first current state of the switch satisfies the phase exit condition; and
exiting the first phase, wherein the first countdown timer is not expired when exiting the first phase.

US Pat. No. 9,367,251

SYSTEM AND METHOD OF A SHARED MEMORY HASH TABLE WITH NOTIFICATIONS

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units perform a
method to notify a reader that a value in a shared memory hash table has been modified, the method comprising:
modifying a value in the shared memory hash table, where in the value has a corresponding key;
storing a notification in a notification queue that indicates the value associated with the corresponding key has changed;
invalidating one or more previous entries in the notification queue that corresponding to the key; and
signaling to the reader that a notification is ready to be processed.

US Pat. No. 10,122,620

METHOD AND SYSTEM FOR PROGRAMMING EQUAL-COST MULTI-PATH ROUTES ON NETWORK DEVICES

Arista Networks, Inc., S...

1. A method for configuring a network device, comprising:setting a defer equal-cost multi-path (ECMP) variable to a first value;
setting a first timer to a user-configurable time value;
setting a routes received variable to zero;
starting the first timer;
receiving a plurality of routes while the first timer performs a countdown of the user-configurable time value to obtain an increased routes received variable;
determining a number of received routes using the increased routes received variable;
determining that the number of received routes exceeds a user-configurable minimum number of routes in order to discover that an active session exists;
determining that the first timer has reached zero;
determining, based on the first timer reaching completing the countdown and the existence of the active session, that a user-configurable minimum number of active sessions is not exceeded;
setting, based on the user-configurable minimum number of active sessions not being exceeded, the defer ECMP variable to a second value;
after setting the defer ECMP variable to the second value, identifying, in a routing information base (RIB) of the network device, a set of ECMP routes from a plurality of routes for a destination IP prefix; and
updating a forwarding information base (FIB) of the network device based on the set of ECMP routes.

US Pat. No. 9,401,854

SYSTEM AND METHOD FOR SLOW LINK FLAP DETECTION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units perform a
method to detect a slow link flap over a plurality of time intervals, the method comprising:
detecting a link flap in a current time interval of a link that couples a pair of devices, wherein the current time interval
is one of a plurality of time intervals that are used to monitor the link for a slow link flap and a slow link flap results
from detecting a maximum number of slow link flap violations over the plurality of time intervals;

incrementing a number of detected link flaps for the current time interval;
if the number of detected link flaps for the current time interval is greater than the maximum number of slow link flap violations,
marking the current time interval as a possible slow link flap time interval; and

if the current time interval and a number of preceding time intervals that are possible slow link flap time intervals equals
a maximum number of slow link flap time intervals, bringing the link down.

US Pat. No. 9,621,508

SYSTEM AND METHOD FOR SHARING VXLAN TABLE INFORMATION WITH A NETWORK CONTROLLER

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method,
the method comprising:
making a first determination that a new locally learned host entry (NLHE) is present in a locally learned host entry table
on a first virtual tunnel endpoint (VTEP), wherein the NLHE is associated with a first timestamp and a host and comprises
a first virtual extensible local area network (VXLAN) network identifier (VNI) associated with the first VTEP, and wherein
the first VTEP is executing on a network device;

making a second determination that a first entry corresponding to the NLHE is present in a Host-Specific Portion of Global
Host Entry Table (HSPT) on the first VTEP, wherein the first entry corresponding to the NLHE is associated with a second timestamp;

based on the second determination, making a third determination, using the first timestamp and the second timestamp, that
the NLHE is more recent than the first entry corresponding to the NLHE;

based on the third determination:
updating an active forwarding table on the first VTEP to include a second entry corresponding to the NLHE and comprising the
first timestamp, and to remove from the active forwarding table an older entry corresponding to the host;

sending the NLHE to a VXLAN controller operatively connected to the first VTEP
receiving, from the VXLAN controller, a fourth entry corresponding to a global host entry of a global host entry table of
the VXLAN controller, wherein the fourth entry comprises the first VNI, and wherein the fourth entry corresponds to a second
NLHE locally learned by a second VTEP;

populating the HSPT with the fourth entry; and
updating the active forwarding table to include a fifth entry corresponding to the fourth entry when an entry corresponding
to the fourth entry is not present in the active forwarding table.

US Pat. No. 9,594,612

SYSTEM AND METHOD OF A HARDWARE SHADOW FOR A NETWORK ELEMENT

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to switch control of processing functions of a network element from an active central processing unit to a standby
central processing unit, the method comprising:
receiving a signal that the active central processing unit has failed, wherein the active central processing unit controls
the processing functions of the network element and the network element includes a hardware forwarding engine;

for each shadow table in a plurality of shadow tables in a hardware shadow,
copying data from that shadow table to a corresponding one of a plurality of hardware tables for the hardware forwarding engine,
wherein a hardware shadow stores a copy of the data stored in the plurality of hardware tables in a different structure and
in a different order than in the plurality of hardware tables for the hardware forwarding engine; and

in response to the copying, switching control of processing functions of the network element from the active central processing
unit to a standby central processing unit.

US Pat. No. 9,397,912

METHOD AND SYSTEM FOR ACTIVE FABRIC MANAGEMENT USING UNICAST REACHABILITY MONITORING

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method,
the method comprising:
receiving a probe packet by a termination beacon, wherein the probe packet is associated with a first stream of a plurality
of streams, wherein the stream is identified using an origin beacon identification (ID) for an origin beacon, a stream source
IP address, a stream destination IP address, an L2 origin interface, and one selected from a group consisting of an IP hops value and a time to live (TTL) value;

generating, after receiving the probe packet and after the expiration of a probe rate request (PRR) refresh timer, a rate
control packet (RCP) by the termination beacon wherein the RCP comprises a PRR for the stream each of the plurality of streams
and a second PRR for a second stream of the plurality of streams; and

sending the RCP to the origin beacon using an origin beacon IP address, wherein the origin beacon IP address is different
than the stream source IP address.

US Pat. No. 10,200,278

NETWORK MANAGEMENT SYSTEM CONTROL SERVICE FOR VXLAN ON AN MLAG DOMAIN

Arista Networks, Inc., S...

1. A network system comprising:a first network element coupled to a network;
a second network element directly coupled to the first network element, wherein the first network element and the second network element are to connect to form a link aggregation group; and
a network management device including a control agent, the control agent to configure the link aggregation group as a logical virtual tunnel end point (VTEP) of a virtual extensible local area network (VXLAN), wherein each of the first and second network elements synchronizes a local forwarding table with a forwarding table of another network element in response to a new forwarding entry being generated by one of the first and second network elements and the control agent is further to receive status information for the logical VTEP from a primary network element designated for the link aggregation group, the status information including a physical and virtual topology of a network coupled to the logical VTEP and one of the first and second network element is the primary network element.

US Pat. No. 9,866,409

METHOD AND SYSTEM FOR VXLAN ENCAPSULATION OFFLOAD

Arista Networks, Inc., S...

1. A method for virtual extensible local area network (VXLAN) decapsulation, comprising:
receiving a VXLAN frame on a first ingress port of a first network device, wherein the VXLAN frame comprises a source VXLAN
tunnel endpoint (VTEP) internet protocol (IP) address, a destination VTEP IP address, a VXLAN network identifier (VNI), and
a media access control (MAC) frame;

identifying an egress port ID (EPID) based on the destination VTEP IP address, wherein the destination VTEP IP address is
associated with a destination VTEP;

determining that the destination VTEP is located on the first network device;
identifying an ingress port ID (IPID) based on the source VTEP IP address, wherein the source VTEP IP address is associated
with a source VTEP;

generating an augmented MAC frame, wherein the augmented MAC frame comprises the IPID, the EPID, the VNI, and the MAC frame,
and wherein the MAC frame comprises a destination host MAC address;

identifying an egress port on the first network device based on the EPID; and
sending the augmented MAC frame to a second network device via the egress port on the first network device.

US Pat. No. 9,350,608

METHOD AND SYSTEM FOR USING VIRTUAL TUNNEL END-POINT REGISTRATION AND VIRTUAL NETWORK IDENTIFIERS TO MANAGE VIRTUAL EXTENSIBLE LOCAL AREA NETWORK ACCESS

Arista Networks, Inc., S...

1. A method for securing a virtual extensible local area network (VXLAN) environment, the method comprising:
configuring a default network policy on a network device for dropping all VXLAN frames comprising a VXLAN attribute, wherein
the network policy is associated with a plurality of interfaces of the network device;

obtaining, by the network device, a plurality of registered VXLAN tunnel endpoint (VTEP) identifiers;
determining, using the plurality of registered VTEP identifiers, that a first interface of the plurality of interfaces of
the network device is operatively connected to a first registered VTEP associated with a first registered VTEP identifier
of the plurality of registered VTEP identifiers;

disassociating the default network policy from the first interface based on the determination that the first interface is
operatively connected to the first registered VTEP;

receiving, at the first interface of the network device, a frame;
performing a first verification that the frame is a first VXLAN frame by examining the frame to determine that the frame comprises
the VXLAN attribute;

performing a second verification to determine that the first VXLAN frame comprises a first registered VTEP identifier;
allowing, based on the first verification and the second verification, the network device to process the first VXLAN frame;
and

processing, by the network device, the first VXLAN frame.

US Pat. No. 9,996,263

SYSTEM AND METHOD OF A SHARED MEMORY HASH TABLE WITH NOTIFICATIONS

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to notify a reader that a value in a shared memory data structure has been modified, the method comprising:modifying a value in the shared memory data structure, wherein the value has a corresponding key, wherein the value modification was from a writer of a control plane of a network element, the network element includes the control plane and a data plane, the data plane includes the reader, and the shared memory data structure is stored in shared memory of the network element that is shared between the writer and reader;
storing a notification in a notification queue that indicates the value associated with the corresponding key has changed; and
signaling to the reader that a notification is ready to be processed, wherein the signaling uses a kick mechanism that notifies the reader in response to the reader sending a notification that the reader is blocked and ready for new notifications.

US Pat. No. 9,729,578

METHOD AND SYSTEM FOR IMPLEMENTING A NETWORK POLICY USING A VXLAN NETWORK IDENTIFIER

Arista Networks, Inc., S...

1. A method for applying network policies in a virtual extensible local area network (VXLAN) environment implemented in a
network, comprising:
receiving, at a network device of the network, a VXLAN frame,
wherein the VXLAN frame originates from a source computing device associated with a source virtual network identifier (VNI),
wherein the VXLAN frame comprises a media access control (MAC) address associated with a destination computing device of the
network, and

wherein the network device comprises a first network policy;
examining the VXLAN frame to determine the MAC address of the destination computing device;
determining, based on the MAC address of the destination computing device, a destination VNI of the VXLAN frame;
obtaining, based on the source VNI and the destination VNI, the first network policy of the network device; and
processing the VXLAN frame by applying the first network policy.

US Pat. No. 9,395,748

METHOD AND SYSTEM FOR TIME SYNCHRONIZATION IN A NETWORK DEVICE

Arista Networks, Inc., S...

8. A network device, the network device comprising:
a first system control device (SCD);
a second SCD;
a phase locked loop (PLL);
a line card system control device (LC-SCD);
a plurality of network chips; and
a plurality of ports,
wherein the first SCD sends a first clock signal to the PLL chip;
wherein the first SCD sends a first time of day (TOD) to the LC-SCD on a line card;
wherein the second SCD sends a second clock signal to the PLL chip;
wherein the second SCD sends a second TOD to the LC-SCD;
wherein the PLL chip generates a third clock signal and synchronizes the third clock signal to the first clock signal, wherein
the first system control device is operational;

wherein the PLL chip sends the third clock signal to at least one network chip of the plurality of network chips;
wherein the at least one network chip derives, using the third clock signal, a first network-chip-internal clock signal; and
wherein applies the first network-chip-internal clock signal to increment a network-chip-internal TOD to obtain a third TOD;
wherein the LC-SCD sends the first TOD to the at least one network chip;
wherein the at least one network chip calculates a first difference between the third TOD and the first TOD; and
wherein the at least one network chip applies the first difference to the third TOD in order to synchronize the third TOD
to the first TOD.

US Pat. No. 9,141,373

SYSTEM AND METHOD FOR ACCELERATED SOFTWARE UPGRADES

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to update a network element with a new software image, the method comprising:
receiving a signal to update the network element with the new software image, wherein the network element includes a plurality
of hardware forwarding engines and a control plane;

chain booting the control plane with the new software image, wherein the chain booting is accomplished without restarting
the hardware forwarding engines; and

restarting the plurality of hardware forwarding engines after the control plane has completed booting the new software image.

US Pat. No. 9,979,651

SYSTEM AND METHOD OF LOADING AN EXACT MATCH TABLE AND LONGEST PREFIX MATCH TABLE

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to load an exact match table and a longest prefix match table, the method comprising:receiving a plurality of prefixes, wherein at least one pair of the plurality of prefixes are a first set of adjacent prefixes;
generating an exact match table key for the first set of adjacent prefixes;
generating a second set of exact match table keys for others of the plurality of prefixes;
storing the exact match table key and a first set of indications of one or more forwarding results associated with each of the first set of adjacent prefixes in an entry of the exact match table; and
storing the set of exact match table keys and a second set of indications of one or more forwarding results associated with each of the others of the plurality of prefixes in a set of entries of the exact match table, wherein another set of indications of forwarding results for another set of prefixes is stored in the longest prefix match table and the exact match table and the longest prefix match table are used to produce one resolved forwarding result.

US Pat. No. 9,641,339

SYSTEM AND METHOD FOR AUTHENTICATION FOR FIELD REPLACEABLE UNITS

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to authenticate a field replaceable unit of a network element, the method comprising:
authenticating the field replaceable unit by decrypting encrypted manufacturing data stored on the field replaceable unit
using a developer public key that is a pair to a developer private key used to create the encrypted manufacturing data stored
on the network element and comparing the decrypted manufacturing data with stored manufacturing data from the network element,
wherein the encrypted manufacturing data is stored on the field replaceable unit prior to the field replaceable unit coupling
to the network element and the field replaceable unit is selected from a group consisting of a line card and a fabric card;
and

if the decrypted manufacturing data is authenticated,
generating a signature using a nonce and the developer private encryption key that is securely stored in the field replaceable
unit;

verifying the signature using the developer public encryption key that is a pair to the developer private encryption key and
is stored in an insecure manner in the field replaceable unit; and

using the field replaceable unit to operate the network element, if the field replaceable unit is verified.

US Pat. No. 9,479,425

SYSTEM AND METHOD FOR BROADCASTING DATA TO MULTIPLE HARDWARE FORWARDING ENGINES

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to broadcast configuration data from a control plane of a network element to a plurality of hardware forwarding engines
of the network element, the method comprising:
receiving, by a central processing unit of the network element, the configuration data to broadcast to the plurality of hardware
forwarding engines;

writing the configuration data to a broadcast log;
transmitting a signal to one or more co-processors that the configuration data is available to be read, wherein each of the
plurality of hardware forwarding engines corresponds to one of the one or more co-processors, and each of the co-processors
reads the data by,

receiving the signal that the configuration data is ready to be read from the broadcast log,
determining a broadcast log entry for the configuration data for that co-processor, and
reading the configuration data from the broadcast log entry via a direct memory access in memory that stores the broadcast
log and the corresponding one of the plurality of hardware forwarding engines uses the configuration data to determine how
that hardware forwarding engine processes network traffic.

US Pat. No. 9,458,854

ELECTRICAL CONNECTION MECHANISM FOR REVERSIBLE FAN MODULE

Arista Networks, Inc., S...

1. A reversible fan module, comprising:
a first attachment member configured to receive power from a controller when an orientation of the reversible fan module is
a first orientation;

a second attachment member configured to receive power from the controller when the orientation of the reversible fan module
is a second orientation;

a first electrical connection, disposed between the first attachment member and the second attachment member, configured to
transmit power from the second attachment member to the first attachment member when the orientation of the reversible fan
module is the second orientation; and

a second electrical connection, disposed between the first attachment member and a fan unit, configured to transmit power
to the fan unit.

US Pat. No. 9,433,124

REVERSIBLE FAN MODULE

Arista Networks, Inc., S...

1. A system, comprising:
a reversible fan module that creates an airflow, comprising:
a set of attachment members, disposed on a face of the reversible fan module, adapted to secure the reversible fan module
in one selected from a group consisting of a first orientation and a second orientation,

a chassis, comprising:
a divider that divides an interior region of the chassis into a front compartment and a rear compartment,
a window, disposed on the divider, that allows airflow between the front compartment and the rear compartment,
a first opening in the chassis that opens the front compartment to a first external region,
a second opening in the chassis that opens the rear compartment to a second external region,
a bay adapted to receive the reversible fan module,
a first power supply module, disposed in the rear compartment, adapted to be cooled by at least one selected from a group
consisting of a forward airflow and a reverse air flow,

a second power supply module, disposed in the rear compartment, adapted to be cooled by at least one selected from the group
consisting of the forward airflow and the reverse air flow, and

a set of attachment receptacles adapted to mate with the set of attachment members,
wherein when the reversible fan module is received in the first orientation, the forward airflow is directed into the first
opening, through the front compartment, into the rear compartment, through the second power supply module, through the reversible
fan module, through the first power supply module, and out of the second opening,

wherein when the reversible fan module is received in the second orientation, the reverse airflow is directed into the second
opening, into the rear compartment, through the first power supply module, through the reversible fan module, through the
second power supply module, into the front compartment, and out of the first opening.

US Pat. No. 9,972,577

EMI ABSORBER RING

Arista Networks, Inc., S...

1. A method for containing electromagnetic interference from an integrated circuit, comprising:positioning a geometric-shaped ring made of electromagnetic energy absorbing material proximate to a ball grid array (BGA) integrated circuit package that is assembled on a substrate; and
engaging the geometric-shaped ring until one or more wedges of a base of the geometric-shaped ring fit into a gap between the substrate and the BGA integrated circuit package and hold the geometric-shaped ring to the BGA integrated circuit package.

US Pat. No. 9,793,667

QSFP TO OSFP MODULE FORM FACTOR ADAPTER

Arista Networks, Inc., S...

1. An adapter for a communication transceiver, comprising:
a main body having a first end and opposed second end;
the first end having an OSFP (octal small form factor pluggable) edge connector arranged for electrical and physical connection
to an OSFP host connector in an OSFP host port; and

the main body having a QSFP (quad small form factor pluggable) host connector arranged to receive a QSFP edge connector of
a QSFP transceiver through the second end of the main body so that the adapter adapts the QSFP transceiver to an OSFP host.

US Pat. No. 9,920,772

REVERSIBLE FAN MODULE

Arista Networks, Inc., S...

1. A network element of a computer network, comprising:
a chassis; and
a fan module configured to be removably and interchangeably plugged into a bay of the chassis in a first orientation or in
a second orientation, and comprising:

at least two fans,
a sub-air channel associated with one of the at least two fans, and
an airflow activated closing element that closes the sub-air channel in response to a counter airflow,
wherein the fan module generates a first airflow in a first airflow direction in the first orientation and generates a second
airflow in a second airflow direction in the second orientation, and

wherein the first airflow direction is different from the second airflow direction.

US Pat. No. 9,866,326

METHOD FOR SELF-CALIBRATION OF AN ELECTRICAL AND/OR OPTICAL CHANNEL

Arista Networks, Inc., S...

1. An auto-equalization network device for assistance in determining a frequency domain forward transmission loss characterization
for a signal, comprising:
a network device having an optical transmitter and an optical receiver; and
the network device configured to:
generate a model in the frequency domain having control points based on the characterization;
generate and load finite impulse response (FIR) filter taps into a finite impulse response filter based on the model in the
frequency domain; and

iterate:
transmission of a signal with frequency-dependent preemphasis by the finite impulse response filter;
characterization for the frequency-dependent preemphasized signal as looped back and received by the optical receiver;
comparison to a previous characterization;
adjustment of the control points; and
reloading the finite impulse response filter taps, until the comparison meets a threshold of optimization, so that the network
device is auto-equalized for optical transmitting.

US Pat. No. 9,584,327

SYSTEM AND METHOD FOR AUTHENTICATION FOR TRANSCEIVERS

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to authenticate a removable transceiver coupled to a network element, the method comprising:
receiving cryptographically signed transceiver data from the removable transceiver, wherein the cryptographically signed transceiver
data is cryptographically signed with a key prior to the removable transceiver coupling to the network element using a type
of cryptographic operation;

generating a stored transceiver signature by re-cryptographically signing the cryptographically signed transceiver data using
a nonce and the same type of cryptographic operation, the cryptographically signed transceiver data stored in the removable
transceiver;

generating a hardware transceiver signature using the nonce and data stored in a secure storage of the network element; and
using the removable transceiver to communicate network data for the network element if the stored transceiver signature and
the hardware transceiver signature are equal.

US Pat. No. 9,118,607

METHOD AND SYSTEM FOR ROUTING PACKETS

Arista Networks, Inc., S...

1. A method for routing packets, the method comprising:
receiving, at an interface of a first network device, a packet, wherein the packet comprises a destination Internet Protocol
(IP) address;

determining, using the destination IP address, a first IP address of a second network device to which the packet is to be
sent, wherein the second network device is one of a plurality of network devices in a spine tier, wherein each of the plurality
of network devices in the spine tier comprises a non-overlapping portion of a routing table, wherein the non-overlapping portion
of the routing table on the second network device comprises a route for the packet;

determining, by the first network device, a first media access control (MAC) address of the second network device using the
first IP address;

rewriting the packet to obtain a first rewritten packet, wherein the first rewritten packet comprises the first MAC address
as a destination MAC address of the first rewritten packet and the destination IP address;

sending the first rewritten packet to the second network device;
performing, by the second network device using the destination IP address, a routing table lookup, wherein the routing table
lookup comprises using the non-overlapping portion of the routing table on the second network device to determine a second
IP address corresponding to a third network device to which the packet is to be sent;

determining, by the second network device, a second MAC address of the third network device using the second IP address;
rewriting the first rewritten packet to obtain a second rewritten packet, wherein the second rewritten packet comprises the
second MAC address as a destination MAC address of the second rewritten packet and the destination IP address;

sending the second rewritten packet to the third network device;
rewriting the second rewritten packet, by the third network device using the second MAC address and an egress table, to obtain
a third rewritten packet, wherein the third rewritten packet comprises a third MAC address as the destination MAC address
of the third rewritten packet and the destination IP address; and

sending the third rewritten packet from an interface on the third network device to an external network device, wherein the
interface is associated with the third MAC address,

wherein the first network device and the third network device are not in the spine tier.

US Pat. No. 10,073,230

PLUGGABLE OPTICAL MODULE WITH HEAT SINK

Arista Networks, Inc., S...

1. An optical module, comprising:an optoelectronic transceiver;
a heat sink comprising a heat radiating element aligned along a length of the heat sink and configured to radiate heat received from the optoelectronic transceiver;
a housing adapted to be inserted into a bay of a network device and to direct an airflow within the bay along the length of the heat sink;
wherein the optoelectronic transceiver is encapsulated by the heat sink and the housing, and
a cover, wherein the cover comprises a first set of holes in the cover at a first portion of the cover located at a first end of the length of the heat sink and a second set of holes in the cover at a second portion of the cover located at a second end of the length of the heat sink.

US Pat. No. 9,882,321

COMPACT POWER CONNECTOR

ARISTA NETWORKS, INC., S...

1. A compact connector for engaging busbars, comprising:
a first busbar and a second busbar, configurable to have differing voltages or power and ground connections from each other;
a connector body having a first group of one or more pins on a first face of a contact tip and a second group of one or more
pins on an opposed second face of the contact tip;

the first group of one or more pins engaging the first busbar; and
the second group of one or more pins engaging the second busbar, wherein when the connector engages with the first and second
busbars, the contact tip is disposed between the first and second busbars.

US Pat. No. 9,876,700

METHOD AND SYSTEM FOR ACTIVE FABRIC MANAGEMENT USING UNICAST REACHABILITY MONITORING

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method,
the method comprising:
receiving a probe packet by a termination beacon, wherein the probe packet comprises a probe packet header and probe data,
wherein the probe packet header comprises a stream source Internet Protocol (IP) address for a first stream of a plurality
of streams and the probe data comprises an origin beacon IP address;

generating, after receiving the probe packet, a rate control packet (RCP) by the termination beacon, wherein the RCP comprises
a first requested probe rate (RPR) for the first stream and a second RPR for a second stream of the plurality of streams;
and

sending the RCP to an origin beacon using the origin beacon IP address, wherein the origin beacon IP address is different
than the stream source IP address.

US Pat. No. 9,749,231

METHOD AND SYSTEM FOR OVERLAY ROUTING WITH VXLAN ON BARE METAL SERVERS

Arista Networks, Inc., S...

1. A method for routing, comprising:
receiving, on a first network device, a media access control (MAC) frame in a layer 2 domain, the MAC frame comprising a VARP MAC address, a first server Internet Protocol (IP) address associated with a first
server, and a second server IP address associated with a second server;

making a first determination that the MAC frame comprises the VARP MAC address, wherein the VARP MAC address is in the layer
2 domain;

based on the first determination, generating a rewritten MAC frame comprising a second server MAC address associated with
the second server and the VARP MAC address as a source MAC address in the rewritten MAC frame;

generating, by the first network device, a first Virtual eXtensible Local Area Network (VXLAN) frame comprising a next hop
MAC address, a second network device IP address, a virtual network identifier (VNI), and the rewritten MAC frame;

routing the first VXLAN frame through an IP fabric to a second network device associated with the second network device IP
address, wherein the IP Fabric comprises the first network device, the second network device, and wherein the second server
is connected to the second network device; and

receiving, by the first network device, a second VXLAN frame comprising the VNI and a second MAC frame, wherein the second
MAC frame comprises the VARP MAC address as a source MAC address in the second MAC frame, wherein the second VXLAN frame originated
from the second network device.

US Pat. No. 9,667,722

METHOD AND SYSTEM FOR NON-TAGGED BASED LATENCY CALCULATION

Arista Networks, Inc., S...

1. A method for calculating latency comprising:
receiving, at a latency calculation device and from a network device engine, a first enqueue notification of a first enqueue
operation, wherein the first enqueue notification comprises a queue identifier associated with a queue and wherein the first
enqueue operation corresponds to a first packet being placed into the queue;

incrementing, based on the first enqueue notification, an enqueue counter associated with the queue identifier to obtain a
current enqueue counter value;

determining that a latency calculation flag corresponding to the queue identifier is not set; and
based on the determination that the latency calculation flag is not set:
setting a latency start time based on receiving the first enqueue notification;
setting a latency stop time based on receiving a first dequeue notification associated with a first dequeue operation; and
calculating a first latency by determining a time difference between the latency start time and the latency stop time.

US Pat. No. 9,621,511

METHOD AND SYSTEM FOR AUTO-PROVISIONING NETWORK DEVICES IN A DATA CENTER USING NETWORK DEVICE LOCATION IN NETWORK TOPOLOGY

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions which, when executed by a processor, perform a method
on a network device, the method comprising:
receiving a master configuration script from a configuration server, wherein the master configuration script comprises an
instruction set, a network topology for a plurality of network devices, and a dictionary comprising a plurality of network
device specific configuration scripts for the plurality of network devices; and

executing the instruction set on the network device to configure the network device, wherein executing the instruction set
comprises:

obtaining link layer discovery protocol (LLDP) information for the network device;
determining a most common interface (MCI) connected to the network device using the LLDP information, wherein the MCI is a
consistent port number associated with one port of each of a plurality of other network devices of the plurality of network
devices that the network device is connected to more than any other port number;

determining a network device identity using the MCI;
obtaining, from the dictionary, a network device specific configuration script for the network device based on the network
device identity; and

executing the network device specific configuration script to configure the network device.

US Pat. No. 9,882,653

SYSTEM AND METHOD OF DE-SKEWING ELECTRICAL SIGNALS

Arista Networks, Inc., S...

10. A method for determining transmit and receive skew times between pairs of a plurality of lanes of an electrical interface
of a network element, the method comprising:
receiving a plurality of configurations corresponding to a plurality of electrical loopbacks that each couple to transmit
and receive interfaces of the electrical interface via the plurality of lanes in different coupling patterns;

for each of the plurality of electrical loopbacks,
coupling an electrical loopback to the transmit and receive interfaces of the electrical interface, and
measuring overall skew times for the pairs of the plurality of lanes of the electrical interface; and
computing the transmit and receive skew times for the transmit and receive interfaces from the overall skew times.

US Pat. No. 9,985,840

CONTAINER TRACER

Arista Networks, Inc., S...

1. A network element, comprising:a data plane comprising a plurality of ports;
a control plane operatively connected to the data plane, wherein the control plane comprises a discovery agent; and
a management plane operatively connected to the control plane, wherein the management plane comprises a container tracing service (CTS) programmed to:
receive, at a first port of the plurality of ports, a query from a client;
obtain, using a second port of the plurality of ports, a first set of mappings from a container management system (CMS);
obtain a second set of mappings from the discovery agent;
generate container tracing information (CTI) using the first set of mappings and the second set of mappings; and
present, using the first port of the plurality of ports, the CTI to the client.

US Pat. No. 9,817,594

SYSTEM AND METHOD FOR BROADCASTING DATA TO MULTIPLE HARDWARE FORWARDING ENGINES

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processors to perform a method
to handle a hot insertion of a hardware forwarding engine into a network element, the method comprising:
detecting the hot insertion of the hardware forwarding engine into the network element;
and in response to detecting,
determining a class for the hardware forwarding engine, wherein the class of hardware forwarding engine indicates a set of
hardware forwarding engines that can be managed by the same sequence of operations in a broadcast log,

copying accumulated configuration data from a hardware shadow of the network element to a hardware table of the hardware forwarding
engine based on at least the class of the hardware forwarding engine,

and forwarding network data with the hardware forwarding engine using the accumulated configuration data.

US Pat. No. 9,509,527

METHOD AND SYSTEM FOR VXLAN ENCAPSULATION OFFLOAD

Arista Networks, Inc., S...

1. A method for virtual extensible local area network (VXLAN) encapsulation, comprising:
receiving a first augmented media access control (MAC) frame on a first ingress port of a first network device, wherein the
first augmented MAC frame comprises a first egress port ID (EPID), a first ingress port ID (IPID), and a first MAC frame;

identifying a first destination VXLAN tunnel endpoint (VTEP) internet protocol (IP) address based on the first EPID, wherein
the first destination VTEP IP address is associated with a first destination VTEP;

identifying a source VTEP IP address based on the first IPID;
performing VXLAN encapsulation of the first MAC frame to obtain a VXLAN frame, wherein the first VXLAN frame comprises the
source VTEP IP address, the first destination VTEP IP address and the first MAC frame; and

sending the VXLAN frame to the first destination VTEP via a first egress port of the first network device.

US Pat. No. 10,177,976

SYSTEM AND METHOD FOR CONFIGURING NETWORK DEVICES

Arista Networks, Inc., S...

8. A version control server, comprising:an action database stored on a storage of the version control server; and
a version generator configured to generate a version controlled action based on a configuration update of a network device,
wherein the action database comprises entries that specify actions used in a process of configuring a server and each entry of the action database is associated with a state of the server after the action of the entry is performed, and
wherein the version control server is configured to:
obtain, from an identification server, a configuration action;
identify an existing entry of the action database associated with the configuration action;
generate a new entry of the action database based at least in part on the configuration action; and
associate the new entry with the existing entry.

US Pat. No. 9,608,938

METHOD AND SYSTEM FOR TRACKING AND MANAGING NETWORK FLOWS

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by a processor on a switch perform
a method, the method comprising:
receiving, by a switch operating system (SOS), a first flow counter value for a flow of a first plurality of flows;
determining, using the first flow counter value, that the flow is an elephant flow, wherein the flow is associated with one
selected from a group consisting of a flow rate that is above a first threshold and a weighted average flow rate that is above
a second threshold;

obtaining flow egress port information by determining an egress port from a plurality of egress ports on the switch for each
of the first plurality of flows;

obtaining port congestion information for the switch, wherein the port congestion information comprises at least one selected
from a group consisting of port congestion data for the egress port indicating that a packet was dropped by the egress port
and port congestion data for the egress port indicating that a latency of the egress port exceeds an expected latency of the
egress port;

selecting, based on the port congestion information and the flow egress port information, a new egress port for the flow;
and

sending a request to update a switch chip on the switch, wherein the request specifies that subsequently received packets
for the flow are to be forwarded out of the new egress port.

US Pat. No. 10,153,988

LOAD BALANCING ON MULTI-CHIP NETWORK SWITCH WITHOUT FULL BI-SECTION BANDWIDTH

Arista Networks, Inc., S...

1. A network device, comprising:a first network processor configured to forward a packet based on a first forwarding information table;
a second network processor configured to forward the packet based on a second forwarding information table;
a first ingress port and a first egress port, each operably connected to the first network processor; and
a second ingress port and a second egress port, each operably connected to the second network processor,
wherein:
the packet has a destination reachable via a first path using the first egress port and via a second path using a second egress port,
the first forwarding information table specifies that, when the packet is received at the first ingress port, the packet is forwarded from the first egress port instead of the second egress port, and
the second forwarding information table specifies that, when the packet is received at the second ingress port, the packet is forwarded from the second egress port instead of the first egress port.

US Pat. No. 9,882,766

SYSTEM AND METHOD FOR ACCESS CONTROL LIST CONVERSION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to convert
an ordered access control list to an unordered access control list, the method comprising:
receiving an ordered access control list of ordered rules, wherein each of the ordered rules includes an address range and
an action, an address range includes a starting address and a range, and, if two address ranges in the ordered rules overlap,
a corresponding action of a preceding rule of the ordered rules overrides a corresponding action of a subsequent rule of the
ordered rules for an overlapping range of addresses;

converting the ordered access control list to the unordered access control list, wherein the unordered access control lists
includes a plurality of independent rules and each of the plurality of independent rules include a corresponding address range
that is non-overlapping with other address ranges of the plurality of independent rules, wherein the converting includes,

for each of the plurality of ordered rules in the ordered access control list,
removing a deny address range of that deny rule from a set of potentially permitted addresses if the ordered rule is a deny
rule, and

adding an overlapping portion between a permit address range of that permit rule and a potentially permitted set of addresses
to a set of actually permitted addresses, if that ordered rule is a permit rule, and

generating the plurality of independent rules for the unordered access list from the set of actually permitted addresses;
and

storing the unordered access control list in the memory of the network element, wherein the unordered access control list
is used by a network element to make forwarding decisions for processing network data and the ordered access control list
of ordered rules and the unordered access control list achieve the same result for the network data.

US Pat. No. 9,800,485

SYSTEM AND METHOD FOR DETERMINING AN EFFECT OF NETWORK CONGESTION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to determine an effect of congestion in a network element, the method comprising:
configured a queue group with a sample new enqueue threshold and a drop packet threshold, wherein the sample new enqueue threshold
is a threshold when new enqueue packets are sampled for characteristics of a subset of the new enqueue packets to be enqueued
to that queue group, the drop packet threshold is a threshold when packets are dropped, and the sample new enqueue threshold
is less than the drop packet threshold;

measuring a queue group occupancy of a queue group for a port in the network element, wherein the queue group stores a plurality
of packets to be communicated through that port;

determining if congestion exists on that queue group using the measurement by determining if the queue group occupancy is
greater than the sample new enqueue threshold, wherein the congestion prevents a packet of the plurality of packets from being
communicated within a time period; and

if the congestion exists on that queue group, gathering information regarding packets to be transmitted through that port
to one of the packets being dropped from the queue group, wherein the gathering information includes the sampling characteristics
of the subset of the new enqueue packets for that queue group.

US Pat. No. 9,559,936

METHOD AND SYSTEM FOR INITIALIZING THE BORDER GATEWAY PROTOCOL ON NETWORK DEVICES

Arista Networks, Inc., S...

1. A method for initializing the border gateway protocol (BGP) on network devices, the method comprising:
initializing, by a first network device, a first BGP session with a second network device and a second BGP session with a
third network device, wherein the second network device and the third network device are each one of a plurality of peer network
devices;

receiving, by the first network device, route updates and a first end of routing information base (EOR) marker from the second
network device, and second route updates and a first keepalive signal from the third network device;

updating an n_EOR variable maintained by the first network device after receiving the first EOR marker, and an n_KA variable
maintained by the first network device after receiving the first keepalive signal;

after updating the n_EOR variable and the n_KA variable, making a first determination, using the n_EOR variable and the n_KA
variable, that the first network device has received route updates from each of the plurality of peer network devices;

after making the first determination:
updating, in the first network device, a routing information base (RIB) using route updates received from each of the plurality
of peer network devices to obtain an updated RIB;

updating, in the first network device, a forwarding information base (FIB) using the updated RIB; and
advertising, to the plurality of peer network devices by the first network device, routes, wherein the routes are determined
using the RIB.

US Pat. No. 9,281,954

METHOD AND SYSTEM FOR PROTOCOL INDEPENDENT MULTICASTING IN MULTICHASSIS LINK AGGREGATION DOMAINS

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by at least one processor perform
a method for processing Internet Protocol (IP) multicast packets in a multichassis link aggregation (MLAG) domain, the method
comprising:
receiving, from a first external device, a first IP multicast packet associated with a first Virtual Local Area Network (VLAN)
by a first MLAG peer in the MLAG domain;

bridging a copy of the IP multicast packet to all external devices in the MLAG domain, other than the first external device,
associated with the first VLAN;

applying, on the first MLAG peer, a first routing rule to the first IP multicast packet to obtain a new IP multicast packet
associated with a second VLAN;

bridging a first copy of the new IP multicast packet associated with the second VLAN to all external devices, associated with
the second VLAN, that are directly connected to the first MLAG peer;

forwarding, via a peer link, a second copy of the new IP multicast packet associated with the second VLAN to the second MLAG
peer, wherein the second MLAG peer applies a second routing rule to the second copy of the new IP multicast packet associated
with the second VLAN to obtain a second new IP multicast packet associated with a third VLAN, wherein a copy of the second
new IP multicast packet associated with the third VLAN is forwarded across the peer link;

receiving, via the peer link, a copy of the second new IP multicast packet associated with the third VLAN from the second
MLAG peer; and

bridging a copy of the second new IP multicast packet associated with the third VLAN to all external devices associated with
the third VLAN that are singly connected to the first MLAG peer.

US Pat. No. 9,698,793

LIVE SYSTEM UPGRADE

Arista Networks, Inc., S...

1. A method for upgrading a programmable logic device (PLD) in a network element, comprising:
writing PLD configuration data to a nonvolatile memory;
directing a signal control device external to the PLD to hold system control signals in the network element at a predefined
state irrespective of direction by the PLD;

pulling to a first state, during reset, a plurality of resistors attached to system control signal lines, wherein the directing
the signal control device to hold the system control signals at the predefined state comprises driving the plurality of resistors
to a second state;

loading the PLD configuration data from the nonvolatile memory into a PLD configuration memory in the PLD, while the signal
control device holds the system control signals at the predefined values; and

directing the signal control device to release the holding the system control signals, so that the PLD directs the system
control signals, responsive to completion of the loading the PLD configuration data into the PLD configuration memory.

US Pat. No. 9,769,088

METHOD AND SYSTEM FOR VTEP REDUNDANCY IN A MULTICHASSIS LINK AGGREGATION DOMAIN

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, comprising functionality to:
receive, by a first switch in a multichassis link aggregation (MLAG) domain, a first media access control (MAC) frame from
an external device, wherein the external device is directly connected to the first switch, wherein the MLAG domain consists
of the first switch and a second switch;

make a first determination that the external device is not a singly-connected external device;
based on the first determination, encapsulate the first MAC frame in a first Virtual Extensible Local Area Network (VXLAN)
frame using a first virtual tunnel endpoint (VTEP), wherein the first VXLAN frame comprises a virtual VTEP Internet Protocol
(IP) address, wherein the virtual VTEP IP address is associated with the MLAG domain; and

transmit the first VXLAN frame to an IP fabric, wherein the first switch is directly connected to the IP fabric.

US Pat. No. 9,727,077

SYSTEM FOR REDUCING PEAK ELECTROMAGNETIC INTERFERENCE IN A NETWORK DEVICE

Arista Networks, Inc., S...

1. A network device comprising:
a plurality of clock sources; and
a plurality of clocked components,
wherein a first clocked component of the plurality of clocked components receives a first clock signal with a first actual
clock frequency from a first clock source of the plurality of clock sources,

wherein a second clocked component of the plurality of clocked components receives a second clock signal with a second actual
clock frequency from a second clock source of the plurality of clock sources, and

wherein to reduce peak electromagnetic interference (EMI) within the network device:
the first actual clock frequency is selected to deviate from a nominal frequency by a first specified amount, within a predetermined
range, and

the second actual clock frequency is selected to deviate from the nominal frequency by a second specified amount, within the
predetermined range.

US Pat. No. 9,985,369

METHOD AND APPARATUS TO MITIGATE ASSEMBLY TORSION

Arista Networks, Inc., S...

1. A mechanism to mitigate assembly torsion on an electronics assembly, comprising:an electronics assembly;
a first connector, mounted to the electronics assembly with a lower portion of the first connector proximal to the electronics assembly and an upper portion of the first connector distal to the electronics assembly; and
a spring, mounted so as to press the upper portion of the first connector and preload the first connector against assembly force imparted by assembly of the first connector to a second connector, wherein the spring acts to rotate the first connector downward, relative to a portion of the electronics assembly, so as to counteract upward rotation of the first connector resulting from the assembly force.

US Pat. No. 9,942,140

DYNAMIC FORWARD INFORMATION BASE PREFIX OPTIMIZATION

Arista Networks, Inc., S...

1. A method of programming a forwarding information base, comprising:obtaining, by a forwarding information base entry optimizer, a first route prefix to be loaded into the forwarding information base;
determining, by the forwarding information base entry optimizer, that the forwarding information base includes a supernet route prefix associated with the first route prefix;
associating, by the forwarding information base entry optimizer, the first route prefix with the supernet route prefix;
obtaining, by the forwarding information base entry optimizer, a second route prefix to be loaded into a forwarding information base;
determining, by the forwarding information base entry optimizer, the forwarding information base does not include any supernet route prefix associated with the second route prefix; and
loading, by the forwarding information base entry optimizer, the second route prefix.

US Pat. No. 9,942,171

NETWORK DATA PROCESSOR HAVING PER-INPUT PORT VIRTUAL OUTPUT QUEUES

Arista Networks, Inc., S...

1. A network element comprising:a first port to receive a unit of network data, the first port having a designated port data rate;
a second port to transmit the unit of network data;
a data plane coupled to the first port and the second port, the data plane to forward the unit of network data to the second port via a data pipeline, wherein the data pipeline to buffer the unit of network data in a per-input port virtual output queue (VOQ) associated with the first port and the second port when the designated port data rate is equal to or greater than a port data rate threshold associated with the first port and the data pipeline to buffer the unit of network data in a shared VOQ that is shared between multiple input ports when the designated port data rate is less than the port data rate threshold.

US Pat. No. 9,794,141

SYSTEM AND METHOD FOR DETERMINING A CAUSE OF NETWORK CONGESTION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform
a method to determine a cause of congestion in a network element, the method comprising:
measuring a queue group occupancy of a queue group for a port in the network element, wherein the queue group stores a plurality
of packets to be communicated through that port and the measuring of the queue group occupancy is performed with a periodicity
that is smaller than a poll drop periodicity used to poll drop counters;

recording the queue group occupancy continuously based on the periodicity if the queue group occupancy is greater than a first
threshold, wherein the queue group occupancy recording is turned off if the queue group occupancy is below the first threshold
and the recording stores a plurality of queue group occupancy values from the continuous queue group occupancy recording;

determining if the measurement indicates a potential congestion of the queue group by determining if the queue group occupancy
is greater than a second threshold, wherein the second threshold is larger than the first threshold; and

if the potential congestion exists on that queue group, gathering information regarding packets to be transmitted through
that port.

US Pat. No. 10,187,286

METHOD AND SYSTEM FOR TRACKING NETWORK DEVICE INFORMATION IN A NETWORK SWITCH

Arista Networks, Inc., S...

1. A method for processing network device information, comprising:receiving network device information (NDI) from a plurality of network devices;
storing the NDI in a computer cluster;
after storing the NDI, determining that a first application is registered to receive the NDI;
providing the NDI to the first application;
analyzing, by the first application, the NDI, wherein analyzing, by the first application, the NDI, comprises:
determining, using at least the NDI, a current state for the plurality of network devices and a network topology to obtain a collective configuration of the plurality of network devices;
identifying, that a bug that is based on the collective configuration is present within the plurality of network devices; and
performing, based on the analysis, a first action.

US Pat. No. 9,900,217

METHOD AND SYSTEM FOR NETWORK TOPOLOGY ENFORCEMENT

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method,
the method comprising:
receiving, by a first switch, a first discovery protocol data unit (DPDU) from each of a plurality of switches directly connected
to the first switch, wherein each of the DPDUs specifies a role for the one of the plurality of switches that issued the DPDU;

determining, using the roles associated with the plurality of switches and a network topology policy, that the first switch
is connected to an improper number of switches of the plurality of switches, wherein each of the number of switches is associated
with a particular first role;

sending, in response to the determination, an alert to an alert recipient, wherein the alert specifies that, in violation
of a specified number of connections to other switches with the particular first role defined in the network topology policy,
the first switch is improperly connected to one selected from a group consisting of an excess number of switches associated
with the particular first role and a deficient number of switches associated with the particular first role;

receiving, by a second switch, a second DPDU from each of a second plurality of switches directly connected to the second
switch, wherein each of the second DPDUs specifies a role for the one of the second plurality of switches that issued the
second DPDU; and

determining, using the roles associated with the second plurality of switches and the network topology policy, that the second
switch is connected to a correct number of switches of the second plurality of switches, wherein each of the number of switches
is associated with a particular second role.

US Pat. No. 9,705,930

METHOD AND SYSTEM FOR USING VIRTUAL TUNNEL END-POINT REGISTRATION AND VIRTUAL NETWORK IDENTIFIERS TO MANAGE VIRTUAL EXTENSIBLE LOCAL AREA NETWORK ACCESS

Arista Networks, Inc., S...

1. A method for securing a network environment, comprising:
applying a default network policy to a plurality of interfaces of a network device to drop all frames associated with a specified
network protocol received on the plurality of interfaces;

after the applying, making a first determination that a first interface of the plurality of interfaces is associated with
a registered identifier, using information received from a network virtualization controller;

based on the first determination, disassociating the default network policy from the first interface;
after disassociating the default network policy from the first interface:
receiving, at the first interface, a first frame associated with the specified network protocol;
making a second determination, by analyzing at least a portion of the first frame, that the first frame comprises the registered
identifier; and

based on the second determination, processing the first frame by the network device.

US Pat. No. 9,917,797

METHOD AND SYSTEM FOR MANAGING SWITCH WORKLOADS IN A CLUSTER

Arista Networks, Inc., S...

1. A switch, comprising:
a processor;
a plurality of ports;
memory comprising instructions, which when executed by the processor perform a method, the method comprising:
obtaining, via a port of the plurality of ports, a global task-server mapping from a first server, wherein the global task-server
mapping specifies which of a plurality of tasks is currently executing on which of a plurality of servers in a first cluster;

detecting that one of the plurality of ports is congested;
based on the detecting:
identifying a task associated with the one of the plurality of ports using the global task-server mapping;
generating a task listing based on the identifying, wherein the task listing specifies at least the task executing on a server,
of the plurality of servers, directly connected to the one of the plurality of ports;

generating an alert comprising the task listing;
transmitting the alert to an administrator;
detecting that a link down has occurred on a second port of the plurality of ports, wherein the second port is directly connected
to a DataNode server comprising stored data;

sending, based on detecting the link down, a link down message to a NameNode server,
wherein the NameNode server, in response to receiving the link down message:
identifies a plurality of other DataNode servers capable of receiving copies the stored data,
identifies, using global switch load information, a subset of the plurality of other DataNode servers, and
replicates a copy of the stored data to each of the DataNode servers in the subset.

US Pat. No. 9,729,460

METHOD AND SYSTEM FOR MANAGING PORT BANDWIDTH IN NETWORK DEVICES

Arista Networks, Inc., S...

18. A method for managing port bandwidth in network devices, the method comprising:
processing a first data packet, received by a first ingress port administrated by a first network chip, based on a first weight
assigned to the first network chip and an egress bandwidth, wherein the destination of the first data packet is an egress
port of a third network chip; and

processing a second data packet, received by a second ingress port administrated by the second network chip, based on the
second weight, and the egress bandwidth, wherein the destination of the second data packet is the egress port;

requesting, by the first network chip, a first credit for the first data packet from an egress credit scheduler associated
with the egress port for a virtual output queue (VOQ), wherein a credit balance of the VOQ is below a first threshold;

determining an amount of credits to be returned to the first network chip by the egress credit scheduler associated with the
egress port, wherein the amount of credits is based on the first weight and the egress bandwidth;

sending, by the egress credit scheduler, the amount of credits to the first network chip; and
adding, by the first network chip, the amount of credits to the credit balance of the VOQ.

US Pat. No. 9,729,427

METHOD AND SYSTEM FOR ROUTE HARDWARE PROGRAMMING IN NETWORK DEVICES

Arista Networks, Inc., S...

1. A method for route hardware programming in network devices, the method comprising:
receiving, by a network device, route updates from a peer network device;
selecting from the route updates, by a routing information base (RIB) agent, a set of selected routes to be used for routing;
assigning, by the RIB agent, a plurality of timestamps to the set of selected routes,
wherein an order of the timestamps in the plurality of timestamps reflects an order of the routes in the set of selected routes;
programming, by the RIB agent, the set of selected routes into a software-implemented forwarding information base (FIB);
segmenting, by a forwarding information base (FIB) agent, the set of selected routes in the software-implemented FIB into
at least a first batch of routes and a second batch of routes,

wherein a number of routes in each of the first and the second batches of routes is set based on an amount of time to write
one or more entries;

programming, by the FIB agent, the first batch of routes into a hardware-implemented FIB;
after the programming,
determining a last timestamp, wherein the last time stamp is the oldest timestamp of the plurality of timestamps where all
routes associated with the last timestamp have been successfully programmed into the hardware-implemented FIB;

sending to the RIB agent, by the FIB agent, the last timestamp; and
advertising, by the RIB agent, all routes of the first batch that are associated with a timestamp that is no older than the
last timestamp,

wherein programming, by the FIB agent, the first batch of routes into the hardware-implemented FIB comprises writing the routes
in the first batch into the hardware FIB in the order the routes in the first batch are stored in the first batch of routes.

US Pat. No. 9,847,922

SYSTEM AND METHOD FOR CONTINUOUS MEASUREMENT OF TRANSIT LATENCY IN INDIVIDUAL DATA SWITCHES AND MULTI-DEVICE TOPOLOGIES

Arista Networks, Inc., S...

1. A network element comprising:
a first port to receive production network data, wherein production network data is data that is used for purposes other than
testing the performance of a network;

a second port to transmit the production network data;
a data plane coupled to the first port and the second port, the data plane to forward the production network data to the second
port, wherein the data plane couples to a timing module to generate ingress timing data for the network data received at the
first port and generate egress timing data for the network data transmitted via the second port, the data plane to further
add a marker to the production network data that indicates to another network element to collect timing information about
the production network data, and the data plane transmits the marked production network data out the second port; and

a control plane coupled to the data plane to receive the ingress timing data and the egress timing data from the data plane
and to compute a network element latency for the production network data.

US Pat. No. 9,722,925

SYSTEM AND METHOD FOR BGP SFLOW EXPORT

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to implement
a method to export Border Gateway Protocol (BGP) data in sFlow samples, the method comprising:
generating separate tables for BGP attribute information, community list information, and autonomous systems path (AS_PATH)
attribute information, each entry in the BGP attribute information table associated with an entry in the community list information
table and an entry in the AS_PATH attribute information table;

populating a BGP route information table that defines a mapping from a network address prefix to an entry in the BGP attribute
information table; and

generating a sFlow sample related to the network address prefix using the BGP attribute information table, the community list
information table, the AS_PATH attribute information table, and the BGP route information table.

US Pat. No. 9,509,603

SYSTEM AND METHOD FOR ROUTE HEALTH INJECTION USING VIRTUAL TUNNEL ENDPOINTS

Arista Networks, Inc., S...

1. A non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method,
the method comprising:
receiving, by a virtual tunnel endpoint (VTEP), a media access control (MAC) frame from a new host, comprising a source host
MAC address and a source host Internet Protocol (IP) address associated with the new host;

detecting, by the VTEP and in response to the receiving, that the new host is connected to the VTEP, wherein the VTEP is executing
on a network device;

based on the detecting, generating by the VTEP, a new route for the new host, wherein the new route is at least a longer match
for the new host than currently existing routes for the new host;

providing the new route to a default gateway for the new host;
generating, by the VTEP, a virtual extensible local area network (VXLAN) frame comprising the MAC frame; and
transmitting the VXLAN frame towards a remote VTEP.

US Pat. No. 10,565,048

LOGIC BUFFER FOR HITLESS SINGLE EVENT UPSET HANDLING

Arista Networks, Inc., S...

1. A method for handling a single event upset (SEU), the method comprising:receiving, from a monitored device, a first data at a first input of an initial state change device;
detecting, based on receiving the first data, a first state change;
asserting, based on detecting the first state change, an initial state change device enable signal;
transferring the first data from the first input to a first output of the initial state change device, wherein the first output is operatively connected to a second input of a state hold device;
triggering, based on detecting the first state change, a delay counter to count a delay period;
making, by a validation engine, a first determination that the delay period counted by the delay counter has expired without receipt of an error detection signal; and
based on the first determination, asserting a state hold device enable signal to allow the first data to pass from the second input to a second output of the state hold device.

US Pat. No. 10,637,752

METHOD AND APPARATUS FOR TAP AGGREGATION AND NETWORK DATA TRUNCATION

Arista Networks, Inc., S...

1. A network element for performing tap aggregation, the network element comprising:a first tap port to couple with a tap switch;
a set of tool ports to transmit network data received from the first tap port to a data analyzer; and
data plane logic to manage a mapping between the first tap port and the set of tool ports, wherein a first tool port in the set of tool ports is to perform egress truncation and the data plane logic is to perform a selective copying action to truncate a first unit of network data to be forwarded to the first tool port and a forward action to forward a second unit of network data to a second tool port in the set of tool ports without truncation.

US Pat. No. 10,624,208

LANDING PATTERN FOR BALL GRID ARRAY

Arista Networks, Inc., S...

1. A printed circuit board for a surface mount device (SMD), comprising:a printed circuit board;
adjacent, opposed first and second lands on a face of the printed circuit board, the first land comprising a first solder pad contacting or merged with a first annular pad of a first via, the second land comprising a second solder pad contacting or merged with a second annular pad of a second via, arranged for solder mounting a surface mount device to the first and second solder pads; anda solder mask on the face of the printed circuit board and having a first aperture exposing the first solder pad and a second aperture exposing the second solder pad, the first aperture touching the first annular pad, the second aperture touching the second annular pad and the solder mask not exposing the first annular pad and the second annular pad.

US Pat. No. 10,667,385

IMPEDANCE CONTROL USING ANTI-PAD GEOMETRIES

Arista Networks, Inc., S...

1. A circuit board (CB), comprising:a first CB layer comprising a first anti-pad having a first area;
a second CB layer comprising a second anti-pad having the first area and being located substantially beneath the first anti-pad;
a first via within the first anti-pad and the second anti-pad;
a first CB trace in the second CB layer, the first CB trace coupled to the first via to form a first transition point within a first signal propagation path;
a third CB layer comprising a third anti-pad having a second area and being located at a different location in the CB than the first anti-pad and the second anti-pad;
a second via within the third anti-pad; and
a second CB trace in the third CB layer, the second CB trace coupled to the second via to form a second transition point within a second signal propagation path,
wherein when the depth of the second CB layer is shallower than the depth of the third CB layer, the first area is larger than the second area.

US Pat. No. 10,341,218

FORWARDING INFORMATION BASE ENTRY PRIORITY

Arista Networks, Inc., S...

6. A method of programming a data plane forwarding information base (FIB), comprising:obtaining, by a FIB entry optimizer in a control plane executing on circuitry of a network processor, a change to a priority of an entry of a control plane FIB;
making a first determination, by the FIB entry optimizer, that the entry of the control plane FIB is in the data plane FIB;
identifying, by the FIB entry optimizer, a highest priority of any entry of the control plane FIB that is not in the data plane FIB;
making a second determination, by the FIB entry optimizer, that the change to the priority of the entry of the control plane FIB changed the priority to a value lower than the highest priority;
unloading, by the FIB entry optimizer, the entry of the control plane FIB from the data plane FIB; and
loading, by the FIB entry optimizer, the entry of the control plane FIB having the highest priority of any entry of the control plane FIB that is not in the data plane FIB.

US Pat. No. 10,262,700

SYSTEM AND METHOD FOR DETERMINING A CAUSE OF NETWORK CONGESTION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to determine a cause of congestion in a network element, the method comprising:configuring a queue group corresponding to a port of the network element with a sample new enqueue threshold and a sample occupants threshold, wherein the sample new enqueue threshold is a threshold when new enqueue packets are sampled for characteristics of a subset of the new enqueue packets to be enqueued to that queue group, the sample occupants threshold is a threshold when a subset of a plurality of packets stored in the queue group are sampled for characteristics, and the sample new enqueue and the sample occupants thresholds are different;
measuring a queue group occupancy of the queue group for the port in the network element, wherein the queue group stores the plurality of packets to be communicated through that port;
gathering information of the subset of the new enqueue packets for that queue group when the queue group occupancy measurement is above the sample new enqueue threshold;
gathering information of the subset of the plurality of packets for that queue group when the queue group occupancy measurement is above the sample occupants threshold; and
transmitting at least one of the plurality of packets in the queue group when the queue group occupancy measurement is below a lower of the sample occupants threshold and the sample new enqueue threshold.

US Pat. No. 10,284,673

INTERFACE FOR A CLIENT OF A NETWORK DEVICE

Arista Networks, Inc., S...

1. A network device, comprising:a processor;
a memory operatively connected to the processor;
a storage device operatively connected to the processor and the memory and comprising an external subscription table comprising a subscription associated with a client and with an information element, wherein the information element is also associated with a write history comprising a plurality of modifications to the information element, each modification comprising a timestamp;
an interpreter executing on the processor and programmed to:
obtain the subscription;
generate an entity, based on the subscription, that produces an output comprising a subset of the plurality of modifications to the information element, the subset being only modifications with timestamps after a current history position for the entity for the information element;
update the current history position of the entity for the information element to obtain a new history position;
notify, after the entity has generated the output, the client of the output; and
a state machine executing on the processor and programmed to send the output to the client based on the subscription.

US Pat. No. 10,263,957

SYSTEM AND METHOD FOR A FALLBACK ACCESS CONTROL LIST PORT CONFIGURATION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units perform a method to install a new access control list for a port of a network element, the method comprising:receiving an indication that the first access control list for the port is to be updated with a second access control list and the port processes data communicated with port with the first access control list;
configuring the port to use a fallback access control list, wherein the fallback access control list includes a plurality of rules, wherein the first access control list is stored in a first section of an access control list table, the fallback access control list is stored in a second section of the access control list table, and the configuring is accomplished by updating a reference to the access control list table to point to the second section;
loading the second access control list into the first section for the port, wherein during the loading, the port uses the fallback access control list to process data communicated with the port; and
configuring the port to use the second access control list, wherein the port uses the second access control list to process data communicated with the port and the configuring is accomplished by updating a reference to the access control list table to point to the first section.

US Pat. No. 10,546,018

SYSTEM AND METHOD OF COALESCING WRITES TO A HARDWARE TABLE IN A NON-DISRUPTIVE FASHION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to store a lookup entry in a hardware table, the method comprising:receiving a notification of a coalesced lookup entry to be processed for a hardware table of a network element, wherein the hardware table includes a first plurality of lookup entries and the coalesced lookup entry is coalesced from a second plurality of lookup entries sharing a key;
determining a location for a table modification associated with the coalesced lookup entry in the hardware table; and
performing, with a hardware writer of the network element, the table modification associated with the coalesced lookup entry, wherein the hardware writer performs the table modification associated with the coalesced lookup entry in response to determining that the table modification associated with the coalesced lookup entry does not leave one of the first plurality of lookup entries inconsistent after the action is performed.

US Pat. No. 10,237,230

METHOD AND SYSTEM FOR INSPECTING NETWORK TRAFFIC BETWEEN END POINTS OF A ZONE

Arista Networks, Inc., S...

1. A method for handling media access control (MAC) frames, comprising:receiving, by a service virtual tunnel end point (VTEP) and from a source VTEP, a first virtual layer-3 (VL3) frame comprising a dedicated virtual network identifier (VNI);
decapsulating the first VL3 frame to obtain a first MAC frame comprising a dedicated virtual local area network (VLAN) tag;
replacing, in the first MAC frame, the dedicated VLAN tag with an original VLAN tag; and
bridging the first MAC frame to a service device directly connected to a first network element on which the service VTEP is executing.

US Pat. No. 10,230,660

METHOD AND SYSTEM FOR CENTRALIZED CONTROLLER FOR AUDIO VISUAL BROADCASTS

Arista Networks, Inc., S...

1. A non-transitory computer-readable medium comprising instructions, which when executed by a processor, perform a method, the method comprising:receiving, at a domain controller and from a first switch, a first encapsulated packet comprising a TalkerAdvertise message, wherein the TalkerAdvertise message originated from a talker, and wherein the TalkerAdvertise message is associated with a stream;
encapsulating, by the domain controller, the TalkerAdvertise message in a second encapsulated packet;
transmitting, by the domain controller, the second encapsulated packet to a second switch, wherein the second switch is operatively connected to a first listener, wherein the first switch and second switch are members in a domain;
receiving, by the domain controller and from the second switch, a third encapsulated packet comprising a first ListenerReady message, wherein the first ListenerReady message originated from the first listener;
reserving, by the domain controller, bandwidth in a network topology along a first path between the talker and the first listener;
after reserving the bandwidth, encapsulating, by the domain controller, the first ListenerReady message in a fourth encapsulated packet;
transmitting, by the domain controller, the fourth encapsulated packet to the first switch;
receiving, by the domain controller and from the second switch, a notification of a port failure;
determining, by the domain controller, that the port failure impacts the first path in the network topology between the talker and the first listener;
determining, by the domain controller, a second path in the network topology between the talker and the first listener; and
reserving second bandwidth in along the second path.

US Pat. No. 10,211,555

METHOD AND APPARATUS TO MITIGATE ASSEMBLY TORSION

Arista Networks, Inc., S...

1. A spring, comprising:a base and a cantilever spring extending from the base;
two arms extending from the base, the cantilever spring between the two arms, each arm having a mounting point at an end of the arm, the end of the arm located between a mid portion of the arm and a mid portion of the cantilever spring;
a first aperture, at the end of a first one of the two arms, dimensioned for a first fastener;
a second aperture, at the end of a second one of the two arms, dimensioned for a second fastener, the first aperture and the second aperture located below a top of the cantilever spring; and
the base, the cantilever spring and the two arms forming a unitary body, wherein the cantilever spring and each of the two arms flexes to participate in spring action of the spring.

US Pat. No. 10,290,129

METHOD AND SYSTEM FOR VISUALIZING NETWORKS

Arista Networks, Inc., S...

1. A method for visualizing an information technology (IT) network, the method comprising:identifying, for each of a plurality of network elements in the IT network, a network element role and a network element connectivity;
grouping the plurality of network elements based on the network element roles, to obtain a plurality of logical groups;
obtaining visualization rules for visualizing the IT network;
displaying a connectivity graph comprising:
a set of nodes representing the plurality of network elements;
a set of edges interconnecting the set of nodes, wherein the set of edges represents connections between the plurality of network elements based on the network element connectivity; and
an overlay superimposed on a subset of the set of nodes, a subset of the set of edges, or combination thereof, based on the visualization rules,
wherein another subset of the set of nodes, representing a logical group of the plurality of logical groups, is concealed in a collapsed group element.

US Pat. No. 10,284,417

METHOD AND SYSTEM FOR SHARING STATE BETWEEN NETWORK ELEMENTS

Arista Networks, Inc., S...

1. A method for processing state information updates comprising:receiving, by a coordination point, a plurality of state information from a plurality of network elements;
processing at least one of the plurality of state information to generate a result, wherein the processing comprises:
making a first determination, using the at least one of the plurality of state information, that an operation of at least one of the plurality of network elements has changed; and
based on the first determination, making a second determination that a change in configuration of a second network element is required; and
applying the result to at least one of the plurality of network elements in order to modify an operation of the at least one of the plurality of network elements,
wherein applying the result comprises sending updated state information to the at least one of the plurality of network elements in order to mitigate an impact of a bug in the at least one of the plurality of network elements.

US Pat. No. 10,256,980

SYSTEM AND METHOD FOR AUTHENTICATION FOR FIELD REPLACEABLE UNITS

ARISTA NETWORKS, INC., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform operations to authenticate a removable transceiver coupled to a network element, the operations comprising:receiving cryptographically signed transceiver data from the removable transceiver, wherein the cryptographically signed transceiver data is cryptographically signed with a key prior to the removable transceiver coupling to the network element;
generating a stored transceiver signature by re-cryptographically signing the cryptographically signed transceiver data using a nonce, the cryptographically signed transceiver data stored in the removable transceiver;
generating a hardware transceiver signature using the nonce and data stored in a secure storage of the network element; and
using the removable transceiver to communicate network data for the network element based on a comparison of the stored transceiver signature and the hardware transceiver signature.

US Pat. No. 10,282,331

SYSTEM AND METHOD FOR COMMAND PROCESSING

Arista Networks, Inc., S...

1. A method for processing commands on a network device, the method comprising:instantiating, on the network device, before receiving any command for execution, a command execution back end comprising a parser, an activity thread, and a command execution server thread;
receiving a first connection to the network device;
instantiating, on the network device and associated with the first connection, a first command execution front end comprising a first controlling terminal;
detecting, by the command execution server thread, the instantiation of the first command execution front end;
creating, by the command execution server thread, a first connection thread associated with the first command execution front end, the first connection thread comprising a first connection thread input communication channel, a first connection thread output communication channel, a first connection thread error communication channel, and a first connection thread local working directory;
receiving, at the first connection thread from the first command execution front end, first connection signal socket information, first connection arguments socket information, first connection environment information; a first connection user identifier, a first connection group identifier, a first name of the first controlling terminal, and a first connection type;
receiving, from the first command execution front end, based on the first connection type, first additional command execution information;
receiving, at the first controlling terminal, a first command;
sending the first command from the first command execution front end to the first connection thread;
parsing the first command using the parser to obtain a first parsed command;
executing the first parsed command to obtain a first result; and
providing the first result to the first command execution front end.

US Pat. No. 10,261,949

PACKED ROW REPRESENTATION FOR EFFICIENT NETWORK SERIALIZATION WITH DIRECT COLUMN INDEXING IN A NETWORK SWITCH

Arista Networks, Inc., S...

1. A network device, comprising:a computer hardware processor;
a memory, accessible by the computer hardware processor, storing:
a database, and
a plurality of rows, wherein a first row of the plurality of rows comprises:
a fixed length data storage portion, and
a variable length data storage portion comprising an existing variable length data;
wherein the database executes on the computer hardware processor and is programmed to:
obtain a write request that specifies a first variable length data;
process, in response to the write request, the first row to identify an empty portion of the variable length data storage portion;
determine a first offset that specifies a first location of the empty portion;
store the first offset and a first length of the first variable length data in a first fixed length storage element of the fixed length data storage portion; and
store the first variable length data in the empty portion of the variable length data storage portion.

US Pat. No. 10,212,072

PEER STATE SYNCHRONIZATION MECHANISM FOR DYNAMIC NETWORK ADDRESS TRANSLATION (DNAT) IN A NETWORK ELEMENT

Arista Networks, Inc., S...

1. A method for processing packets, comprising:maintaining, by a network element comprising a processor, a peer dynamic network address translation (DNAT) table associated with a peer network element;
detecting, using the processor, that the peer network element has failed;
merging, in response to the detecting and using the processor, the peer DNAT table into a local DNAT table to obtain a merged DNAT table; and
processing, using the processor, an incoming packet using the merged DNAT table.

US Pat. No. 10,243,754

PROTOCOL INDEPENDENT MULTICAST DESIGNATED ROUTER NOTIFY DELAY FEATURE

Arista Networks, Inc., S...

1. A method for reducing multicast traffic loss comprising:configuring, on a primary designated router (DR), a DR parameter comprising a value, wherein the primary DR comprises a first configured DR priority;
sending to a secondary DR that is performing DR functionality, after a Protocol Independent Multicast (PIM) interface of the primary DR comes up, a first PIM hello message comprising a default DR priority that is lower than a second configured priority of the secondary DR;
sending to the secondary DR, after the primary DR reaches a system up state, a second PIM hello message comprising the default DR priority;
performing DR functionality, by the primary DR, after the primary DR reaches the system up state; and
sending to the secondary DR, after waiting a time period corresponding to the value of the DR parameter, a third PIM hello message comprising the first configured DR priority.

US Pat. No. 10,257,019

LINK AGGREGATION SPLIT-BRAIN DETECTION AND RECOVERY

Arista Networks, Inc., S...

1. A network system comprising:a set of peers within a link aggregation group (LAG), the set of peers including a first network element and a second network element; and
a status resolution server to connect to the set of peers within the link aggregation group, wherein a subset of the set of peers within the LAG is to query the status resolution server to determine an operational status of another peer in the set of peers in response to detection of an apparent failure of that peer by the subset of the set of peers, the status resolution server is to receive a query from the second network element and determine an operational status of the first network element, wherein the second network element is part of the subset of the set of peers, the LAG is a multi-chassis LAG, the status resolution server is a network management device including a link aggregation agent, the link aggregation agent configured to access a remote connection to a central system database of the first network element to determine the operational status of the first network element.

US Pat. No. 10,216,853

METHOD AND SYSTEM FOR IMPLEMENTING A VXLAN CONTROL PLANE

Arista Networks, Inc., S...

1. A method for distributing virtual extensible local area network (VXLAN) configuration information in a multi-tier network, the method comprising:receiving first VXLAN configuration information, by an intermediate network device database client, executing on an intermediate network device in an intermediate tier of the multi-tier network, from a first leaf network device database server executing on a first leaf network device,
wherein the first VXLAN configuration information is generated by a virtual tunnel endpoint (VTEP) that is operatively connected to the first leaf network device, and
wherein the first VXLAN configuration information comprises a VTEP Internet Protocol (IP) address to Media Access Control (MAC) address mapping;
comparing a first timestamp associated with the first VXLAN configuration information with second timestamp of a first database entry to make a determination that the VXLAN configuration information is newer than the first database entry;
discarding the first database entry based on the determination;
storing, after discarding the first database entry, the first VXLAN configuration information in a second database entry in an intermediate network device database on the intermediate network device;
sending a first copy of the second database entry, by the intermediate network device database client, to a root network device; and
sending a second copy of the second database entry, by the intermediate network device database client, to a second leaf network device database server that is executing on a second leaf network device.

US Pat. No. 10,445,089

HITLESS UPGRADES OF A CONTAINER OF A NETWORK ELEMENT

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to hitlessly upgrade a network element operating system of the network element, the method comprising:receiving a second image for a network element operating system, wherein a first image of the network element operating system is executing in the control plane of the network element as a first set of processes in a first container and
the network element operating system controls processing of control plane data, and manages
a plurality of hardware tables by programming the plurality of hardware tables with hardware table updates;
instantiating a second container for the second image in the control plane of the network element,
starting a second set of processes using at least the second image in the second container,
synchronizing state data between the first set of processes and the second set of processes,
setting the second set of processes as managing the plurality of hardware tables, and
stopping the first set of processes within the first container.

US Pat. No. 10,305,593

METHOD FOR SELF-CALIBRATION OF AN ELECTRICAL AND/OR OPTICAL CHANNEL

ARISTA NETWORKS, INC., S...

1. An auto-equalization network device for assistance in determining a frequency domain forward transmission loss characterization for a signal, comprising:a network device configured to:
generate and load finite impulse response (FIR) filter taps into a finite impulse response filter; and
iterate:
transmission of a signal with frequency-dependent preemphasis by the finite impulse response filter;
characterization for the frequency-dependent preemphasized signal as looped back and received by the network device;
comparison to a previous characterization; and
reloading the finite impulse response filter taps, until the comparison meets a threshold of optimization.

US Pat. No. 10,545,753

SYSTEM AND METHOD OF UPDATING A NETWORK ELEMENT

ARISTA NETWORKS, INC., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to perform a hitless update a boot image of a network element, the method comprising:identifying the network element to update;
determining if the network element is involved in redundant paths;
if that network element is involved in redundant paths,
configuring the network element to drain data processing of the network element by successively increasing forwarding costs for lower levels of networking protocol layers, wherein the network element advertises the increased forwarding costs to one or more other devices in a network that includes the network element, including increasing the forwarding costs for the network protocol layers in order by:
a first increasing of a cost of Layer 3 routes;
a first verifying that the network element is stable subsequent to the first increasing;
a second increasing of a cost of Layer 2 switching subsequent to the first verifying;
a second verifying that the network element is stable subsequent to the second increasing; and
a third increasing of a cost of a physical interface at Layer 1;
updating the network element to a new boot image when the data processing of the network element is drained; and
restoring and verifying the networking protocol layers, in reverse order from the order of the increasing, to their respective configurations present prior to the forwarding costs being increased.

US Pat. No. 10,424,546

ELECTROMAGNETIC INTERFERENCE ABSORBER RING

ARISTA NETWORKS, INC., S...

1. An electromagnetic interference absorber for an integrated circuit, comprising:a geometric ring of electromagnetic energy absorbing material, dimensioned to fit over a ball grid array (BGA) integrated circuit package assembled on a substrate; and
the geometric ring having at least one projection arranged to fit into a gap between the substrate and a body of the BGA integrated circuit package so as to retain the geometric ring to the BGA integrated circuit package.

US Pat. No. 10,250,437

METHOD AND SYSTEM FOR CONFIGURING NETWORK DEVICES

Arista Networks, Inc., S...

1. A method of configuring a network device, comprising:receiving, by an identification server, identification information of a network device from the network device, wherein the identification information comprises port connection information comprising identification of a plurality of network infrastructure components to which the network device is connected via at least one of a plurality of ports of the network device;
performing an identification of a network device by performing a comparison between the received identification information and a first entry in a definitions database, the first entry comprising the port connection information and an availability status;
requesting, by the identification server, a configuration action from a version control server based on the comparison;
receiving, by the identification server, a version controlled configuration action from the version control server;
generating, by the identification server, an identification file comprising the configuration action; and
sending, by the identification server, the identification file to the network device.

US Pat. No. 10,616,993

HEATSINK BACKING PLATE

Arista Networks, Inc., S...

1. An apparatus comprising:a backing plate, to attach with at least one fastener to a first heatsink with the first heatsink on a first face of a printed circuit board and in thermal contact with a surface of a first component mounted to the first face of the printed circuit board, and the backing plate on a second, opposed face of the printed circuit board, and the backing plate being in thermal contact with the second face of the printed circuit board, and the backing plate including a plurality of fins, the backing plate acting as a second heatsink for the first component and removing heat from the first component through a solid portion of the printed circuit board;
a plurality of insulated touch points arranged to offset a first face of the backing plate from the second face of the printed circuit board; and
at least one second component mounted to the second face of the printed circuit board and in contact with the first face of the backing plate, and the plurality of fins removing heat from the at least one second component.

US Pat. No. 10,346,270

HIGH-AVAILABILITY NETWORK CONTROLLER

ARISTA NETWORKS, INC., S...

1. A method, performed by a plurality of network controllers, for high-availability operation, comprising:communicating collective state information representing characteristics and operation of a network element from each of a plurality of network elements to at least a first master network controller;
communicating regarding the collective state information to each of a plurality of follower network controllers;
communicating transformed state information representing a modification of the collective state information of some or all of the plurality of network elements from the first master network controller to the plurality of network elements;
communicating the transformed state information from the plurality of network elements to the plurality of follower network controllers; and
continuing the high-availability operation with a new master network controller selected from among the plurality of follower network controllers as a failover, using a coherent set of the transformed state information in the new master network controller and in the plurality of network elements to continue the operation of the network, responsive to a failure of the first master network controller.

US Pat. No. 10,298,241

WIDE BANDWIDTH BIDIRECTIONAL CLOCK SYNCHRONIZATION CIRCUIT

ARISTA NETWORKS, INC., S...

1. A bidirectional clock synchronization circuit, comprising:a bidirectional port having an input/output terminal;
a transceiver, having a first interface and a second interface, the first interface having a unidirectional input and a unidirectional output, the second interface having a bidirectional input/output coupled to the input/output terminal of the bidirectional port; and
a phase locked loop (PLL), having an output coupled to the unidirectional input of the transceiver, and having an input coupled to the unidirectional output of the transceiver, the phase locked loop configured to select a frequency range for the input of the phase locked loop coupled to the unidirectional output of the transceiver or the output of the phase locked loop coupled to the unidirectional input of the transceiver.

US Pat. No. 10,873,882

SYSTEM AND METHOD OF A PAUSE WATCHDOG

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to trigger a pause reduction component, the method comprising:receiving a pause message on a first network element, wherein the pause message is from a second network element and indicates that data should not be transmitted by the first network element to the second network element; and
in response to receiving the pause message, triggering the pause reduction component on the first network element when a characteristic of the first network element is inadequate relative to a pause reduction threshold, wherein the pause reduction component reduces an effect of the pause message and the pause reduction threshold is based on at least one condition selected from the group consisting of: a particular number of pause messages, an inadequate drain rate of a queue associated with the second network element, and a queue occupancy of the queue associated with the second network element.

US Pat. No. 10,582,650

POWER SUPPLY WITH INTERCHANGEABLE FAN MODULE

ARISTA NETWORKS, INC., S...

1. A power supply, comprising:a first housing configured to interface with one or more of housings of one or more fan modules;
a power generation unit disposed within the first housing, the power generation unit configured to generate power for an electrical device;
a first connector disposed within the first housing, the first connector configured to provide power to the one or more fan modules, wherein the power is used to operate one or more fan units of the one or more fan modules; and
a controller configured to obtain configuration parameters of the one or more fan modules and to determine whether the one or more fan modules are compatible with the power supply based on the configuration parameters, wherein the controller determines whether the one or more fan modules are compatible based on airflow rate parameters included in the configuration parameters.

US Pat. No. 10,547,548

EXPLODED NEXT HOP GROUPS

Arista Networks, Inc., S...

1. A method for programming a network element, comprising:receiving an accounting policy configuration (APC) specifying a first network prefix and a second network prefix; and
in response to the receiving, and based on, the APC:
storing, in a forwarding equivalence class (FEC) table on the network element, a first FEC entry comprising a first FEC index and bridging next hop information (BNHI);
storing, in a forwarding information base (FIB) on the network element, a first FIB entry comprising the first network prefix and the first FEC index;
storing, in the FEC table, a second FEC entry comprising a second FEC index and the BNHI; and
storing, in the FIB, a second FIB entry comprising the second network prefix and the second FEC index.

US Pat. No. 10,326,613

METHOD AND SYSTEM FOR PROCESSING SPANNING TREE PROTOCOL (STP) STATE IN A MULTICHASSIS LINK AGGREGATION (MLAG) DOMAIN

Arista Networks, Inc., S...

1. A method for processing spanning tree protocol (STP) state in a multichassis link aggregation (MLAG) domain, comprising:receiving, by an active MLAG peer of the MLAG domain, a first bridge protocol data unit (BPDU) from a first external computing system (ECS) operatively connected to the MLAG domain;
deriving a first STP state from the first BPDU;
making a first determination that the first STP state is different from a previous STP state;
processing, based on the first determination, the first STP state to obtain a first new STP state;
receiving, by the active MLAG peer, a second STP state from a standby MLAG peer of the MLAG domain through a MLAG peer link;
processing the second STP state to obtain a second new STP state; and
transmitting the second new STP state to the standby MLAG peer through the MLAG peer link.

US Pat. No. 10,635,428

SYSTEM AND METHOD FOR IN-SERVICE UPDATE OF SOFTWARE

Arista Networks, Inc., S...

1. A method, comprising:receiving, by a network device, a command to initiate a control plane reboot of a control plane of the network device;
extracting, based on the command, a transitional update database from a software image stored in storage of the network device comprising a new software version and the transitional update database comprising a plurality of transitional updates and an update requirements data structure;
performing a query, using the update requirements data structure, to determine whether the plurality of transitional updates in the transitional update database includes a required transitional update for performing an upgrade to the new software version;
installing, when the query determines that the required transitional update is included in the software image, the required transitional update; and
performing, after installation of the required transitional update is complete, the control plane reboot to complete the upgrade to the new software version.

US Pat. No. 10,601,661

TRACKING STATE OF COMPONENTS WITHIN A NETWORK ELEMENT

ARISTA NETWORKS, INC., S...

1. A network element comprising:a control plane including logic to continuously transmit runtime configuration and status of the network element during network element operation, the configuration including a configured state of one or more agents of the control plane and the status including operational status of one or more agents of the control plane; and
a data plane to forward network data from an ingress interface to an egress interface, each of the ingress interface and egress interface including one or more counters, wherein the status of the network element additionally includes the one or more counters of each of the ingress interface and egress interface.

US Pat. No. 10,341,185

DYNAMIC SERVICE INSERTION

ARISTA NETWORKS, INC., S...

1. A network system comprising:a set of network elements to interconnect a set of host devices, the set of network elements having a physical topology defined by a set of physical links between network elements in the set of network elements; and
a network management device including a network management module to monitor and configure the set of network elements, the network management module, in response to detecting a network service device coupled to one of the set of network elements, to configure the set of network elements to enable dynamic insertion of a network service device into the network to logically couple to one or more host devices in the set of host devices to the network service device independently of a location of the one or more host devices and the network service device within the physical topology, the network management device is to configure the set of network elements in a logical topology that differs from the physical topology, the logical topology to direct data flow of network traffic to the network service device independently of the physical topology of the set of network elements, and the network management module is to further configure the logical topology of the network elements using one or more virtual local area networks (VLANs), the network service device is assigned a dedicated service VLAN and the network elements are to re-direct network data to the network service device via translation of network data using a tunnel VLAN to the dedicated service VLAN.

US Pat. No. 10,333,790

METHOD AND SYSTEM FOR SELECTIVE ROUTE DOWNLOAD IN NETWORK DEVICES

Arista Networks, Inc., S...

1. A method for selective route download in network devices, the method comprising:obtaining, by a network device, a first selective route download (SRD) route selection list from an SRD controller, the first SRD route selection list comprising instructions that enable the network device to identify routes already present in a routing information base (RIB) to be installed in a forwarding information base (FIB) of the network device;
updating a route map using the first SRD route selection list to obtain an updated route map;
identifying, by the network device, a first route to be installed in the FIB, based on receiving the first SRD route selection list, wherein identifying the first route, comprises:
identifying a plurality of changes in the updated route map;
making a first determination that the plurality of changes in the updated route map are exclusively attributed to the first SRD route selection list;
making a second determination that the plurality of changes in the updated route map are exclusively expressed using a prefix list; and
based on the first and the second determinations:
selecting the first route to be installed in the FIB from a border gateway protocol (BGP) RIB by processing only routes in the BGP RIB that have prefixes matching changed prefixes in the prefix list; and
updating the FIB of the network device with the first route.

US Pat. No. 10,491,460

METHOD AND SYSTEM FOR DETECTING ABNORMALITIES IN NETWORK ELEMENT OPERATION

Arista Networks, Inc., S...

1. A method for detecting abnormalities in network element operation, the method comprising:initiating a stress test by an internal stress test module executing in a network element operating system of a network element, wherein the network element is configured to perform a plurality of network element functionalities, and wherein the internal stress test module applies the stress test directly to at least one of the plurality of network element functionalities, wherein the network element comprises a processor, wherein the network element operating system is executing on the processor or on a virtual machine executing on the processor;
monitoring, while the network element is subject to the stress test, at least a portion of the network element for abnormalities, wherein an abnormality comprises a measured performance that deviates from a nominal performance, but that does not cause erroneous behavior that results in a partial or complete loss of one or more network element functionalities, wherein the monitoring is performed using a plurality of abnormality detection modules executing in the network element;
making, by at least one of the plurality of abnormality detection modules, a determination that an abnormality exists in response to the monitoring, wherein the detected abnormality is indicative of an underlying problem in the network element; and
based on the determination, tracking the abnormality.

US Pat. No. 10,489,327

SYSTEM AND METHOD OF AN IMPROVED LINE CARD DESIGN

ARISTA NETWORKS, INC., S...

1. A network element comprising:a fabric card; and
a line card, coupled to the fabric card, the line card including,
a plurality of mid-plane connectors, wherein one of the plurality of mid-plane connectors is to couple the line card to the fabric card,
a plurality of network connectors to communicate data with devices coupled to the network element, and
a plurality of application specific integrated components (ASICs) to process the data, wherein each of the plurality of ASICs is positioned on the line card such that a signal loss between the ASIC and each of the plurality of mid-plane connectors is maintained below a first threshold and a signal loss between the ASIC and each of the plurality of network connectors is maintained below a second threshold, and wherein each of plurality of ASICs is coupled to each of the plurality of mid-plane connectors by a different mid-plane ASIC path without boosting a signal on that path and each of the plurality of ASICs is further coupled to each of the plurality of network connectors by a different network connector ASIC path without boosting a signal on that path.

US Pat. No. 10,476,786

METHOD AND SYSTEM USING A SCALABLE LABEL SCHEME FOR ALIASING IN A MULTIHOMED ETHERNET VIRTUAL PRIVATE NETWORK (EVPN) NETWORK

Arista Networks, Inc., S...

1. A method for processing frames, comprising:receiving, by a network element, a frame comprising a Media Access Control-Virtual Routing Function (MAC-VRF) label and a first media access control (MAC) address;
identifying, using the MAC-VRF label, a virtual local area network (VLAN);
identifying, using an identifier associated with the VLAN and the first MAC address, an egress port on the network element; and
transmitting, by the network element, a second frame, comprising at least a portion of the frame, from the egress port towards a destination associated with the first MAC address, wherein the first MAC address is learned from an advertisement and not locally-learned by the network element,
wherein the advertisement is received from a second network element,
wherein the advertisement comprises the MAC address and an Ethernet Segment Identifier (ESI) for an Ethernet Segment (ES), and
wherein the network element is associated with the ES.

US Pat. No. 10,424,887

HYBRID POWER DELIVERY ASSEMBLY

ARISTA NETWORKS, INC., S...

1. A hybrid power delivery assembly, comprising:a printed circuit board comprising a connector to couple to a first busbar;
a second busbar coupled to the connector, the second busbar external from the printed circuit board; and
the connector is further to distribute a first portion of current from the first busbar to the printed circuit board and distribute a second portion of the current from the first busbar to the second busbar, wherein the first portion of the current is less than the second portion of the current.

US Pat. No. 10,488,608

PLUGGABLE OPTICAL MODULE WITH HEAT SINK

Arista Networks, Inc., S...

1. An optical module, comprising:a first optoelectronic transceiver;
a first heat sink comprising a first heat radiating element aligned along a first length of the first heat sink and configured to radiate heat received from the first optoelectronic transceiver, wherein the first heat radiating element comprises a first interlocking tab;
a housing adapted to be inserted into a bay of a network device and to direct an airflow within the bay along the first length of the first heat sink, wherein the first optoelectronic transceiver is encapsulated by the first heat sink and the housing;
a second optoelectronic transceiver; and
a second heat sink comprising a second heat radiating element aligned along a second length of the second heat sink and configured to radiate heat received from the second optoelectronic transceiver,
wherein:
the second heat radiating element comprises a second interlocking tab, and
the first heat radiating element and the second heat radiating element interlock using the first interlocking tab and the second interlocking tab to form a superstructure.

US Pat. No. 10,469,595

SYSTEM AND METHOD OF DYNAMIC ESTABLISHMENT OF VIRTUAL PRIVATE NETWORKS USING BORDER GATEWAY PROTOCOL ETHERNET VIRTUAL PRIVATE NETWORKS TECHNOLOGY

ARISTA NETWORKS, INC., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to dynamically establish a first virtual private network (VPN) tunnel, the method comprising:detecting, with a first branch network element, data destined for a first private subnet;
in response to the detecting, determining that a next hop for the data does not have an established VPN tunnel that allows access to the first private subnet;
establishing the VPN tunnel from the first branch network element to a second branch network element providing access to the first private subnet, the VPN tunnel bypassing a hub network element; and
sending the data using the VPN tunnel.

US Pat. No. 10,412,009

NEXT HOP GROUPS

Arista Networks, Inc., S...

1. A method for programming a network device, comprising:selecting a route from the routing information base (RIB) of the network device, wherein the network device comprises:
a forwarding information base (FIB) comprising a FIB entry referencing a forwarding equivalence class (FEC) index,
a FEC table comprising the FEC index,
a next hop group (NHG) comprising a plurality of next hop entries (NHEs), wherein the NHG is associated with the FEC index;
performing a next hop resolution, for the route, to obtain next hop information (NHI);
performing a comparison between the obtained NHI and the NHG;
updating, based on the comparison, the FIB to obtain an updated FIB, wherein updating the FIB comprises:
identifying the FEC index associated with the NHG using the FEC table, and
creating a new FIB entry comprising the FEC index, and
processing at least one packet using the updated FIB.

US Pat. No. 10,412,047

METHOD AND SYSTEM FOR NETWORK TRAFFIC STEERING TOWARDS A SERVICE DEVICE

Arista Networks, Inc., S...

1. A method for steering a media access control (MAC) frame, comprising:receiving redirect criteria by an intercept virtual tunnel end point (VTEP);
receiving, from a source host, the MAC frame comprising a set of data fields, wherein the set of data fields comprises an original virtual layer-2 (VL2) broadcast domain tag;
making a first determination, based on a matching of at least one data field of the set of data fields with the redirect criteria, to steer the MAC frame towards a common virtual VTEP Internet Protocol (IP) address instead of a destination IP address specified in the MAC frame, wherein the destination IP address is associated with a first destination host; and
transmitting, based on the first determination, the MAC frame towards a service device operatively connected to the common virtual VTEP IP address.

US Pat. No. 10,666,493

SHOW COMMAND SERVICE AKA CLI RELAY

Arista Networks, Inc., S...

1. A method for processing a command request (CRQ) to obtain a consolidated command response (CMR), comprising:receiving an event notification from a notification issuer;
obtaining, in response to the received event notification, a modified command request (MCRQ) based on the CRQ from a network device state database, the MCRQ comprising a relay command and an output filter set, wherein the output filter set comprises fewer output filter expressions than the CRQ;
executing, by a network device, the relay command to obtain a command output, wherein the command output comprises state information of the network device;
making a first determination that the output filter set is not an empty set;
based on the first determination:
extracting an output filter expression and a second output filter expression from the output filter set;
applying, to the command output, the output filter expression to obtain a filter expression result (FER), wherein the FER is a subset of the command output;
applying, to the command output, the second output filter expression to obtain a second FER, wherein the second FER is a second subset of the command output, wherein the second subset of the command output is different than the subset of the command output;
generating the CMR based on the FER and the second FER;
making a second determination that the CMR includes a difference from a previously generated CMR; and
sharing, based on the second determination, the CMR with a coordination point.

US Pat. No. 10,574,555

NETWORK DATA STREAM TRACER

Arista Networks, Inc., S...

1. A network device comprising:a first processing device to forward a unit of network data from an ingress interface to an egress interface; and
stream tracer logic to cause marking logic to mark selected units of network data for counting via counting logic based on data located within a first unit of network data and cause the counting logic to count the marked units of network data at an ingress point and an egress point of a detection region within the first processing device, the counting logic to generate an ingress count and an egress count for the detection region, wherein the stream tracer logic is to detect whether units of network data are dropped within the detection region based on a count of the marked units of network data and wherein the detection region overlaps with a second detection region in the first processing device.

US Pat. No. 10,484,256

METHOD AND SYSTEM FOR MONITORING AND CORRECTING DEFECTS OF A NETWORK DEVICE

Arista Networks, Inc., S...

1. A method for determining that a defect applies to a network device, comprising:receiving, at a monitoring module comprising a computing device and before the defect occurs on the network device, network device information from the network device, wherein the network device information comprises state information and operational information for the network device, wherein the state information does not comprise hardware and software version information, and wherein the operational information comprises information about how the network device has operated;
storing, in a network device database, the network device information from the network device;
receiving, at the monitoring module, defect information about the defect, wherein the defect information comprises network device criteria specifying what state information and operational information are required for the network device to be potentially affected by the defect, and wherein the defect comprises a condition that, if occurring, prevents normal operation of the network device;
storing the defect information in a defect database;
making a determination that the defect potentially applies to the network device by:
analyzing the network device information to obtain the state information and the operational information;
analyzing the defect information to determine that the defect has previously occurred on a plurality of other network devices;
comparing the network device criteria to the state information to diagnose that the state of the network device is similar to the states of each of the plurality of other network devices at the time the defect occurred on each of the plurality of other network devices; and
comparing the network device criteria to the operational information to diagnose that the network device has been operated similarly to each of the plurality of other network devices before the defect occurred on each of the plurality of other network devices; and
based on the determination, informing a defect alert recipient that the defect potentially applies to the network device.

US Pat. No. 10,432,457

METHOD AND SYSTEM FOR PERFORMING A READ-MODIFY-WRITE OPERATION ON A NETWORK ELEMENT

Arista Networks, Inc., S...

1. A method for managing a network element, comprising:receiving, from a first network element agent, a write request comprising a row memory address, a row write mask, and a row write data;
obtaining, from a network processor, a row associated with the row memory address, wherein the row comprises data;
applying, over the row, the row write mask to obtain a masked row, wherein the row write mask denotes at least one location of unchanged data in the row and at least one location to which changes are to be applied in the row;
modifying, using the row write data, a first targeted subset of the data to obtain a new masked row;
removing, from the new masked row, the row write mask to obtain a new row; and
writing, to the network processor, the new row;
wherein the data comprises the first targeted subset and a second targeted subset,
wherein the first targeted subset and the second targeted subset are non-overlapping, and
wherein the first targeted subset is relevant to the first network element agent and the second targeted subset is relevant to a second network element agent.

US Pat. No. 10,419,389

METHOD AND SYSTEM FOR USING A TOP OF RACK SWITCH AS AN OVERLAY ROUTING INTERMEDIATE POINT

Arista Networks, Inc., S...

1. A method for transmitting media access control (MAC) frames, comprising:receiving, by a destination network device, a first virtual extensible local area network (VXLAN) frame;
decapsulating the first VXLAN frame to obtain a first MAC frame, wherein the first MAC frame originates from a source server, wherein the source server is not directly connected to the destination network device;
rewriting, by the destination network device and using a VM-to-VTEP (VMS2V) table, the first MAC frame to obtain a second MAC frame;
determining a destination server virtual tunnel end point (VTEP) Internet Protocol (IP) address using at least a portion of the second MAC frame;
generating a second VXLAN frame comprising the destination server VTEP IP address and the second MAC frame; and
transmitting the second VXLAN frame to a destination server, wherein the destination server comprises a VTEP associated with the destination server VTEP IP address.

US Pat. No. 10,411,423

OSFP TO OSFP MODULE FORM FACTOR ADAPTER

ARISTA NETWORKS, INC., S...

1. An adapter for a communication transceiver and a communication host, comprising:a first end having an OSFP (octal small form factor pluggable) connector for connection to an OSFP host port;
a second end having a QSFP (quad small form factor pluggable) host connector for receiving a QSFP connector; and
a circuit board, mounted in a housing, having a first height at the first end of the housing and a differing, second height at the second end of the housing to align an OSFP connector to the OSFP host port and align a QSFP host connector to the QSFP transceiver.

US Pat. No. 10,652,126

SYSTEM AND METHOD OF A CLOUD SERVICE PROVIDER TRACER

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to measure performance of a plurality of cloud service providers, the method comprising:deploying a plurality of cloud agents to the plurality of cloud service providers, wherein a cloud service provider is a service provider that provides different kinds of on-demand services for different customers using a shared pool of configurable computing resources;
setting a controller to measure the performance of each of the plurality of cloud service providers using each of the plurality of cloud agents;
probing each of the plurality of cloud service providers by sending probe data to each of the plurality of cloud agents, wherein the probe data comprises test traffic from the controller to the plurality of cloud agents;
receiving response data from each of plurality of cloud agents, wherein the response data is indicative of performance measurements of the plurality of cloud service providers; and
measuring the performance for each of the plurality of cloud service providers using the response data.

US Pat. No. 10,630,564

SYSTEM AND METHOD OF HANDLING A FAULT DETECTION MECHANISM WITH LINK AGGREGATION GROUPS

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to setup a fault detection service on a multi-link group of a network element, the method comprising:starting the fault detection service on a first link of the multi-link group;
setting up, by the network element, a first packet for the fault detection service;
transmitting, by the network element, the first packet on the first link;
receiving, by the network element, the first packet;
determining if the first packet was received on the first link;
in response to determining that the first packet was received on a different link,
setting up a second packet by modifying a packet characteristic of the first packet, and
transmitting the second packet on the first link; and
in response to determining that the first packet was received on the first link, marking the fault detection service for the first link as converged.

US Pat. No. 10,585,725

SYSTEM AND METHOD OF HITLESS RECONFIGURATION OF A DATA PROCESSING PIPELINE

Arista Networks, Inc., S...

20. A network element that processes network data with a data processing pipeline, the network element comprises:a port that receives incoming network data;
a data plane that includes a data processing pipeline that processes the network data;
memory that stores a new image for the data processing pipeline; and
a control plane that prepares the new image for the data processing pipeline of the network element, puts the data processing pipeline into a non-forwarding mode, writes the new image into the memory, and puts the data processing pipeline into a forwarding mode, wherein the new image modifies one or more functionalities of the data processing pipeline and the data processing pipeline processes network data received by the network element using the new image.

US Pat. No. 10,581,793

ADDRESS RESOLUTION IN VIRTUAL EXTENSIBLE NETWORKS

Arista Networks, Inc., S...

1. A network element, comprising:a tunneling endpoint having a virtual address;
the tunneling endpoint configured to receive an address resolution protocol (ARP) reply that has a destination media access control (DMAC) address matching a virtual ARP MAC (VARP-MAC) address of the tunneling endpoint and is from a network device in a first virtual network that includes the tunneling endpoint, wherein the VARP-MAC address is assigned to the tunneling endpoint through which the first virtual network and a further virtual network are interconnected, the further virtual network distinct from the first virtual network; and
the tunneling endpoint further configured to have a first list of addresses of virtual tunneling endpoints of the further virtual network and to utilize the first list to send the ARP reply via an interconnect to a further tunneling endpoint, having the VARP-MAC address assigned, in the further virtual network.

US Pat. No. 10,541,874

METHOD AND SYSTEM FOR SPANNING TREE PROTOCOL ROLE PROTECTION

Arista Networks, Inc., S...

1. A method for managing ports on a network element, comprising:receiving a notification of a port transition for a port of a plurality of ports on the network element, wherein the port is associated with a port role and a port state determined using a spanning tree protocol engine executing on the network element;
making a determination that the port transition conflicts with a port policy of the port;
in response to the determination:
disabling the port;
re-enabling the port in response to an enabling event; and
after re-enabling the port, managing the port using the spanning tree protocol engine.

US Pat. No. 10,536,297

INDIRECT VXLAN BRIDGING

Arista Networks, Inc., S...

1. A method for forwarding packets, comprising:receiving, by a network element, a first encapsulated packet addressed to the network element, the first encapsulated packet comprising an inner packet comprising a final bridging destination address that identifies a destination device that is different from a source device from which the inner packet originated, wherein the network element is associated with a first virtual tunnel end point (VTEP), wherein the first VTEP is associated with a virtual network identifier (VNI), wherein the destination device is associated with a second VTEP, wherein the second VTEP is associated with the VNI, and wherein the first encapsulated packet originated from a third VTEP associated with a second network element, wherein the third VTEP is associated with the VNI;
decapsulating, by the network element, the first encapsulated packet to obtain the inner packet;
identifying, by the network element, an intermediate routing destination address using the final bridging destination address, wherein the intermediate routing destination address is associated with the second VTEP and the VNI;
generating, by the network element, a second encapsulated packet comprising, the VNI, the inner packet and the intermediate routing destination address as a destination address in an outer header; and
transmitting, by the network element, the second encapsulated packet, wherein the second encapsulated packet is decapsulated by the second VTEP.

US Pat. No. 10,659,362

TRAFFIC FORWARDING IN LARGE-SCALE NETWORKS

Arista Networks, Inc., S...

1. A method for traffic forwarding in a network, comprising:matching a destination IP (Internet protocol) address (DIP) of a packet, in a forwarding information base (FIB) table to point to a next-hop group for the packet, in a first matching operation;
redirecting the packet to a differing next-hop group, responsive to matching each of the next-hop group for the packet and a field of the packet in a second matching operation, wherein the field marks the packet as belonging to a class of service; and
routing the packet to a next node, in accordance with the next-hop group or the differing next-hop group as determined for the packet.

US Pat. No. 10,642,750

SYSTEM AND METHOD OF A SHARED MEMORY HASH TABLE WITH NOTIFICATIONS AND REDUCED MEMORY UTILIZATION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units perform a method to read a value from a shared memory data structure, the method comprising:receiving a first key that corresponds to the value, the first key used to retrieve the value from the shared memory data structure and the shared memory data structure is written to by a writer and read from by a plurality of readers;
looking up the first key in a local values table, wherein the first key is located at an index in the local values table, the local values table stores a plurality of keys for one of the plurality of readers, and each of the plurality of keys is indexed into an entry in the shared memory data structure; and
retrieving the value from the shared memory data structure using the index, wherein the shared memory data structure is stored in a memory of a network element.

US Pat. No. 10,574,574

SYSTEM AND METHOD FOR BGP SFLOW EXPORT

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to implement a method to export routing protocol data, the method comprising:generating a plurality of separate tables associated with the routing protocol data, wherein duplication of at least a portion of the routing protocol data is prevented by generating the plurality of separate tables and wherein at least one of the entries in a first one of the plurality of separate tables references a plurality of entries in other ones of the plurality of the separate tables;
populating a second one of the plurality of the separate tables with mapping information that defines a mapping from a network address prefix to an entry in the first one of the plurality of separate tables; and
generating a routing protocol export sample related to the network address prefix using the plurality of separate tables.

US Pat. No. 10,541,900

HIERARCHICAL TIME STAMPING

Arista Networks, Inc., S...

1. A network element comprising:a network physical port to receive, via a production network, production network data that is used for purposes other than testing the performance of a network, wherein the production network data includes a plurality of units of production network data having different protocols and traveling over a plurality of different paths to the network element;
a data plane coupled to the network port, the data plane including a timing module to append a time stamp to a plurality of time stamps included within each unit of the production network data; and
a control plane coupled to the data plane, the control plane implemented with circuitry and including a latency analyzer to determine a latency for each unit of production network data based on at least the plurality of time stamps and a path analyzer to determine a path corresponding to the latency for each unit of production network data based on a set of host identifiers included with the plurality of time stamps.

US Pat. No. 10,530,692

SOFTWARE FIB ARP FEC ENCODING

Arista Networks, Inc., S...

1. A network device, comprising:a memory; and
a processing device coupled to the memory, the processing device to:
program a forwarding engine of a data plane with forwarding information, wherein the forwarding information comprises:
a forwarding information base comprising a plurality of forwarding entries; and
a forwarding equivalence class (FEC) table comprising a plurality of FEC entries, wherein:
data link layer forwarding data is encoded into the FEC entries;
each forwarding entry in the forwarding information base is associated with a corresponding FEC entry; and
each FEC comprises an identifier for a virtual network.

US Pat. No. 10,516,575

METHOD AND SYSTEM FOR EFFICIENTLY PROCESSING COMMAND LINE INTERFACE (CLI) INSTRUCTIONS ON A NETWORK ELEMENT

Arista Networks, Inc., S...

1. A method for processing instructions on a network element, comprising:receiving, by the network element, first command line interface (CLI) instructions comprising a first CLI statement;
making a first determination that the first CLI statement is a bypass statement wherein the bypass statement, when present, identifies that a set of nonspecific sub-agents are to be bypassed that are not bypassed when processing a second CLI statement that is not a bypass statement; and
processing, based on the first determination, the first CLI statement using a first command specific sub-agent, wherein processing by the set of nonspecific sub-agents is bypassed.

US Pat. No. 10,715,441

SYSTEM AND METHOD OF A HIGH BUFFERED HIGH BANDWIDTH NETWORK ELEMENT

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to process a packet in a network element, the method comprising:receiving the packet, with a packet switch unit, wherein the packet was received by the network element on an ingress interface, each ingress interface being one of an externally queued (EQ) interface and a non-EQ interface;
determining whether the packet is to be stored in one of a plurality of external queues of a packet storage unit based on at least whether the ingress interface that received the packet is an EQ interface, wherein the packet storage unit is external to and coupled to the packet switch unit;
determining whether the packet is to be stored in one of a plurality of internal queues of the packet switch unit based on at least the ingress interface that received the packet being a non-EQ interface;
if the packet is to be stored in one of the plurality of external queues,
selecting, from among the plurality of external queues, one of the plurality of external queues for the packet based on forwarding information of the packet,
forwarding the packet to the packet storage unit, wherein the packet storage unit includes storage for the external queue,
receiving, with the packet switch unit, the packet from the packet storage unit, and
forwarding the packet to an egress interface corresponding to the selected one of the plurality of external queues, and
if the packet is to be stored in one of the plurality of internal queues, storing the packet in one of the plurality of internal queues.

US Pat. No. 10,644,969

METHOD AND SYSTEM FOR NETWORK ELEMENTS TO INTERNALLY PROBE THEIR FORWARDING ELEMENTS

Arista Networks, Inc., S...

1. A method for monitoring a network element, the method comprising:generating, by a forwarding element probing engine of the network element, a first probing packet comprising a first recirculation route, wherein the first recirculation route comprises:
a plurality of forwarding element addresses, each associated with one of a plurality of forwarding elements in the network element, and
a forwarding element probing engine address;
processing the first probing packet by forwarding elements associated with the forwarding element addresses specified in the first recirculation route;
receiving, by the forwarding element probing engine, a first returned probing packet associated with the first probing packet;
in response to receiving the first returned probe packet:
regenerating the first probing packet to obtain a regenerated probe packet; and
processing the regenerated probe packet.

US Pat. No. 10,623,258

DATA ANALYTICS ON INTERNAL STATE

Arista Networks, Inc., S...

1. A network management system comprising:a collector node including an ingest gateway configured to receive configuration state and operational status of a set of network elements coupled to the collector node via a network, the collector node further configured to store the configuration state and the operational status data from the set of network elements in a distributed database, wherein the operational status data comprises status of one or more agents executing in a control plane of a network element in the set of network elements; and
an interface server configured to receive a request for the configuration state and the operational status data from an external requester, the interface server further configured to facilitate provision of the configuration state and the operational status data in response to the request, wherein the interface server is separate from the set of network elements and wherein the interface server comprises at least one hardware processor.

US Pat. No. 10,594,629

LOAD BALANCING ON MULTI-CHIP NETWORK SWITCH WITHOUT FULL BI-SECTION BANDWIDTH

Arista Networks, Inc., S...

1. A method of operating a network processor, comprising:obtaining, by the network processor (NP) of a plurality of NPs of a network device, a packet;
determining, by the NP, a multipath table index from a forwarding table associated with the NP;
identifying, by the NP, a multipath group specified in an entry of a multipath table associated with the NP using the multipath table index, wherein the multipath group comprises only a plurality of local egress ports that are local to the NP, and no foreign egress ports that are local to a second NP of the plurality of NPs;
selecting, by the NP a nexthop index from a plurality of nexthop indexes specified by the multipath group;
obtaining, by the NP, a port of the plurality of local egress ports and a media access control (MAC) address from a nexthop table entry using the nexthop index; and
transmitting, by the NP, the packet via the port to a second network device using the MAC address.

US Pat. No. 10,644,975

METHOD AND SYSTEM FOR PROBING FORWARDING ELEMENTS OF NETWORK ELEMENTS

Arista Networks, Inc., S...

1. A method for probing forwarding elements of a network element, the method comprising:generating, by a forwarding element probing engine within the network element, a first probing packet that comprises a first recirculation route, wherein:
the first recirculation route is configured to target a plurality of probed forwarding elements of the network element, specified in the first recirculation route by their corresponding forwarding element addresses,
and
the forwarding element addresses cause the first probing packet to remain within the network element;
injecting the first probing packet into a first forwarding element of the plurality of probed forwarding elements of the network element;
making a determination, based on not receiving, at the forwarding element probing engine, a first returned probing packet associated with the first probing packet, that a probed forwarding element of the network element is non-operational.

US Pat. No. 10,642,844

NON-MATERIALIZED TABLES WITH STANDING QUERIES

Arista Networks, Inc., S...

1. A network device, comprising:a database comprising:
a materialized table comprising a value;
a non-materialized table comprising an output; and
a query instance programmed to generate the output that is stored in the non-materialized table using the value,
wherein the database is programmed to:
delete the output from the non-materialized table after it has been read by a consumer,
after the deletion, obtain a request for the output,
determine, in response to the request, that the output is not present in the non-materialized table,
in response to the determining, initiating regeneration of the output using at least the value in the materialized table to obtain a regenerated output, and
provide the regenerated output in response to the request.

US Pat. No. 10,630,585

METHOD AND SYSTEM FOR WITHDRAWING PROGRAMMED ROUTES IN NETWORK DEVICES

Arista Networks, Inc., S...

1. A method for withdrawing programmed routes in network devices, comprising:receiving instructions to withdraw a route of a plurality of programmed routes stored in a forwarding information base (FIB) of a network device;
removing the route from a plurality of routes stored in a routing information base (RIB) of the network device in response to receiving the instructions;
notifying, after removing the route from the RIB, a peer network device of a plurality of peer network devices in a network about the route to be withdrawn;
initializing a timer with a timeout value and starting the timer on the network device, wherein the timeout value is based, at least in part, on a set of network conditions within the network comprising the plurality of peer network devices, the network conditions comprising a previously determined time required to perform the notifying of each of the plurality of peer network devices about the route to be withdrawn;
before the timer expires, processing a packet that uses the route to be withdrawn;
after the timer expires, removing the route from the FIB; and
after removing the route from the FIB, processing, by the network device, a second packet using a second route of the plurality of programmed routes in the FIB, wherein the second route is also stored in the RIB.

US Pat. No. 10,621,145

CLUSTER FILE REPLICATION

Arista Networks, Inc., S...

1. A cluster file replication system, comprising:a plurality of controllers, each controller of the plurality of controllers being able to access a filesystem having a plurality of files including a system database of the controller having state information of the plurality of controllers, each controller further including one or more service agents;
the one or more service agents of each controller being able to respond to one of the plurality of controllers becoming a master controller of the cluster; and
the one or more service agents of each controller being able to set up one or more objects that react to the state information and coordinate replication of changes to the files, system database and state information from the master controller to follower controllers in the cluster, wherein the one or more objects on each of the follower controllers supportive of the follower controllers receiving the changes but disabled from initiating the replication.

US Pat. No. 10,616,046

SYSTEM AND METHOD OF HANDLING A FAULT DETECTION MECHANISM DURING A CONTROL PLANE FAILOVER

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to continue a fault detection service for a link of a network element, the method comprising:starting a fault detection service for the link on each of a first supervisory component and a second supervisory component of the network element, wherein the first supervisory component sends fault detection packets on the link, the first supervisory component is active and the second supervisory component is standby and a supervisory component is a component of the control plane that controls the processing of network data received by the network element;
saving a state for the fault detection service of a second supervisory component; and
in response to a failover of the first supervisory component to the second supervisory component, continuing the fault detection service of the second supervisory component based on the saved state and without indicating a detection of fault, wherein this fault detection service of the second supervisory component is active and sends fault detection packets on the link.

US Pat. No. 10,587,468

SYSTEM AND METHOD OF A GRACEFUL REBOOT OF A NETWORK CONTROLLER

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to bring up a network controller, the method comprising:receiving an indication of the network controller booting up, the network controller coupled to a plurality of network elements in a network and maintains a controller database that supports one or more network-wide services used by the plurality of the network elements;
in response to the receiving of the indication of the network controller booting up, requesting state information from the plurality of network elements;
receiving the state information from the plurality of network elements;
building, by the one or more network-wide services, the controller database from the state information; and
for each of the one or more network-wide services, sending, by the network controller, updates from the controller database to each of a subset of the plurality of network elements at subscribe to the network-wide service, wherein the sending of the updates occurs concurrently with the building of the controller database, each of the plurality of network elements incorporates these updates into a respective network element database, and this network element database is used to perform the network-wide service on the network element.

US Pat. No. 10,557,493

SPRING FASTENER

Arista Networks, Inc., S...

1. A spring fastener, comprising:a spring;
a shouldered member having at least two legs, formed by bending a flat piece that has a geometric center with a first leg and a second leg extending in opposed directions from the geometric center, wherein the flat piece has an aperture dimensioned to control flexure of the shouldered member;
at least one of the first leg or the second leg having a retention feature; and
the first leg and the second leg arranged along a central, longitudinal axis of the spring with the spring retained by the shouldered member, wherein the flat piece is formed by stamping a flat sheet of metal to create the flat piece with the first leg and the second leg each offset by an angle from a symmetrical longitudinal axis of the geometric center of the flat piece.

US Pat. No. 10,673,704

SYSTEM AND METHOD OF DYNAMIC HARDWARE POLICER ALLOCATION

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to install a candidate policing rule from system memory to specialized hardware memory in a network element, the method comprising:receiving control plane data processing statistics of control plane data that is received by the network element, wherein the control plane data is processed by a control plane of the network element and is policed using a plurality of control plane data policing rules stored in the system memory;
determining that the candidate policing rule is being utilized greater than a threshold based on at least the control plane data processing statistics, wherein the candidate policing rule is one of the plurality of control plane data policing rules stored in the system memory; and
installing the candidate policing rule in the specialized hardware memory, wherein the candidate policing rule is subsequently used by the network element to police the control plane data.

US Pat. No. 10,616,112

SYSTEM AND METHOD OF LOADING AN EXACT MATCH TABLE AND LONGEST PREFIX MATCH TABLE

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to determine a match for a destination address using an exact match table, the method comprising:receiving, with a network element, a data packet that includes a destination address;
generating a lookup key for the destination address, wherein the lookup key represents more addresses than the destination address;
performing an exact match table address lookup using the lookup key with an exact match table, wherein a first forwarding result is derived from a match in the exact match table address lookup, an exact match table entry for a prefix of length N stores a plurality of forwarding indications corresponding to 2k prefixes of length N+k, and k is a number of bits from 1 to the length of the destination address minus N;
determining a resolved forwarding result based on the first forwarding result, wherein the first forwarding result is selected from the plurality of forwarding indications using k bits after N prefix bits of the destination address; and
forwarding the data packet using the resolved forwarding result.

US Pat. No. 10,616,111

CONSISTENT HASHING FOR PACKETS ACROSS MULTI-STAGE LOOKUPS

Arista Networks, Inc., S...

1. A method for routing packets in a network, performed by one or more network devices, comprising:hashing information from a packet to form a hash result, in a fabric member of a network device;
identifying, in a link aggregation group (LAG) data structure, based on the hash result in the fabric member, an egress member of the network device to which to route the packet from the fabric member;
determining the hash result, at the egress member; and
identifying, in an equal cost multipath (ECMP) group data structure, based on the hash result at the egress member, a next hop to which to route the packet from the egress member.

US Pat. No. 10,609,597

SYSTEM AND METHOD OF A PAUSE WATCHDOG

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to trigger a pause reduction component, the method comprising:receiving a pause message on a first network element, wherein the pause message is from a second network element and indicates that data should not be transmitted by the first network element; and
in response to receiving the pause message, triggering the pause reduction component on the first network element when a characteristic of the first network element is above a pause reduction threshold, wherein the pause reduction component reduces an effect of the pause message and the pause reduction threshold is based on at least one of a particular number of pause messages, an inadequate drain rate of a queue associated with the second network element, or a queue occupancy of the queue associated with the second network element.

US Pat. No. 10,609,519

LOCATION TRACKING CONFIGURATION USING USER DEVICES

ARISTA NETWORKS, INC., S...

1. A method comprising:assigning, by a computing device, an assigned user location to a device identifier of a device of a user;
receiving, by the computing device, a time series of measurements of a signal associated with the device identifier, wherein each measurement is between the device and a set of spatially disposed radio monitors, wherein receiving the time series of measurements comprises:
receiving a first measurement with a first set of spatially disposed radio monitors for the device identifier at a first time; and
receiving a second measurement with a second set of spatially disposed radio monitors for the device identifier at a second time;
filtering, by the computing device, one or more measurements from the time series of measurements based on a characteristic to generate a set of measurements, wherein filtering one or more measurements from the time series of measurements comprises:
removing one of the first measurement and the second measurement; and
associating, by the computing device, the set of measurements with the assigned user location, wherein different sets of measurements are associated with different assigned user locations for use in location tracking of a subject client.

US Pat. No. 10,651,607

STACKED OPTICAL MODULE CAGE WITH IMPROVED AIRFLOW TO BOTTOM PORTS

Arista Networks, Inc., S...

1. A module cage, comprising:a first compartment for accepting a first module;
a middle compartment having a heatsink and enabling ventilation through two or more sides of the cage;
a second compartment for accepting a second module, the second module, when accepted, in thermal contact with the heatsink; and
the middle compartment having further ventilation through a region connecting the middle compartment and the first compartment that is enabled when the first compartment is empty, the region and the further ventilation obstructed when the first module is in the first compartment.

US Pat. No. 10,742,549

DYNAMIC FORWARD INFORMATION BASE PREFIX OPTIMIZATION

Arista Networks, Inc., S...

1. A method of programming a forwarding information base, comprising:obtaining, by a forwarding information base entry optimizer, a first route prefix to be loaded into the forwarding information base; and
based on determining that the forwarding information base does not include any supernet route prefix associated with the first route prefix:
identifying, by the forwarding information base entry optimizer, an existing routing prefix in the forwarding information base associated with the first route prefix;
generating, by the forwarding information base entry optimizer, a new supernet route prefix associated with the first route prefix;
loading, by the forwarding information base entry optimizer, the new supernet route prefix into the forwarding information base; and
removing, by the forwarding information base entry optimizer, the existing routing prefix from the forwarding information base.

US Pat. No. 10,530,869

BIDIRECTIONAL FORWARDING DETECTION ACCELERATOR

Arista Networks, Inc., S...

1. A method of performing bidirectional forwarding detection (BFD), comprising:retrieving, by a receive module operating in a data plane of a network device, a first BFD packet from a network processor of the network device, wherein the first BFD packet originated at a peer device;
retrieving, by the receive module, a second BFD packet from the network processor after resetting a session timer, wherein the second BFD packet originated at the peer device;
performing a direct comparison, by the receive module, between first BFD packet content of the first BFD packet and second BFD packet content of the second BFD packet;
in response to making a first determination, based on the direct comparison, that second BFD packet content differs from the first BFD packet content, sending, by the receive module, the second BFD packet to a session state machine operating in a control plane of the network device,
wherein, based on receiving the second BFD packet, the session state machine configures a transmit module to modify a rate at which the transmit module transmits BFD packets to the peer device; and
in response to making a second determination, based on the direct comparison, that the second BFD packet content does not differ from the first BFD packet content, making a decision, by the receive module, not to send the second BFD packet to the session state machine.

US Pat. No. 10,925,179

COOLING STRUCTURES HAVING SHIELDING FOR ELECTROMAGNETIC INTEFERENCE

Arista Networks, Inc., S...

1. A system for cooling and shielding a computing system comprising:a plurality of cooling channels arranged in an array, each cooling channel having a length, a width, and a height; and
a plurality of inserts for shielding interference over a frequency range, wherein each insert:
is arranged in a cooling channel of the plurality of cooling channels,
comprises a thickness less than or equal to one order of magnitude smaller than the width of the respective cooling channel,
comprises a profile shape having an amplitude less than or equal to the width of the respective cooling channel, and
comprises an insert length oriented along the length of the cooling channel.

US Pat. No. 10,740,002

SYSTEM STATUS LOG

Arista Networks, Inc., S...

1. An apparatus for recording data received in serial form, comprising:a data logging port configured to receive the data in serial form;
an external access port;
a first memory;
a command processor coupled to the external access port and configured to read the first memory in accordance with a command placed in the command processor through the external access port;
selection logic configured to couple the first memory to the data logging port and the external access port, the selection logic configured to lockout access to the first memory based, at least in part, on the command in the command processor, wherein the selection logic is configured to provide access to the first memory only through the data logging port while locking out access to the first memory through the external access port and command processor, and is further configured to provide access to the first memory only through the external access port and command processor while locking out access to the first memory through the data logging port; and
a state machine executing on a processor internal to the apparatus, wherein the state machine is configured to control the writing of the data, received in serial form through the data logging port, to the first memory.

US Pat. No. 10,693,705

SHOW COMMAND SERVICE AKA CLI RELAY

Arista Networks, Inc., S...

1. A method for processing a command request (CRQ) to obtain a consolidated command response (CMR), comprising:receiving an event notification from a notification issuer;
obtaining, in response to the received event notification, a modified command request (MCRQ) based on the CRQ from a network device state database, the MCRQ comprising a relay command and an output filter set, wherein the output filter set comprises fewer output filter expressions than the CRQ;
executing, by a network device, the relay command to obtain a command output, wherein the command output comprises state information of the network device;
making a first determination that the output filter set is not an empty set;
based on the first determination:
extracting an output filter expression and a second output filter expression from the output filter set;
applying, to the command output, the output filter expression to obtain a filter expression result (FER), wherein the FER is a subset of the command output;
applying, to the command output, the second output filter expression to obtain a second FER, wherein the second FER is a second subset of the command output, wherein the second subset of the command output is different than the subset of the command output;
generating the CMR based on the FER and the second FER;
making a second determination that the CMR includes a difference from a previously generated CMR; and
sharing, based on the second determination, the CMR with a coordination point.

US Pat. No. 10,673,757

SYSTEM AND METHOD OF A DATA PROCESSING PIPELINE WITH POLICY BASED ROUTING

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to process data by a network element with a data processing pipeline, the method comprising:receiving network data;
performing a policy-based routing lookup using one or more characteristics of the network data to retrieve a next hop identifier;
generating a key for the next hop identifier;
performing a longest prefix match lookup to retrieve a forwarding result using the key; and
determining a next hop interface based on the forwarding result.

US Pat. No. 10,827,646

REVERSIBLE LOUVER FOR FABRIC CARD FAN SOLUTION

Arista Networks, Inc., S...

1. A louver comprising:a housing including a set of slats, disposed within the housing;
the set of slats is adapted as a one way valve that only allows air to flow from an upstream side of the housing to a downstream side of the housing;
wherein the upstream side comprises a first key adapted to mate with a first air flow component comprising a first key receptacle and the downstream side further comprises a second key adapted to mate with a second air flow component comprising a second key receptacle,
wherein the first key is adapted to mate to the first key receptacle when the housing is in a first orientation, the second key is adapted to mate to the second key receptacle when the housing is in a second orientation, and the first orientation is opposite of the second orientation.

US Pat. No. 10,798,000

METHOD AND APPARATUS OF COMPRESSING NETWORK FORWARDING ENTRY INFORMATION

Arista Networks, Inc., S...

13. A network element that determines a match for a compressed address using an exact match table, the network element comprising:a receiving network physical interface coupled to a network, that receives a data packet including a destination address;
memory storing a set of instructions, coupled to the receiving network physical interface, wherein in response to determining that the data packet is of a first type of a plurality of types, the set of instructions compresses the destination address to give a compressed address and performs an address lookup using the compressed address in an exact match table concurrently with a longest prefix match address lookup using the uncompressed host address, wherein the compressed address includes a compressed subnet and an uncompressed host address, and the compressed subnet is compressed using a hash function, the exact match table is a hash table that stores a plurality of compressed address with each of the plurality of compressed addresses stored including a compressed subnet and an uncompressed host address, and a transmitting interface of the network element is derived from a match in the address lookup;
the transmitting network physical interface, coupled to the memory and the network, that forwards the data packet using the transmitting interface if there is a match; and
in response to determining that the data packet is of a first type of a plurality of types, the set of instructions, in response to determining that the data packet is of a second type of the plurality of types, forwards the data packet using a transmitting interface derived without compressing the destination address.

US Pat. No. 10,798,024

COMMUNICATING CONTROL PLANE DATA AND CONFIGURATION DATA FOR NETWORK DEVICES WITH MULTIPLE SWITCH CARDS

Arista Networks, Inc., S...

1. A switch card, comprising:a set of switch chips configured to communicate data with a plurality of line cards, wherein:
the plurality of line cards is coupled to a second switch card; and
the second switch card comprises a second set of switch chips; and
a communication component coupled to the set of switch chips, the communication component configured to:
determine whether the switch card should operate in a master mode or a slave mode;
in response to determining that the switch card should operate in the master mode, receive control plane data from a supervisor card; and
communicate the control plane data to one or more switch chips of the set of switch chips and the second set of switch chips.

US Pat. No. 10,797,900

SYSTEM AND METHOD OF FILTERING CONTROL PLANE DATA

Arista Networks, Inc., S...

8. A method to convert an indication from a multicast routing protocol, the method comprising:receiving, at a network element, a multicast routing protocol indication for a multicast group, wherein the multicast group is configured for a set of one or more sources, wherein the one or more sources are not rendezvous points;
converting the indication to a set of one or more source specific routing protocol messages, wherein the converting is not dependent upon any prior protocol message being sent to rendezvous points;
determining a set of one or more network elements for the set of one or more source specific routing protocol messages; and
sending the set of one or more source specific routing protocol messages towards the one or more sources to the set of one or more network elements, wherein the set of one or more source specific routing protocol messages are sent independent of rendezvous points and along a shortest path to the one or more sources.

US Pat. No. 10,707,600

SYSTEMS WITH ELECTRICAL ISOLATION BETWEEN SIGNAL AND POWER DOMAINS

Arista Networks, Inc., S...

1. An apparatus comprising:a first circuit board comprising a plurality of signal traces configured to carry communication signals;
a second circuit board comprising a plurality of power traces;
a plurality of sockets, wherein each socket comprises:
a first set of pins having a first length and configured to connect to a set of signal traces from the plurality of signal traces, and
a second set of pins having a second length and configured to connect to a set of power traces from the plurality of power traces.

US Pat. No. 10,892,991

RESILIENT HASHING WITH MULTIPLE HASHES

ARISTA NETWORKS, INC., S...

1. A method of packet forwarding comprising:maintaining, by a network device, a first hash table comprising mappings between a first set of hash indices and a set of bit values, wherein for each mapping in the first hash table:
the mapping's hash index corresponds to one of a group of next-hop destinations to which network packets received by the network device may be transmitted, and
the mapping's bit value indicates whether the mapping's hash index corresponds to an active or inactive next-hop destination;
maintaining, by the network device, a second hash table comprising mappings between a second set of hash indices and active next-hop destinations in the group of next-hop destinations;
receiving, by the network device, a network packet;
computing, by the network device, a first hash value using a portion of the network packet and a first hash function;
matching, by the network device, the first hash value to a first mapping in the first hash table based on the first mapping's hash index; and
when the first mapping's bit value indicates that the first mapping's hash index corresponds to an active next-hop destination:
matching, by the network device, the first hash value to a second mapping in the second hash table based on the second mapping's hash index; and
sending, by the network device, the network packet to the second mapping's active next-hop destination.

US Pat. No. 10,887,233

SYSTEM AND METHOD OF LOADING AN EXACT MATCH TABLE AND LONGEST PREFIX MATCH TABLE

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method comprising:receiving, with a network element, a data packet that includes a destination address;
generating a key for the destination address, wherein the key represents more addresses than the destination address;
performing an exact match table address lookup using the key with an exact match table, wherein a match in the exact match table address lookup provides a first result;
performing a longest prefix match address lookup using the destination address with a longest prefix match table, wherein a match in the longest prefix match address lookup provides a second result comprising an encoded length of the longest prefix match;
selecting the first or second result based on a presence of the match in the exact match table address lookup and the encoded length of the longest prefix match;
determining a resulting transmitting interface from the selected first or second result; and
forwarding the data packet using the transmitting interface.

US Pat. No. 10,877,834

LOGGING REBOOTS OF NETWORK DEVICES

Arista Networks, Inc., S...

1. A method, comprising:rebooting a network device;
detecting, by a reboot component of the network device, the rebooting of the network device;
determining, by the reboot component of the network device, a set of causes for the rebooting of the network device;
determining, by the reboot component, storage capacity of a storage where a reboot log is stored,
the reboot log comprises a current entry and a plurality of previous entries, wherein:
the current entry indicates the set of causes associated with the rebooting of the network device; and
the plurality of previous entries indicates sets of causes that are associated with previous reboots of the network device; and
in response to determining that the storage capacity of the storage is full, updating, by the reboot component, the reboot log by removing one or more of the plurality of previous entries from the reboot log and adding the current entry.

US Pat. No. 10,868,747

NETWORK DATA STREAM TRACER

Arista Networks, Inc., S...

1. A network device comprising:a first processing device to forward units of network data from an ingress interface to an egress interface; and
logic circuitry to:
mark the units of network data for counting;
count the marked units of network data at ingress and egress points of first and second detection regions within the first processing device;
generate an ingress count and an egress count for the first detection region; and
detect whether units of network data are dropped within the first detection region based on a count of the marked units of network data.

US Pat. No. 10,841,197

MECHANISM TO PRESERVE WEIGHTS ASSIGNED TO NEXTHOPS

Arista Networks, Inc., S...

1. A method for preserving forwarding equivalence class (FEC) hierarchy weights, the method comprising:obtaining a FEC hierarchy;
obtaining a target height for the FEC hierarchy;
identifying within the FEC hierarchy a FEC node comprising pointers to a plurality of lower level FEC nodes;
making a first determination that a height of the FEC node is greater than the target height;
obtaining, based on the first determination, a rebasing factor for the FEC node;
updating weights for the plurality of lower level FEC nodes using the rebasing factor to obtain an updated FEC hierarchy;
obtaining a greatest common divisor (GCD) of the updated weights of the plurality of lower level FEC nodes of the updated FEC hierarchy;
dividing the updated weights by the GCD to obtain reduced quantity weights for the plurality of lower level FEC nodes; and
programming the reduced quantity weights as a portion of the updated FEC hierarchy in a hardware component of a network device.

US Pat. No. 10,831,469

DYNAMICALLY INSTALLING A DEVICE DRIVER BY A NETWORK ELEMENT

ARISTA NETWORKS, INC., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to install a device driver used to manage hardware of a network element, the method comprising:detecting, by a process of a network element operating system executing within a first container of a host operating system executing on the network element the hardware of a data plane of the network element;
determining, by the process of the network operating system, the device driver for the hardware;
installing, by the process of the network operating system, the device driver in a kernel of the host operating system, wherein the host operating system is separate from the network element operating system; and
managing data, with the network element operating system, using the device driver.

US Pat. No. 10,831,470

SIMULATING A TOPOLOGY OF NETWORK ELEMENTS

Arista Networks, Inc., S...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to simulate a plurality of network elements, the method comprising:receiving network topology information for the plurality simulated network elements;
instantiating a plurality of containers for the plurality of simulated network elements, wherein the plurality of containers are instances of a host operating system virtualization, and wherein at least a portion of the plurality of simulated network elements includes a control plane and a data plane; and
configuring a set of processes for each of the plurality of containers, wherein each of the set of processes simulates at least one of the plurality of simulated network elements and the set of processes implements network topology represented by the network topology information.

US Pat. No. 10,812,370

UNIFIED CONTROL PLANE OVER MPLS AND INTERNET INTERFACES THROUGH BGP

Arista Networks, Inc., S...

1. A method for processing packets in a network, comprising:establishing, prior to receiving a route and loopback network layer reachability, information (loopback NLRI), a secure communication channel between a route reflector and a first network element;
receiving, by the first network element over the secure communication channel:
the route comprising a loopback address (LBA) associated with a second network element, and
the loopback NLRI specifying the LBA and a plurality of interfaces on the second network element associated with the LBA;
receiving, by the first network element, a packet;
making a first determination that the LBA is a next hop for the packet;
based on the first determination, selecting a first interface of the plurality of interfaces;
transmitting the packet towards the first interface.

US Pat. No. 10,798,014

EGRESS MAXIMUM TRANSMISSION UNIT (MTU) ENFORCEMENT

Arista Networks, Inc., S...

1. A method for egress maximum transmission unit (MTU) enforcement, the method comprising:receiving a protocol packet at an ingress interface of a network device;
make a first determination of a protocol packet payload length;
performing an ingress MTU identifier lookup in an ingress MTU identifier table using the protocol packet payload length to obtain an ingress MTU identifier;
performing a packet propagation lookup to obtain an egress MTU identifier;
performing an MTU enforcement lookup in an MTU enforcement table using the ingress MTU identifier and the egress MTU identifier to obtain an egress action; and
performing the egress action.

US Pat. No. 10,741,943

NETWORK DEVICES AND NETWORK ELEMENTS WITH STACKED OCTAL SMALL FORMAT PLUGGABLE MODULES

ARISTA NETWORKS, INC., S...

1. A network device, comprising:a printed circuit board (PCB);
a first dual stacked octal small format pluggable (OSFP) module coupled to the PCB on a top surface of the PCB using a first set of connection pins aligned with a first set of vias of the PCB, wherein the first dual stacked OSFP module comprises two OSFP modules that are vertically stacked; and
a second dual stacked OSFP module coupled to the PCB on a bottom surface of the PCB using a second set of connection pins aligned with a second set of vias of the PCB, wherein:
the second dual stacked OSFP module comprises two OSFP modules that are vertically stacked;
a first bottom of the first dual stacked OSFP module is flush against the top surface of the PCB;
a second bottom of the second dual stacked OSFP is flush against the bottom surface of the PCB; and
the first set of vias is offset from the second set of vias.

US Pat. No. 10,701,464

HANDLE FOR INSERTION AND REMOVAL OF NETWORK COMPONENT

Arista Networks, Inc., S...

1. An apparatus, comprising:a latching component comprising first and second engagement features at first and second opposing portions of the latching component, and configured to:
secure a network component via the first and second engagement features within a chassis of a network device when the apparatus is in a first configuration; and
allow removal of the network component from the chassis of the network device when the apparatus is in a second configuration; and
a handle component coupled to the latching component between the first and second engagement features, wherein the handle component is accessible from a first face of the network component, wherein the handle component is oriented away from the first face, and wherein the handle component is configured to:
facilitate the removal of the network component from the chassis when the apparatus is in the first configuration;
facilitate the insertion of the network component into the chassis when the apparatus is in the second configuration; and
wherein the handle component includes:
a handle housing;
a shaft having a longitudinal axis extending between a first end and a second end, the first end disposed within the handle housing and the shaft disposed at least partially within the handle housing; and
a spring disposed within the handle housing to contact the first end of shaft and exert a first force to the handle component in a direction parallel to the longitudinal axis of the shaft.

US Pat. No. 10,921,365

HIGH-POTENTIAL TESTING OF CONDUCTIVE LANDS OF A PRINTED CIRCUIT BOARD

Arista Networks, Inc., S...

1. A method of testing a printed circuit board, comprising:accessing a list of conductive lands of a printed circuit board to be tested;
for each conductive land of the list of conductive lands, subjecting the conductive land to an adjacency test to determine one or more conductive lands that are adjacent to the conductive land; and
for the printed circuit board and each conductive land of the list of conductive lands, subjecting the conductive land and each of the one or more conductive lands that are adjacent to the conductive land to high-potential testing.

US Pat. No. 10,924,436

METHOD AND SYSTEM FOR MANAGING WORKLOADS IN A CLUSTER

Arista Networks, Inc., S...

1. A method, comprising:receiving, by a NameNode server, a link down message from a switch, wherein the link down message indicates that a connection to a first DataNode server is disrupted, and wherein the first DataNode server comprises stored data; and
in response to receiving the link down message:
identifying, using global switch load information, a plurality of other DataNode servers, wherein the global switch load information specifies bandwidth utilization of a plurality of switches connected to the plurality of other DataNode servers;
initiating replication of a copy of the stored data to a second DataNode server of the plurality of other DataNode servers based on the global switch load information;
identifying that a third DataNode server of the plurality of other DataNode servers comprises a disproportionate amount of data relative to remaining DataNode servers of the plurality of other DataNode servers; and
triggering, based on the identification of the third DataNode server, a data storage rebalancing among the plurality of other DataNode servers based on a rebalancing policy.