1.1 --- a/scapy/config.py Fri Jan 06 15:53:03 2012 -0500
1.2 +++ b/scapy/config.py Thu Jan 12 00:04:04 2012 +0100
1.3 @@ -373,7 +373,7 @@
1.4 load_layers = ["l2", "inet", "cdp", "dhcp", "dns", "dot11", "eigrp", "gprs", "hsrp", "inet6", "ir", "isakmp",
1.5 "l2tp", "lldp", "mgcp", "mobileip", "netbios", "netflow", "ntp", "ospf", "ppi", "ppi_cace",
1.6 "ppi_geotag", "ppp", "radius", "rip", "rtp", "sebek", "skinny", "smb", "snmp", "ssl", "tftp",
1.7 - "x509", "bluetooth", "dhcp6", "llmnr", "sctp", "vrrp", "dot15d4"]
1.8 + "x509", "bluetooth", "dhcp6", "llmnr", "sctp", "vrrp", "dot15d4", "loop"]
1.9
1.10
1.11 if not Conf.ipv6_enabled:
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/scapy/layers/loop.py Thu Jan 12 00:04:04 2012 +0100
2.3 @@ -0,0 +1,31 @@
2.4 +## This file is part of Scapy
2.5 +## See http://www.secdev.org/projects/scapy for more informations
2.6 +## Copyright (C) Alexander Bluhm <alexander.bluhm@gmx.net>
2.7 +## Copyright (C) Philippe Biondi <phil@secdev.org>
2.8 +## This program is published under a GPLv2 license
2.9 +
2.10 +import scapy.arch
2.11 +from scapy.packet import *
2.12 +from scapy.fields import *
2.13 +from scapy.layers.inet import IP
2.14 +if conf.ipv6_enabled:
2.15 + from scapy.layers.inet6 import IPv6
2.16 +from scapy.config import conf
2.17 +
2.18 +class Loop(Packet):
2.19 + name = "Loop"
2.20 + # from OpenBSD src/sys/net/if_loop.c
2.21 + fields_desc = [ IntEnumField("addrfamily", 2, { socket.AF_INET: "IPv4",
2.22 + socket.AF_INET6: "IPv6" }),
2.23 + ]
2.24 + def mysummary(self):
2.25 + return self.sprintf("%Loop.addrfamily%")
2.26 +
2.27 +bind_layers(Loop, IP, addrfamily=socket.AF_INET)
2.28 +if conf.ipv6_enabled:
2.29 + bind_layers(Loop, IPv6, addrfamily=socket.AF_INET6)
2.30 +
2.31 +if scapy.arch.OPENBSD:
2.32 + conf.l2types.register(12, Loop)
2.33 +else:
2.34 + conf.l2types.register(108, Loop)