test_unh1.py
来自「xorp源码hg」· Python 代码 · 共 936 行 · 第 1/2 页
PY
936 行
delay(10) coord("peer1 assert queue 0") coord("peer2 assert queue 0") coord("peer3 assert queue 0") coord("peer1 assert established") coord("peer2 assert established") coord("peer3 assert established") return Truedef test1_15_B(): """ ATOMIC_AGGREGATE Attribute """ coord("reset") coord("target 127.0.0.1 10001") coord("initialise attach peer1") coord("target 127.0.0.1 10002") coord("initialise attach peer2") coord("target 127.0.0.1 10003") coord("initialise attach peer3") delay(2) coord("peer1 establish AS 1 holdtime 0 id 10.0.0.1 keepalive false") coord("peer2 establish AS 2 holdtime 0 id 10.0.0.2 keepalive false") coord("peer3 establish AS 4 holdtime 0 id 10.0.0.3 keepalive false") packet1 = "packet update \ nexthop 127.0.0.2 \ origin 0 \ aspath %s \ med 0 \ nlri 192.0.0.0/8" packet2 = "packet update \ nexthop 127.0.0.2 \ origin 0 \ aspath %s \ med 0 \ nlri 192.1.0.0/16" spacket1 = packet1 % "1" spacket2 = packet2 % "2" # # XXX # This test is not complete the expect packets should check for: # Atomic Aggregate Attribute and Aggregator Attribute AS/3 10.0.0.1 ## epacket1 = packet1 % "3,1"# epacket2 = packet2 % "3,2"# coord("peer1 expect %s" % epacket2)# coord("peer2 expect %s" % epacket1)# coord("peer3 expect %s" % epacket1)# coord("peer3 expect %s" % epacket2) coord("peer1 send %s" % spacket1) coord("peer2 send %s" % spacket2) delay(10) coord("peer1 trie recv lookup 192.1.0.0/8 aspath 3") coord("peer1 trie recv lookup 192.1.0.0/16 not") coord("peer2 trie recv lookup 192.1.0.0/8 aspath 3") coord("peer2 trie recv lookup 192.1.0.0/16 not") coord("peer3 trie recv lookup 192.1.0.0/8 aspath 3") coord("peer3 trie recv lookup 192.1.0.0/16 not")# coord("peer1 assert queue 0")# coord("peer2 assert queue 0")# coord("peer3 assert queue 0") coord("peer1 assert established") coord("peer2 assert established") coord("peer3 assert established") return Truedef test3_8_A(): """ To verify that correct handling of NLRI field errors in UPDATE messages """ print "Manual checks" print "1) Verify that the multicast NLRI generated an error message" print "2) Verify the route has not been installed" # configure the test peering. coord("reset") coord("target 127.0.0.1 10001") coord("initialise attach peer1") coord("peer1 establish AS 65001 holdtime 0 id 1.2.3.4 keepalive false") delay(2) coord("peer1 assert established"); bad_packet = "packet update \ origin 0 \ aspath 65001 \ nexthop 127.0.0.1 \ nlri 172.16.0.0/16 \ nlri 224.0.0.5/16" coord("peer1 send %s" % bad_packet) delay(10) coord("peer1 assert established") return Truedef test4_6_A(): """ Verify that the NO_EXPORT community can be set on a redistributed route """ coord("reset") coord("target 127.0.0.1 10001") coord("initialise attach peer1") coord("target 127.0.0.1 10002") coord("initialise attach peer2") coord("peer1 establish AS 65001 holdtime 0 id 10.0.0.1 keepalive false") coord("peer2 establish AS 65002 holdtime 0 id 10.0.0.2 keepalive false") delay(2) coord("peer1 assert established"); coord("peer2 assert established"); delay(2) packet = "packet update \ nexthop 127.0.0.1 \ origin 0 \ aspath 65000 \ med 0 \ nlri 172.16.0.0/16 \ community NO_EXPORT" coord("peer1 expect %s" % packet) coord("peer2 expect %s" % packet) if not config.conf_add_static_route4(builddir(1), "172.16.0.0/16"): return False delay(10) coord("peer1 assert established") coord("peer2 assert established") coord("peer1 assert queue 0") coord("peer2 assert queue 0") return Truedef test4_8_A(): """ Verify correct operation of the multiprotocol extension """ coord("reset") coord("target 127.0.0.1 10001") coord("initialise attach peer1") coord("peer1 establish AS 1 holdtime 0 id 10.0.0.1 keepalive false") delay(2) coord("peer1 assert established"); delay(2)# packet = "packet update \# nexthop 127.0.0.1 \# origin 0 \# aspath 65000 \# med 0 \# nlri 172.16.0.0/16 \# community NO_EXPORT"# coord("peer1 expect %s" % packet) if not config.conf_add_static_route4(builddir(1), "16.0.0.0/4"): return False delay(10) coord("peer1 assert established") coord("peer1 assert queue 0") return Truedef test4_11_A(): """ Test route flap damping """ coord("reset") coord("target 127.0.0.1 10001") coord("initialise attach peer1") coord("target 127.0.0.1 10002") coord("initialise attach peer2") coord("target 127.0.0.1 10003") coord("initialise attach peer3") coord("peer1 establish AS 1 holdtime 0 id 10.0.0.1 keepalive false") coord("peer2 establish AS 1 holdtime 0 id 10.0.0.2 keepalive false") coord("peer3 establish AS 3 holdtime 0 id 10.0.0.3 keepalive false") delay(2) coord("peer1 assert established"); coord("peer2 assert established"); coord("peer3 assert established"); delay(2) packet = "packet update \ nexthop %s \ origin 0 \ aspath %s \ med 0 \ nlri 192.1.0.0/16" spacket = packet % ("127.0.0.2", "1") # The nexthop is not re-written as it is on a common subnet. epacket = packet % ("127.0.0.2", "2,1") coord("peer1 expect %s" % epacket) coord("peer2 expect %s" % epacket) coord("peer3 expect %s" % epacket) delay(2) coord("peer1 send %s" % spacket) delay(10) coord("peer1 assert established") coord("peer2 assert established") coord("peer3 assert established") coord("peer1 assert queue 1") coord("peer2 assert queue 1") coord("peer3 assert queue 0") return Truedef test4_11_BCD(): """ Test route flap damping """ coord("reset") coord("target 127.0.0.1 10001") coord("initialise attach peer1") coord("target 127.0.0.1 10002") coord("initialise attach peer2") coord("target 127.0.0.1 10003") coord("initialise attach peer3") coord("peer1 establish AS 1 holdtime 0 id 10.0.0.1 keepalive false") coord("peer2 establish AS 1 holdtime 0 id 10.0.0.2 keepalive false") coord("peer3 establish AS 3 holdtime 0 id 10.0.0.3 keepalive false") delay(2) coord("peer1 assert established"); coord("peer2 assert established"); coord("peer3 assert established"); delay(2) packet = "packet update \ nexthop %s \ origin 0 \ aspath %s \ med 0 \ nlri 192.1.0.0/16" spacket = packet % ("127.0.0.3", "1") # The nexthop is not re-written as it is on a common subnet. epacket2 = packet % ("127.0.0.2", "2,1") epacket3 = packet % ("127.0.0.3", "2,1") coord("peer1 expect %s" % epacket3) coord("peer2 expect %s" % epacket3) coord("peer3 expect %s" % epacket3) delay(2) # 9. TR2 Sends an update message with a route of 192.1.0.0/16 ... coord("peer2 send %s" % spacket) coord("peer1 assert established") coord("peer2 assert established") coord("peer3 assert established") coord("peer1 assert queue 1") coord("peer2 assert queue 1") coord("peer3 assert queue 0") spacket = packet % ("127.0.0.2", "1") coord("peer3 expect %s" % epacket2) coord("peer3 expect %s" % epacket3) coord("peer3 expect %s" % epacket2) coord("peer3 expect %s" % epacket3) delay(2) # Flap the route from peer1 spacket = packet % ("127.0.0.2", "1") coord("peer1 send %s" % spacket) coord("peer1 send packet update withdraw 192.1.0.0/16") coord("peer1 send %s" % spacket) coord("peer1 send packet update withdraw 192.1.0.0/16") delay(2) coord("peer1 assert established") coord("peer2 assert established") coord("peer3 assert established") coord("peer1 assert queue 1") coord("peer2 assert queue 1") coord("peer3 assert queue 0") # Part C coord("peer1 send %s" % spacket) coord("peer1 send packet update withdraw 192.1.0.0/16") coord("peer1 send %s" % spacket)# coord("peer1 send packet update withdraw 192.1.0.0/16") # Part D delay(10) # The release of the damped packet. coord("peer3 expect %s" % epacket2) sleep = 5 * 60 print 'Sleeping for %d seconds, waiting for damped route' % sleep delay(sleep) # Make sure that at the end of the test all the connections still exist. coord("peer1 assert established") coord("peer2 assert established") coord("peer3 assert established") coord("peer1 assert queue 1") coord("peer2 assert queue 1") coord("peer3 assert queue 0") return Truedef test4_12(): """ Test route flap damping """ coord("reset") coord("target 127.0.0.1 10001") coord("initialise attach peer1") coord("target 127.0.0.1 10002") coord("initialise attach peer2") coord("peer1 establish AS 1 holdtime 0 id 10.0.0.1 keepalive false") coord("peer2 establish AS 3 holdtime 0 id 10.0.0.2 keepalive false") delay(2) coord("peer1 assert established"); coord("peer2 assert established"); packet = "packet update \ nexthop %s \ origin 0 \ aspath %s \ med 0 \ nlri 192.1.0.0/16" spacket1 = packet % ("127.0.0.3", "1,12") spacket2 = packet % ("127.0.0.3", "1,14") # The nexthop is not re-written as it is on a common subnet. epacket1 = packet % ("127.0.0.3", "2,1,12") epacket2 = packet % ("127.0.0.3", "2,1,14") # This is a hack to test that no packets arrive on this peer. coord("peer1 expect %s" % spacket1) coord("peer2 expect %s" % epacket1) coord("peer2 expect %s" % epacket2) coord("peer2 send packet update withdraw 192.1.0.0/16") for i in range(5): coord("peer1 send %s" % spacket1) coord("peer1 send %s" % spacket2) delay(10) coord("peer1 assert established") coord("peer2 assert established") coord("peer1 assert queue 1") coord("peer2 assert queue 0") # The release of the damped packet. coord("peer2 expect %s" % epacket2) sleep = 5 * 60 print 'Sleeping for %d seconds, waiting for damped route' % sleep delay(sleep) # Make sure that at the end of the test all the connections still exist. coord("peer1 assert established") coord("peer2 assert established") coord("peer1 assert queue 1") coord("peer2 assert queue 0") return Truetest_main(TESTS, 'test_bgp_config', 'test_unh1')# Local Variables:# mode: python# py-indent-offset: 4# End:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?