Posted on January 7, 2018 7:52 pm
 |  Asked by Warren Granada
 |  1566 views
0
0
Print Friendly, PDF & Email

Does anyone know if Arista switches has some sort of VTP that manages vlans, so if you have 20-30 switches all you need to do is updated it on the primary switch and it will propagate the changes out to the switch environment?

Thank you in advance!!

0
Posted by Mo
Answered on January 7, 2018 10:43 pm

Hello Warren,

Arista EOS doesn’t support VTP

-Mo

 

 

Apologies if this is a repost but when I replied I didn’t see my response so I probably asked the question wrong so one more time, I know that VTP is Cisco proprietary but does Arista have something similar to this? I am assuming no as you would of said something Mo but just wanted to make sure as I probably asked the wrong question.

(Warren Granada at January 8, 2018 7:05 pm)
0
Posted by Warren Granada
Answered on January 8, 2018 6:56 pm

Hey Mo;

I probably asked that wrong I know VTP is Cisco proprietary does Arista have something similar to this?  I am assuming no as  you would of said something but figured I would ask as my original question wasn’t asked correctly.

0
Posted by Shreyas Ruwala
Answered on January 8, 2018 10:50 pm

Hi Warren,

We do have Cloud vision portal (CVP) that provides a central point of management for Arista network switches through shared snippets of configuration (configlets) enabling Network Engineers to provision the network more consistently and efficiently.

While CVP highlights a graphical user interface for configuration and management of devices, it also includes a full-featured RESTful API that provides all of the same functionality available via the GUI which can be used to automate workflows and integrate with other tools.

 

0
Posted by Andreas la Quiante
Answered on January 19, 2018 7:49 am

Hey Warren, 

let me share my private view and private thoughts. Sorry for being late as my response was stuck on the way.

There is more than one VTP version and use-case. Let’s assume you asked for the standard VTP (Version 1 and 2) use-case to manage a basic VLAN pool (e.g. VLAN 1-1000) not VTPv3 with could offer an MST use case (you can still find my VTPv3 whitepaper from 2008 somewhere on the web).

When managing 20-30 switches it could be a two-tier infrastructure with 2 core-switches and 18-28 TOR switches or 9-14 MLAG pairs. For such an environment, I would verify if it would be better to using (or migrating to) a standards-based layer 3 IP-Fabric. This is where the industry is going to and thus removes end-to-end VLANs (aka huge failure domains) and consequently the need to provision the same VLAN everywhere in the path. The question becomes how to efficiently provision VLAN on selected TOR-Switches belonging to one use-case or role. But there are certainly cases, where the customer or partner needs/mandates/likes Layer 2, runs a MLAG pair in the core and needs Layer 2 towards the TOR-switches. In short I don’t really know your situation, let’s assume Layer 2 is indeed your best end-to-end solution.

In order to avoid black-holing traffic due to a non-existing VLAN on one of the “transit switches” some vendors used a proprietary protocol, which for me worked well in my past life despite corner cases and certain behavior one should be aware of. However, this was always dependent on one vendor, I have not seen two implementations working together (or can’t remember anymore).

So, the question becomes, is there a standard? And there is (or was) one!  The beautiful abbreviation GVRP was “open” but I never had a customer willing to be a reference. GVRP was replaced by MVRP and personally I had/have no customer using this with any vendor either. However, the Arista documentation lists MVRP for AVB (Audio Video Bridging).

To cut a long answer short: I feel we need to find a solution for you, outside this intra-switch protocol approach

VTP uses a dedicated role (called a VTP Server) to send the information and dependent switches are able to compare the incoming information which includes a configure-revision-number with the own status, read number. If the received information is newer (higher number) it will replace the own and entire VLAN configuration. It boils down to: VTP tries to ensure VLAN consistency from a reference point of view with a bit of risk.

