aboutsummaryrefslogtreecommitdiffstats
path: root/GPL/traffic_scripts/ipsec_policy.py
diff options
context:
space:
mode:
Diffstat (limited to 'GPL/traffic_scripts/ipsec_policy.py')
-rw-r--r--GPL/traffic_scripts/ipsec_policy.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/GPL/traffic_scripts/ipsec_policy.py b/GPL/traffic_scripts/ipsec_policy.py
index b0d4545114..413f36bceb 100644
--- a/GPL/traffic_scripts/ipsec_policy.py
+++ b/GPL/traffic_scripts/ipsec_policy.py
@@ -29,7 +29,7 @@ import sys
from ipaddress import ip_address
from scapy.layers.inet import IP
-from scapy.layers.inet6 import IPv6, ICMPv6ND_NS, ICMPv6MLReport2
+from scapy.layers.inet6 import IPv6, ICMPv6ND_NS, ICMPv6MLReport2, ICMPv6ND_RA
from scapy.layers.ipsec import SecurityAssociation, ESP
from scapy.layers.l2 import Ether
from scapy.packet import Raw
@@ -209,6 +209,10 @@ def main():
# 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
@@ -232,9 +236,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_ipsec(tx_pkt_recv, ip_layer, src_tun, dst_ip, src_ip, sa_in)