acl-plugin: reduce the syslog level for debug messages
[vpp.git] / test / util.py
index 512bf9e..d8ecf27 100644 (file)
@@ -4,13 +4,14 @@ import socket
 import sys
 from abc import abstractmethod, ABCMeta
 from cStringIO import StringIO
 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.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
 
 
 from socket import AF_INET6
 
 
@@ -20,6 +21,8 @@ def ppp(headline, packet):
     old_stdout = sys.stdout
     sys.stdout = o
     print(headline)
     old_stdout = sys.stdout
     sys.stdout = o
     print(headline)
+    hexdump(packet)
+    print("")
     packet.show()
     sys.stdout = old_stdout
     return o.getvalue()
     packet.show()
     sys.stdout = old_stdout
     return o.getvalue()
@@ -65,6 +68,26 @@ def mk_ll_addr(mac):
     return addr
 
 
     return addr
 
 
+def ip6_normalize(ip6):
+    return socket.inet_ntop(socket.AF_INET6,
+                            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
 
 class NumericConstant(object):
     __metaclass__ = ABCMeta