# Create empty ip ICMP packet and add padding before sending
pkt_raw = Ether(src=src_mac, dst=dst_mac) / \
- IP(src=src_ip, dst=dst_ip) / \
- ICMP()
+ IP(src=src_ip, dst=dst_ip) / \
+ ICMP()
# Send created packet on one interface and receive on the other
sent_packets.append(pkt_raw)
txq.send(pkt_raw)
- ether = rxq.recv(1)
+ ether = rxq.recv(2)
# Check whether received packet contains layers Ether, IP and ICMP
if ether is None:
- rxq._proc.terminate()
- raise RuntimeError('ICMPv6 echo reply Rx timeout')
+ raise RuntimeError('ICMP echo Rx timeout')
if not ether.haslayer(IP):
- rxq._proc.terminate()
raise RuntimeError(
'Not an IP packet received {0}'.format(ether.__repr__()))
if not ether.haslayer(ICMP):
- rxq._proc.terminate()
raise RuntimeError(
'Not an ICMP packet received {0}'.format(ether.__repr__()))
- rxq._proc.terminate()
sys.exit(0)
if __name__ == "__main__":