今天是记录的第一天。

早上: 调脚本。 

写了一个js脚本,删除配置的。 

原因:因为调脚本的时候,初始配置完,有可能只需要调试一个步骤,还没到恢复配置的时候。

 

  1. //DUT1的LDP FRR删除配置  
  2.   
  3. var dut;  
  4. var i;  
  5.   dut = 4;  
  6. switch (dut) {  
  7. case 1:  
  8.      var intf = "gi0/2";  
  9.      var intf1 = "gi0/1", intf2 = "gi0/2" ,intf3 = "gi1/1" ,intf4 = "gi1/0";  
  10.      crt.Screen.Send("int gi0/1 \r\n");  
  11.      crt.Screen.Send("no mpls ldp frr \r\n");  
  12.      crt.Screen.Send("exit\r\n"+"no router ospf 1\r\n"+"no mpls router ldp\r\n"+"no mpls ip\r\n");  
  13.      crt.Screen.Send("no ip access-list extended permit10\r\n");  
  14.      for (i = 30; i<= 40; i++) {  
  15.      crt.Screen.Send("no int "+intf+"."+i+"\r\n");  
  16.      }  
  17.       
  18.     crt.Screen.Send("no int "+intf+"."+14+"\r\n");  
  19.     crt.Screen.Send("no int "+intf+"."+20+"\r\n");  
  20.     crt.Screen.Send("no int "+intf+"."+10+"\r\n");  
  21.     crt.Screen.Send("no int "+"loopback0"+"\r\n");  
  22.  
  23.     crt.Screen.Send("default int "+intf1+"\r\n");  
  24.     crt.Screen.Send("default int "+intf2+"\r\n");  
  25.     crt.Screen.Send("default int "+intf3+"\r\n");  
  26.     crt.Screen.Send("default int "+intf4+"\r\n");  
  27.     break;  
  28.       
  29. case 2:  
  30.     crt.Screen.Send("no mpls ip\r\n");  
  31.     crt.Screen.Send("no router ospf 1\r\n"+"no mpls router ldp\r\n");  
  32.     crt.Screen.Send("no int loopback0\r\n");  
  33.     crt.Screen.Send("default int gi0/0\r\n");  
  34.     crt.Screen.Send("default int gi0/1\r\n");  
  35.     break;  
  36.  
  37. case 3:  
  38.     crt.Screen.Send("no mpls ip\r\n");  
  39.     crt.Screen.Send("no router ospf 1\r\n"+"no mpls router ldp\r\n");  
  40.     crt.Screen.Send("no int loopback0\r\n");  
  41.     crt.Screen.Send("default int gi2/1\r\n");  
  42.     crt.Screen.Send("default int gi2/2\r\n");  
  43.     break;  
  44.  
  45. case 4:  
  46.     crt.Screen.Send("no mpls ip\r\n");  
  47.     crt.Screen.Send("no router ospf 1\r\n"+"no mpls router ldp\r\n");  
  48.     crt.Screen.Send("no int loopback0\r\n");  
  49.     crt.Screen.Send("default int gi4/1\r\n");  
  50.     crt.Screen.Send("default int gi4/2\r\n");  
  51.     crt.Screen.Send("default int gi4/3\r\n");  
  52.     crt.Screen.Send("default int gi4/4\r\n");  
  53.     for (i = 30; i<= 40; i++) {  
  54.     crt.Screen.Send("no int vlan"+i+"\r\n");  
  55.     crt.Screen.Send("no vlan "+i+"\r\n");  
  56.     }  
  57.     crt.Screen.Send("no int vlan 10\r\n"+"no int vlan 20\r\n"+"no int vlan 14\r\n");  
  58.     crt.Screen.Send("no vlan 10\r\n"+"no vlan 20\r\n"+"no vlan 14\r\n"+"no vlan 41\r\n");  
  59.     break;  
  60.      
  61. default:  
  62.     crt.Screen.Send("show run\r\n");  
  63.     break;  
  64.    }  
  65.    

下午: 调脚本。 (发包函数一直出问题)

4:00 - 6:00 培训  (新的IOS,实时操作系统-)

内核仅完成: 进程调度,进程通信,底层网络通信,中断处理。

主要内容: 使用微内核, 测试的重点是模块之间调用的接口问题。

考虑: 时间,效率,硬件资源,CPU。

晚上:7:00 -8:00 考试

考试发现一个常见的问题不会答,需要反省。

bug分为:必现,尝试但未重现,有时重现,未尝试重现。

晚上继续完成一个配置的脚本:

 

  1.  
  2. //DUT1的LDP FRR的配置  
  3.  
  4.  
  5. var dut;  
  6. var i;  
  7. var acl;  
  8. pri = 0;  
  9.  
  10. switch (pri) {  
  11. case 0:  
  12.     var intf = "gi0/1";  
  13.     var intf1 = "gi0/2",intf2 = "gi1/1",intf3 = "gi1/0";  
  14.     crt.Screen.Send("int gi0/1 \r\n");  
  15.     if (acl = 0) {  
  16.         for (i = 30; i <= 39; i++ ) {  
  17.             j = i+1;  
  18.             crt.Screen.Send("mpls ldp frr nexthop i+"."+i+"."+i+"."+j+"\r\n");  
  19.     } else {  
  20.         for (i = 30; i <= 39; i++) {  
  21.             j = i+1;  
  22.             crt.Screen.Send("mpls ldp frr nexthop"+i+"."+i+"."+i+"."+j+"acl permit10"+"\r\n");  
  23.        }  
  24.        crt.Screen.Send("ip access-list extended permit10 \r\n");  
  25.     }  
  26.     break;  
  27.       
  28. case 1:  
  29.     var intf = "gi0/1";  
  30.     var intf1 = "gi0/2",intf2 = "gi1/1",intf3 = "gi1/0";  
  31.     crt.Screen.Send("int gi0/1 \r\n");  
  32.     if (acl = 0) {  
  33.         for (i = 30; i <= 39; i++ ) {  
  34.             j = i+1;  
  35.             crt.Screen.Send("mpls ldp frr nexthop"+i+"."+i+"."+i+"."+j+"priority"+"101"+"\r\n");  
  36.     } else {  
  37.         for (i = 30; i <= 39; i++) {  
  38.             j = i+1;  
  39.             crt.Screen.Send("mpls ldp frr nexthop"+i+"."+i+"."+i+"."+j+"priority"+"101"+"acl permit10"+"\r\n");  
  40.        }  
  41.        crt.Screen.Send("ip access-list extended permit10 \r\n");  
  42.     }  
  43.     break;  
  44.      
  45. default:  
  46.     crt.Screen.Send("show run\r\n");  
  47.     break;  
  48.    }  

 最后总结:

今天还是在一个脚本上卡很久。 决定先放弃发包函数的调试,先调其他的。