[dts] [PATCH] add scapy vxlan layer script

Yong Liu yong.liu at intel.com
Tue Jun 16 08:17:23 CEST 2015


From: Marvin Liu <yong.liu at intel.com>


diff --git a/dep/vxlan.py b/dep/vxlan.py
new file mode 100644
index 0000000..e50d4b4
--- /dev/null
+++ b/dep/vxlan.py
@@ -0,0 +1,33 @@
+'''
+Created on Jul 29, 2014
+
+ at author: yliu86
+'''
+from scapy.packet import *
+from scapy.fields import *
+from scapy.layers.inet import UDP, IP
+from scapy.layers.dns import DNS
+from scapy.layers.l2 import Ether
+
+vxlanmagic = "0x8"
+
+
+class Vxlan(Packet):
+    name = "Virtual eXtensible Local Area Network"
+    fields_desc = [ByteField("flag", 8),
+                   X3BytesField("reserved1", 0),
+                   X3BytesField("vni", 0),
+                   ByteField("reserved2", 0)]
+
+    def guess_payload_class(self, payload):
+        if self.flag == vxlanmagic:
+            return Vxlan
+        else:
+            return Packet.guess_payload_class(self, payload)
+
+    def mysummary(self):
+        return self.sprintf("VXLAN (vni=%VXLAN.vni%)")
+
+split_layers(UDP, DNS, sport=53)
+bind_layers(UDP, Vxlan, dport=4789)
+bind_layers(Vxlan, Ether)
-- 
1.9.3



More information about the dts mailing list