ipsec: add missing ipv6 ah code & ipv6 tests
[vpp.git] / test / util.py
index 1044aa8..d8ecf27 100644 (file)
@@ -4,13 +4,14 @@ import socket
 import sys
 from abc import abstractmethod, ABCMeta
 from cStringIO import StringIO
-from scapy.layers.inet6 import in6_mactoifaceid
+from scapy.utils6 import in6_mactoifaceid
 
 from scapy.layers.l2 import Ether
 from scapy.packet import Raw
 from scapy.layers.inet import IP
 from scapy.layers.inet6 import IPv6, IPv6ExtHdrFragment, IPv6ExtHdrRouting,\
     IPv6ExtHdrHopByHop
+from scapy.utils import hexdump
 from socket import AF_INET6
 
 
@@ -20,6 +21,8 @@ def ppp(headline, packet):
     old_stdout = sys.stdout
     sys.stdout = o
     print(headline)
+    hexdump(packet)
+    print("")
     packet.show()
     sys.stdout = old_stdout
     return o.getvalue()
@@ -70,6 +73,21 @@ def ip6_normalize(ip6):
                             socket.inet_pton(socket.AF_INET6, ip6))
 
 
+def check_core_path(logger, core_path):
+    with open("/proc/sys/kernel/core_pattern", "r") as f:
+        corefmt = f.read()
+        if corefmt.startswith("|"):
+            logger.error(
+                "WARNING: redirecting the core dump through a"
+                " filter may result in truncated dumps.")
+            logger.error(
+                "   You may want to check the filter settings"
+                " or uninstall it and edit the"
+                " /proc/sys/kernel/core_pattern accordingly.")
+            logger.error(
+                "   current core pattern is: %s" % corefmt)
+
+
 class NumericConstant(object):
     __metaclass__ = ABCMeta