GPON_4_QINQ 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. set timeout 20
  2. set IP [lindex $argv 0]
  3. set LOGIN [lindex $argv 1]
  4. set PASSWORD [lindex $argv 2]
  5. set METHOD [lindex $argv 3]
  6. set PON_INT [lindex $argv 4]
  7. set ONU_INT [lindex $argv 5]
  8. set ONU_NUM [lindex $argv 6]
  9. set VLAN [lindex $argv 7]
  10. set SVLAN [lindex $argv 8]
  11. set SN [lindex $argv 9]
  12. set DESCRIPTION [lindex $argv 10]
  13. set DHCPSNOOPING [lindex $argv 11]
  14. set LOOPDETECT [lindex $argv 12]
  15. set VPORT_INT [lindex $argv 13]
  16. if {[string match "TELNET" $METHOD]} {
  17. spawn telnet $IP
  18. expect "Username:*"
  19. send "$LOGIN\r"
  20. } elseif {[string match "SSH" $METHOD]} {
  21. spawn ssh $LOGIN@$IP
  22. expect {
  23. "(yes/no" {
  24. send "yes\r"
  25. }
  26. }
  27. }
  28. expect "Password:*"
  29. send "$PASSWORD\r"
  30. expect "*#"
  31. send "configure terminal\r"
  32. expect "*(config)#"
  33. send "interface $PON_INT\r"
  34. expect "*(config-if-$PON_INT)#"
  35. send "onu $ONU_NUM type 4ETH sn $SN\r"
  36. expect "*(config-if-$PON_INT)#"
  37. send "exit\r"
  38. expect "*(config)#"
  39. send "interface $ONU_INT:$ONU_NUM\r"
  40. if {![string match "__empty" $DESCRIPTION]} {
  41. expect "*(config-if-$ONU_INT:$ONU_NUM)#"
  42. send "description $DESCRIPTION\r"
  43. }
  44. expect "*(config-if-$ONU_INT:$ONU_NUM)#"
  45. send "tcont 1 profile unlim\r"
  46. expect "*(config-if-$ONU_INT:$ONU_NUM)#"
  47. send "gemport 1 name unlim tcont 1\r"
  48. expect "*(config-if-$ONU_INT:$ONU_NUM)#"
  49. send "exit\r"
  50. expect "*(config)#"
  51. send "interface $VPORT_INT.$ONU_NUM:1\r"
  52. expect "*(config-if-$VPORT_INT.$ONU_NUM:1)#"
  53. send "service-port 1 user-vlan $VLAN vlan $VLAN svlan $SVLAN\r"
  54. expect "*(config-if-$VPORT_INT.$ONU_NUM:1)#"
  55. send "exit\r"
  56. expect "*(config)#"
  57. send "pon-onu-mng $ONU_INT:$ONU_NUM\r"
  58. if {![string match "__empty" $LOOPDETECT]} {
  59. expect "*(config-gpon-onu-mng)#"
  60. send "loop-detect ethuni eth_0/1 enable\r"
  61. expect "*(config-gpon-onu-mng)#"
  62. send "loop-detect ethuni eth_0/2 enable\r"
  63. expect "*(config-gpon-onu-mng)#"
  64. send "loop-detect ethuni eth_0/3 enable\r"
  65. expect "*(config-gpon-onu-mng)#"
  66. send "loop-detect ethuni eth_0/4 enable\r"
  67. }
  68. expect "*(config-gpon-onu-mng)#"
  69. send "service 1 gemport 1 vlan $VLAN\r"
  70. expect "*(config-gpon-onu-mng)#"
  71. send "vlan port eth_0/1 mode tag vlan $VLAN\r"
  72. expect "*(config-gpon-onu-mng)#"
  73. send "vlan port eth_0/2 mode tag vlan $VLAN\r"
  74. expect "*(config-gpon-onu-mng)#"
  75. send "vlan port eth_0/3 mode tag vlan $VLAN\r"
  76. expect "*(config-gpon-onu-mng)#"
  77. send "vlan port eth_0/4 mode tag vlan $VLAN\r"
  78. expect "*(config-gpon-onu-mng)#"
  79. send "end\r"
  80. expect "*#"
  81. send "exit\r"