ISIS Accept Policy External

ISISAcceptExt.PNG

  • The ISIS metric type of external can be used instead of internal type
    • Prefix cost (external metric) with lowest cost will be preferred and if prefix cost is the same, the routes are considered ECMP routes
  •  A route-map can be used to specify metric type of none, internal or external; for example, a route-map can be used to selectively set specific routes as external
  • When deciding which routes to add to the route table, a SPB router
    • Internal type routes
      • Always preferred over External type routes
      • Will always prefer the routes with the shortest path internal metric to the BEB node advertising them
      • Will only use the route external cost (prefix-cost) as a tie breaker
      • For route to go into ECMP, both the internal and external metric must be the same
    • External type routes
      • Will only consider the external route metric (prefix-cost)
      • For route to go into ECMP, only the external metric must be the same
  • External metrics is supported as of release 5.0 for the VSP 4000, VSP 8000, and VSP 7200
    • Only IPv4 routes are supported in this release

 

Backup Multiple ERS Configurations

Here is a python script which will backup the running-config of multiple ERS switches listed in a text file. This script will send Ctrl + Y code sequence to the switch and run the copy command to a local TFTP server.

Python file sshclientcfg.py:

import paramiko
import time
import getpass

username = raw_input(‘Enter your username: ‘)
password = getpass.getpass()

f = open (‘myswitches.txt’)

for line in f:
ip_address = line.strip()
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip_address,username=username,password=password)

print ‘Successful connection’, ip_address

remote_connection = ssh_client.invoke_shell()
remote_connection.send(“\x19”)

print ‘Collecting running-config of ‘ + ip_address

remote_connection.send(‘copy running-config tftp address 192.168.1.100 filename ‘ + ip_address + ‘.asc\n’)

time.sleep(20)
readoutput = remote_connection.recv(655350)
saveoutput = open(‘Log file of ‘ + ip_address, ‘w’)

print ‘Saving to file called Log file of ‘ + ip_address + ‘\n’

saveoutput.write(readoutput)
saveoutput.write(‘\n’)
saveoutput.close

ssh_client.close()

Text file Myswitches.txt:

192.168.1.5
192.168.1.4

Output of script:

$ python sshclientcfg.py

Enter your username: admin

Password:

Successful connection 192.168.1.5

Collecting running-config of 192.168.1.5

Saving to file called Log file of 192.168.1.5

Successful connection 192.168.1.4

Collecting running-config of 192.168.1.4

Saving to file called Log file of 192.168.1.4

Note: The log file captured with the IP of the switch shows the output from the session which is useful to verify if it worked as expected or there was an error. The running-config file generated by the switch will be sent to the TFTP server so look there for the ASCII file.

The line below is used to provide Ctrl + Y response if prompted.

remote_connection.send(“\x19”)

 

 

 

Backup Configuration on BOSS and VOSS

ERS 4850 and VSP 7024

Save binary and ASCII configurations on ERS 4850 and VSP 7024:

copy config tftp address x.x.x.x filename ERS4850_name.bin

copy running tftp address x.x.x.x filename ERS4850_name.asc

copy config tftp address x.x.x.x filename VSP7024_name.bin

copy running tftp address x.x.x.x filename VSP7024_name.asc

VSP 4850 and VSP 7254

Save ASCII configurations on VSP 4850 and VSP 7254:

copy /intflash/config.cfg /intflash/config.yymmdd

copy /intflash/config.cfg x.x.x.x:VSP4850_name.yymmdd

Where x.x.x.x is IP address of TFTP server.

 

 

 

VI Cheat Sheet

General Commands:

To exit vi and save changes: ZZ   or  :wq

To exit vi without saving changes: :q!

To enter vi command mode: [esc]

Inserting

r          replace character under cursor with next character typed

R         keep replacing character until [esc] is hit

i           insert before cursor

a          append after cursor

A          append at end of line

O          open line above cursor and enter append mode

:%s/original/replacement Replace original text with replacement text

:%s/original/replacement/g Replace all (/gc with confirmation)

Deleting

x           delete character under cursor

dd         delete line under cursor

dw        delete word under cursor

db         delete word before cursor

ERS 3500 QOS VLAN Policy

qos if-group name Trusted class trusted
qos if-group name Unrestricted class unrestricted
qos action 253 name baseAct253 update-dscp 46 update-1p 6
qos l2-element 253 name l2Clfr405 vlan-min 253 vlan-max 253 ethertype 0x800
qos classifier 253 set-id 253 name clfrComp253 element-type l2 element-id 253
qos if-assign port 1/1-23 name Unrestricted
qos if-assign port 1/24 name Trusted
qos if-assign port 2/ALL name Unrestricted
qos policy 253 name policy253 if-group Unrestricted clfr-type classifier clfr-id 253 in-profile-action 253 precedence 1

 

 

Ubuntu Server QOS Test

Running Ubuntu Server in Virtual Box in Windows can allow for some useful extra networking utilities. I was searching for alternative to ping -V since this parameter has been deprecated and found the Ubuntu ping command offered more. Assumption being that the VM is connected to a network where you need to test.

Using Ping -Q tos option (ie 0xB8) to send ICMP requests with DSCP 46 set.

Tip: Toggle through multiple TTY terminal screens using Alt + left or right arrow. Run ping from one window and TCPDUMP from another.