Topo:

# $language = "Python"

# $interface = "1.0"
# Author:Bing Song
# Date:6/21/2017
# icos_loopbackmodules_vlan_configuration
# Usage:You can edit "start_port_number","stop_port_number" and "star_vlan_number" according to actaul case.
#for exmaple:port1-port48,vlan number starts from 100.like this 100,101,102....
def main():
#设置起始和结束端口号
start_port_number=1
stop_port_number=48
port_number=int(stop_port_number)-int(start_port_number)+1
#设置VLAN起始编号
start_vlan_number=100
end_vlan_number=int(start_vlan_number)+int(port_number)
#生成vlan列表
vlan_list=[]
for i in range(start_vlan_number,end_vlan_number):
vlan_list.append(i)
#生成端口号列表
port_list=[]
for i in range (int(start_port_number),int(stop_port_number)+1):
port_list.append(i)
#crt.Screen.Send("enable"+ chr(13))
#vlan的创建,关闭生成树协议
crt.Screen.Send("vlan database"+ chr(13))
crt.Screen.Send("vlan" +chr(32)+str(start_vlan_number)+"-"+str(end_vlan_number)+ chr(13))
crt.Screen.Send("exit"+ chr(13))
crt.Screen.Send("configure"+ chr(13))
crt.Screen.Send("no spanning-tree"+ chr(13))
crt.Screen.Send("no isdp run"+ chr(13))
#首端口vlan配置
crt.Screen.Send("interface 0/"+str(port_list[0])+ chr(13))
crt.Screen.Send("vlan pvid"+ chr(32)+str(vlan_list[0])+ chr(13))
crt.Screen.Send("vlan participation exclude 1"+ chr(13))
crt.Screen.Send("vlan participation include" + chr(32)+str(vlan_list[0])+","+str(vlan_list[-1])+ chr(13))
crt.Screen.Send("exit"+ chr(13))
#其他port和vlan配置
for i,j in zip(range(1,port_number,+1),range(0,len(vlan_list),+1)):
try:
crt.Screen.Send("interface 0/"+str(port_list[i])+ chr(13))
crt.Screen.Send("vlan pvid" + chr(32)+str(vlan_list[j+1])+ chr(13))
crt.Screen.Send("vlan participation exclude 1"+ chr(13))
crt.Screen.Send("vlan participation include" + chr(32)+str(vlan_list[j])+","+str(vlan_list[j+1])+ chr(13))
crt.Screen.Send("exit"+ chr(13))
except IndexError:
pass

main()

最新文章

  1. .NET开发之快捷键篇
  2. REDHAT一总复习1 vim编辑器的使用 删除所有者列 删除指定行
  3. JavaScript模板引擎artTemplate.js——如何引入模板引擎?
  4. easyui datagrid 跨页选择
  5. SharePoint 2013 搜索体系结构
  6. PLSQL_数据泵定参数批量导入多表Expdp/Impdp Parfile(案例)
  7. jqmobi 的一些設置
  8. Keep the Customer Satisfied
  9. 高放的c++学习笔记之重载运算与类型转换
  10. DLL编写教程(绝对经典之作)
  11. 深入理解C指针之五:指针和字符串
  12. linux/windows平台生成随机数的不同方法
  13. 为UIView添加分类直接改或获取控件的frame值
  14. java集合系列——Map之HashMap介绍(八)
  15. java线程之创建线程类
  16. NopCommerce是什么(转自CNSD)
  17. iftop命令使用范例
  18. SQL Server 性能优化实战系列(一)
  19. python redis模块详解
  20. 如何使用Beyond Compare 对比差异文件【制作Patch(补丁包)文件】

热门文章

  1. 506,display有哪些值?说明他们的作用
  2. 转载:AAC编解码概述
  3. html input file 设置文件类型
  4. CentOS7安装jdk教程
  5. web应用程序上传文件 超过了最大请求长度
  6. 2016 Google code jam 大赛
  7. Bugku-CTF加密篇之这不是md5(666c61677b616537333538376261353662616566357d)
  8. 多进程pipe
  9. 配置Nexus Tacacs管理
  10. oracle 多表查询,请教个问题