summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/dpkt-1.8.6/dpkt/loopback.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/external_libs/dpkt-1.8.6/dpkt/loopback.py')
-rw-r--r--scripts/external_libs/dpkt-1.8.6/dpkt/loopback.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/external_libs/dpkt-1.8.6/dpkt/loopback.py b/scripts/external_libs/dpkt-1.8.6/dpkt/loopback.py
new file mode 100644
index 00000000..25992b31
--- /dev/null
+++ b/scripts/external_libs/dpkt-1.8.6/dpkt/loopback.py
@@ -0,0 +1,20 @@
+# $Id: loopback.py 38 2007-03-17 03:33:16Z dugsong $
+
+"""Platform-dependent loopback header."""
+
+import dpkt, ethernet, ip, ip6
+
+class Loopback(dpkt.Packet):
+ __hdr__ = (('family', 'I', 0), )
+ __byte_order__ = '@'
+ def unpack(self, buf):
+ dpkt.Packet.unpack(self, buf)
+ if self.family == 2:
+ self.data = ip.IP(self.data)
+ elif self.family == 0x02000000:
+ self.family = 2
+ self.data = ip.IP(self.data)
+ elif self.family in (24, 28, 30):
+ self.data = ip6.IP6(self.data)
+ elif self.family > 1500:
+ self.data = ethernet.Ethernet(self.data)