diff options
author | pmikus <pmikus@cisco.com> | 2021-06-14 08:15:25 +0000 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2021-06-14 09:27:09 +0000 |
commit | b67b82c15d7d0da402df180b0aaab3daa4cfc76c (patch) | |
tree | 307c3481f5c026871fd38cbb03f682125a7db27e /GPL/traffic_scripts/nat.py | |
parent | a4ba3f4e9d2124050502b8dc5c53acbdebd39e11 (diff) |
FIX: vpp_device ignore packets list
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: Ifda8fcb102661e7c585bc5fe3a16113ae629d516
Diffstat (limited to 'GPL/traffic_scripts/nat.py')
-rw-r--r-- | GPL/traffic_scripts/nat.py | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/GPL/traffic_scripts/nat.py b/GPL/traffic_scripts/nat.py index 43715fb383..994157ae81 100644 --- a/GPL/traffic_scripts/nat.py +++ b/GPL/traffic_scripts/nat.py @@ -30,7 +30,7 @@ import sys import ipaddress from scapy.layers.inet import IP, TCP, UDP -from scapy.layers.inet6 import IPv6, ICMPv6ND_NS, ICMPv6MLReport2 +from scapy.layers.inet6 import IPv6, ICMPv6ND_NS, ICMPv6MLReport2, ICMPv6ND_RA from scapy.layers.l2 import Ether from scapy.packet import Raw @@ -136,9 +136,16 @@ def main(): if ether.haslayer(ICMPv6ND_NS): # read another packet in the queue if the current one is ICMPv6ND_NS continue - else: - # otherwise process the current packet - break + elif ether.haslayer(ICMPv6MLReport2): + # read another packet in the queue if the current one is + # ICMPv6MLReport2 + continue + elif ether.haslayer(ICMPv6ND_RA): + # read another packet in the queue if the current one is + # ICMPv6ND_RA + continue + + break if rx_dst_mac != ether[Ether].dst or rx_src_mac != ether[Ether].src: raise RuntimeError(f"Matching packet unsuccessful: {ether!r}") @@ -202,9 +209,12 @@ def main(): # read another packet in the queue if the current one is # ICMPv6MLReport2 continue - else: - # otherwise process the current packet - break + elif ether.haslayer(ICMPv6ND_RA): + # read another packet in the queue if the current one is + # ICMPv6ND_RA + continue + + break if ether[Ether].dst != tx_src_mac or ether[Ether].src != tx_dst_mac: raise RuntimeError(f"Matching packet unsuccessful: {ether!r}") |