Option-01: Cloud Vision
For efficiently running day-to-day operation a complete turn-key solution with configuration-management and analytics is available today. The configuration part is based on a role base model where you apply configuration template (e.g. a set of VLANs like “vlan 2”, “with the ID 2 and the name “Warren” and apply it to all devices of a certain role (e.g. all device in DC-01, all TOR, all devices for tenant-01…). With this approach, you can ensure consistency and easy verification/auditing of configuration parts like VLANs but not limited to it, rather a universal tool.

Option-02: XMPP
With XMPP you can send commands to a group of switches. XMPP is an open chat protocol allowing you to interact with one or more devices at the same time.

Option-03: Agent
Since EOS is the abbreviation for Extensible Operating System you, your partner, or our EOS+ team can create an extension by using the EOS SDK which could be a protocol similar to VTP.  In short you can create a new function or protocol as you like. Be aware that VTP is a propritary protocol, if you create something too close you are risking to be sued. With this risk and the declining use-cases I would not put too much efforts into such a project but it is doable.

Option-04: eAPI
You could use the eAPI to write a script which loops through your switches and consistently sets and ensures a VLAN set on all of them. As a starting point I quickly wrote a script which runs locally on an Arista Switch/Router but since you are looking for a VTP equivalent you would run it on a Server fulfilling the role of the VTP Server. Instead of using a local socket you would identify your targets similar to

switch = Server(“https://<IP>:<Port>/…

This script reads and prints the actual VLAN environment, adds the VLAN 2 with the name Warren, reads, and print the now actual VLAN environment.

#!usr/bin/python
from jsonrpclib import Server
import pprint

def get_vlan():
    response = switch.runCmds(1,[“show vlan”])
    pprint.pprint(response)

switch = Server(“unix:/var/run/command-api.sock”)

get_vlan()

response = switch.runCmds(1,[“enable”,”configure”,”vlan 2”, “name Warren”])
pprint.pprint(response)

get_vlan()


 

The output will look similar to (please ignore word formation changes):

[admin@vEOS-02 ~]$ python alq1.py
[{‘sourceDetail’: ‘’,
  ‘vlans’: {‘1’:     {‘dynamic’: False,
                     ‘interfaces’: {},
                     ‘name”: ‘default’
                     ‘status’: ‘active’}}}]

[{}, {}, {}]

[{‘sourceDetail’: ‘’,
  ‘vlans’: {‘1’:     {‘dynamic’: False,
                     ‘interfaces’: {},
                     ‘name”: ‘default’
                     ‘status’: ‘active’}

           {‘2’:     {‘dynamic’: False,
                     ‘interfaces’: {},
                     ‘name”: ‘Warren’
                     ‘status’: ‘active’}}}]

 

The  CommandAPIGuide can be found via our Software Download portal right under the individual software version.

 

Option-05: PYEAPI
This one can be installed via PIP (if you need some Python foundation skills you might want to consider the 2-day APE trainings class or similar). PYEPI is a wrapper around eAPI. You can create a configuration file (e.g. named “Targets.conf”) with contains your 20-30 switches:

[connection:Warren-01]
host: 10.0.0.1
username: abc
password: Arista
transport: https
[connection:Warren-02]
host: 10.0.0.2
username: abc
password: Arista
transport: https


with this list you can write a quick script similar to this one which is looking for the individual versions on your devices:

#!/usr/bin/python
import pyeapi

pyeapi.load_config(‘Targets.conf’)

 

warren01 = pyeapi.connect_to(‘Warren-01’)

warren02 = pyeapi.connect_to(‘Warren-02’)

 

response = warren01.enable([‘show version’])

print response[0][‘result’][‘version’]

response = warren02.enable([‘show version’])

print response[0][‘result’][‘version’]

Then there is also an API module for working with VLANs to be usable with PYEAPI.
Please check out:
https://github.com/arista-eosplus/pyeapi/blob/develop/pyeapi/api/vlans.py

There are likely other options. Personal, I prefer (1) CloudVision followed by (5) PYEAPI and hope this helps you to find a suitable solution for your task.

have a great day,
Andreas

0
Posted by Warren Granada
Answered on February 8, 2018 8:10 pm

Hmm interesting, sorry for the late response but appreciate your in put I’ll take a look at both your suggestions Shreyas and Andreas thank you again!!!

Post your Answer

You must be logged in to post an answer.