aboutsummaryrefslogtreecommitdiffstats
path: root/GPL/traffic_scripts/geneve_tunnel.py
diff options
context:
space:
mode:
Diffstat (limited to 'GPL/traffic_scripts/geneve_tunnel.py')
-rw-r--r--GPL/traffic_scripts/geneve_tunnel.py29
1 files changed, 22 insertions, 7 deletions
diff --git a/GPL/traffic_scripts/geneve_tunnel.py b/GPL/traffic_scripts/geneve_tunnel.py
index 3dd40b6a3a..be9502c2d4 100644
--- a/GPL/traffic_scripts/geneve_tunnel.py
+++ b/GPL/traffic_scripts/geneve_tunnel.py
@@ -30,7 +30,7 @@ import sys
from ipaddress import ip_address
from scapy.contrib.geneve import GENEVE
from scapy.layers.inet import IP, UDP
-from scapy.layers.inet6 import IPv6, ICMPv6ND_NS
+from scapy.layers.inet6 import IPv6, ICMPv6ND_NS, ICMPv6MLReport2, ICMPv6ND_RA
from scapy.layers.l2 import Ether
from scapy.packet import Raw
@@ -280,9 +280,17 @@ def main():
if rx_pkt_recv.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 rx_pkt_recv.haslayer(ICMPv6MLReport2):
+ # read another packet in the queue if the current one is
+ # ICMPv6MLReport2
+ continue
+ elif rx_pkt_recv.haslayer(ICMPv6ND_RA):
+ # read another packet in the queue if the current one is
+ # ICMPv6ND_RA
+ continue
+
+ # otherwise process the current packet
+ break
check_geneve(
rx_pkt_recv, ip_layer, rx_src_mac, rx_dst_mac, geneve_tunnel_mac,
@@ -333,9 +341,16 @@ def main():
if tx_pkt_recv.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 tx_pkt_recv.haslayer(ICMPv6MLReport2):
+ # read another packet in the queue if the current one is
+ # ICMPv6MLReport2
+ continue
+ elif tx_pkt_recv.haslayer(ICMPv6ND_RA):
+ # read another packet in the queue if the current one is
+ # ICMPv6ND_RA
+ continue
+
+ break
check_ip(
tx_pkt_recv, ip_layer, tx_dst_mac, tx_src_mac, str(dst_ip), str(src_ip)