diff options
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.py | 20 |
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) |