X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftraffic_scripts%2Fipv6_sweep_ping.py;h=da14c5d8ad476441151413326a0c1578edbdbf2f;hp=2282f40f78398efe5e41a30fffa8f3ae3fa07ad6;hb=c478afc5aec0161cc66e837c1ab919542b68ebbc;hpb=33499c81c94c2d3baef9d3e9f061cd76ef86fa74 diff --git a/resources/traffic_scripts/ipv6_sweep_ping.py b/resources/traffic_scripts/ipv6_sweep_ping.py index 2282f40f78..da14c5d8ad 100755 --- a/resources/traffic_scripts/ipv6_sweep_ping.py +++ b/resources/traffic_scripts/ipv6_sweep_ping.py @@ -19,7 +19,8 @@ import sys import logging import os logging.getLogger("scapy.runtime").setLevel(logging.ERROR) -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue +from resources.libraries.python.PacketVerifier import RxQueue, TxQueue,\ + checksum_equal from resources.libraries.python.TrafficScriptArg import TrafficScriptArg from scapy.layers.inet6 import IPv6, ICMPv6ND_NA, ICMPv6NDOptDstLLAddr from scapy.layers.inet6 import ICMPv6EchoRequest, ICMPv6EchoReply @@ -58,7 +59,7 @@ def main(): # send ICMPv6 echo request with incremented data length and receive ICMPv6 # echo reply - for echo_seq in range(start_size, end_size, step): + for echo_seq in range(start_size, end_size+1, step): pkt_send = (Ether(src=src_mac, dst=dst_mac) / IPv6(src=src_ip, dst=dst_ip) / ICMPv6EchoRequest(id=echo_id, seq=echo_seq, @@ -68,12 +69,10 @@ def main(): ether = rxq.recv(ignore=sent_packets) if ether is None: - rxq._proc.terminate() raise RuntimeError( 'ICMPv6 echo reply seq {0} Rx timeout'.format(echo_seq)) if not ether.haslayer(IPv6): - rxq._proc.terminate() raise RuntimeError( 'Unexpected packet with no IPv6 received {0}'.format( ether.__repr__())) @@ -81,7 +80,6 @@ def main(): ipv6 = ether['IPv6'] if not ipv6.haslayer(ICMPv6EchoReply): - rxq._proc.terminate() raise RuntimeError( 'Unexpected packet with no IPv6 ICMP received {0}'.format( ipv6.__repr__())) @@ -89,21 +87,18 @@ def main(): icmpv6 = ipv6['ICMPv6 Echo Reply'] if icmpv6.id != echo_id or icmpv6.seq != echo_seq: - rxq._proc.terminate() raise RuntimeError( - 'Invalid ICMPv6 echo reply received ID {0} seq {1} should be ' + + 'Invalid ICMPv6 echo reply received ID {0} seq {1} should be ' \ 'ID {2} seq {3}, {0}'.format(icmpv6.id, icmpv6.seq, echo_id, echo_seq)) cksum = icmpv6.cksum del icmpv6.cksum tmp = ICMPv6EchoReply(str(icmpv6)) - if tmp.cksum != cksum: - rxq._proc.terminate() + if not checksum_equal(tmp.cksum, cksum): raise RuntimeError( 'Invalid checksum {0} should be {1}'.format(cksum, tmp.cksum)) - rxq._proc.terminate() sys.exit(0) if __name__ == "__main__":