Topo:

# $language = "Python"

# $interface = "1.0"
# Author:Bing
# Date:6/21/2017
# icos_port-to-port_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 200.like this 200,201,202....
def main():
#设置起始端口号
start_port_number=1
#设置结束端口号
stop_port_number=48
port_number=int(stop_port_number)-int(start_port_number)+1
#设置vlan的起始编号,默认是100,可以根据需要设置为数字2-4094内,任意一个
star_vlan_number=200
end_vlan_number=int(star_vlan_number)+int(port_number/2)
#生成vlan list
vlan_list=[]
for i in range(star_vlan_number,end_vlan_number):
vlan_list.append(i)
#生成偶数端口list
oushu=[]
oushu=[i+1 for i in range (int(start_port_number),int(stop_port_number),2)]
#生成奇数端口list
jishu=[]
for i in range (int(start_port_number),int(stop_port_number),2):
jishu.append(i)
#生成奇数和偶数vlan list
jishu_vlan_list=[]
oushu_vlan_list=[]
for i in range (star_vlan_number,end_vlan_number):
if i%2==0:
oushu_vlan_list.append(i)
else:
jishu_vlan_list.append(i)
#vlan的创建及首尾端口vlan配置
crt.Screen.Send("vlan database" + chr(13))
crt.Screen.Send("interface 0/"+str(oushu[0])+",""0/"+str(oushu[-1]) + chr(13))
crt.Screen.Send("vlan pvid"+chr(32)+str(oushu_vlan_list[-1]) + chr(13))
crt.Screen.Send("vlan participation exclude 1" + chr(13))
crt.Screen.Send("vlan participation include"+chr(32)+str(oushu_vlan_list[-1]) + chr(13))
crt.Screen.Send("exit" + chr(13))
#奇数vlan
for i,j in zip(range(0,port_number,+2),range(0,len(jishu_vlan_list),1)):

crt.Screen.Send("interface 0/"+str(jishu[i])+",""0/"+str(jishu[i+1]) + chr(13))
crt.Screen.Send("vlan pvid"+chr(32)+str(jishu_vlan_list[j]) + chr(13))
crt.Screen.Send("vlan participation exclude 1" + chr(13))
crt.Screen.Send("vlan participation include"+chr(32)+str(jishu_vlan_list[j]) + chr(13))
#偶数vlan
for i,j, in zip(range(1,port_number,+2),range(0,len(oushu_vlan_list),+1)):
try:
crt.Screen.Send("interface 0/"+str(oushu[i])+",""0/"+str(oushu[i+1]) + chr(13))
crt.Screen.Send("vlan pvid"+chr(32)+str(oushu_vlan_list[j]) + chr(13))
crt.Screen.Send("vlan participation exclude 1" + chr(13))
crt.Screen.Send("vlan participation include"+chr(32)+str(oushu_vlan_list[j]) + chr(13))
except IndexError:
pass
main()

最新文章

  1. 用.net在画出镂空图片
  2. Morris.js和flot绘制折线图的比较
  3. pagerank
  4. PCL点云库:Kd树
  5. General Motors China
  6. mysql数据库delete数据时不支持表别名
  7. apktool重打包签名后安装出现“Failure [INSTALL_FAILED_ALREADY_EXISTS]”
  8. ZOJ 2745 01-K Code(DP)(转)
  9. ASP.NET-FineUI开发实践-16(一)
  10. ObjectContext
  11. 你想建设一个能承受500万PV/每天的网站吗?如果计算呢?(转)
  12. push控制器 卡顿
  13. apache: apache-tomcat-6.0.35完整下载
  14. [Machine Learning]学习笔记-Logistic Regression
  15. Python——SQLite
  16. JVM学习02:GC垃圾回收和内存分配
  17. 【原创】jssh linux scp ssh 免密登录开源工具
  18. js里获取页面高度和文档高度
  19. 【JMeter】【性能测试】参数化,内存溢出问题
  20. 微信公众号使用LocalStorage解决返回缓存问题

热门文章

  1. Yii2手动安装第三方扩展
  2. 【Python】字符串(String)
  3. weinre 真机调试
  4. Python中,关于调用带参函数,一些需要注意的问题(监听时)
  5. idea项目更改git地址
  6. 一张linux光盘查看是哪个版本号的方法
  7. flex一行显示两列(CSS)
  8. 吴裕雄 python 神经网络——TensorFlow实现搭建基础神经网络
  9. 定位布局 Stack 层叠组件 Stack 与 Align Stack 与 Positioned 实现
  10. react组件之间传值方式