Скрипт базовой конфигурации QoS

Скрипт создает и конфигурирует EAPS домен, конфигурирует EAPS и control vlan, добавляет protected vlan и включает EAPS. Изменив под свою сеть, скрипт даст возможность быстро разворачивать EAPS кольца на сети и менять их настройки.

Скрипт:

enable cli scripting

# @METADATASTART

#@DetailDescriptionStart

#############################################################################

#

# Script    : EAPSConfig

# Revision   : 1.1

# Last Updated : April 4, 2008

#

# Purpose: This script provides an example of Ethernet Automatic Protection

#     Switching (EAPS) for an ExtremeXOS™ switch. In this example:

#

#      1. An EAPS domain is created and assigned a name

#      2. EAPS is configured for the switch

#      3. EAPS control VLAN is configured

#      4. EAPS control VLAN is added to EAPS domain

#      5. Optionally, EAPS protected VLAN is configured and added to EAPS domain

#      6. Optionally, EAPS is enabled (switch and domain)

#

# Note:  The EAPS domain name must begin with an alpha.

#

#############################################################################

#@DetailDescriptionEnd

#############################################################################

# EAPS Variable Definitions

#############################################################################

 

# @VariableFieldLabel «If this script encounters errors, do you wish to abort or ignore?»

set var clierrormode abort

# @VariableFieldLabel «Create a new EAPS Ring? (yes or no, switch must be part of EAPS)»

set var yneaps yes

# @VariableFieldLabel «Will this switch be a master or transit? (master or transit)»

set var eapsMT master

# @VariableFieldLabel «Name of EAPS domain»

set var eapsdomain e1-domain

# @VariableFieldLabel «EAPS Primary port number»

set var eapsprimary 23

# @VariableFieldLabel «EAPS Secondary port number»

set var eapssecondary 24

# @VariableFieldLabel «Name of EAPS control VLAN»

set var eapscontrol ecvlan

# @VariableFieldLabel «Tag for EAPS control VLAN»

set var eapscontroltag 4000

# @VariableFieldLabel «Add the VLAN you are connected to currently? (yes or no)»

set var yneapscurrent yes

# @VariableFieldLabel «Name of VLAN you are on now?»

set var eapscurrent default

# @VariableFieldLabel «Enable EAPS on the Switch? (yes or no)»

set var yneapsenable yes

# @MetaDataEnd

#############################################################################

# Create an EAPS Domain and Add Control and Protected VLANs to the EAPS Domain

#############################################################################

 

if (!$match($clierrormode,ignore)) then

 configure cli mode scripting ignore-error

 create log entry «CLI mode set for Ignore on Error»

else

 configure cli mode scripting abort-on-error

 create log entry «CLI mode set for Abort on Error»

endif

 

if (!$match($yneaps,yes)) then

 create log entry «Starting EAPS Configuration on Switch»

 configure eaps config-warnings off

 create eaps $eapsdomain

 configure eaps $eapsdomain mode $eapsMT

 configure eaps $eapsdomain primary port $eapsprimary

 configure eaps $eapsdomain secondary port $eapssecondary

 create vlan $eapscontrol

 configure vlan $eapscontrol qosprofile qp8

 configure vlan $eapscontrol tag $eapscontroltag

 configure vlan $eapscontrol add port $eapsprimary tagged

 configure vlan $eapscontrol add port $eapssecondary tagged

 configure $eapsdomain add control $eapscontrol

 create log entry «Finished EAPS Configuration on Switch»

endif

 

if (!$match($yneapscurrent,yes)) then

 configure vlan $eapscurrent add port $eapsprimary tagged

 configure vlan $eapscurrent add port $eapssecondary tagged

 configure $eapsdomain add protect $eapscurrent

 create log entry «Default VLAN added to EAPS domain»

endif

 

if (!$match($yneapsenable,yes)) then

 enable eaps

 enable eaps $eapsdomain

 create log entry «EAPS Enabled on Switch»

endif