import scapy.contrib.mpls for ease of installation
diff --git a/src/python/of12/parse.py b/src/python/of12/parse.py
index 262ca53..95c66c4 100644
--- a/src/python/of12/parse.py
+++ b/src/python/of12/parse.py
@@ -12,15 +12,10 @@
 #from action_list import action_list
 import cstruct as ofp
 
-
-
-
 try:
     logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
     from scapy.all import *
-    #load_contrib("mpls")
-    #TODO This should really be in scapy!
-    #bind_layers(MPLS, MPLS, s=0)
+    from oftest.mpls import *
 except ImportError:
     sys.exit("Need to install scapy for packet parsing")
 
diff --git a/src/python/oftest/mpls.py b/src/python/oftest/mpls.py
new file mode 100644
index 0000000..e2783b9
--- /dev/null
+++ b/src/python/oftest/mpls.py
@@ -0,0 +1,24 @@
+# Imported from scapy at revision 1270:113ef25f9583
+# This file is not included in the Ubuntu packages of scapy, so it is checked
+# in to our repo to simplify installation. This file is under the GPLv2.
+
+# http://trac.secdev.org/scapy/ticket/31 
+
+# scapy.contrib.description = MPLS
+# scapy.contrib.status = loads
+
+from scapy.packet import Packet,bind_layers
+from scapy.fields import BitField,ByteField
+from scapy.layers.l2 import Ether
+
+class MPLS(Packet): 
+   name = "MPLS" 
+   fields_desc =  [ BitField("label", 3, 20), 
+                    BitField("cos", 0, 3), 
+                    BitField("s", 1, 1), 
+                    ByteField("ttl", 0)  ] 
+
+bind_layers(Ether, MPLS, type=0x8847)
+
+# Not in upstream scapy
+bind_layers(MPLS, MPLS, s=0)
diff --git a/src/python/oftest/oft12/testutils.py b/src/python/oftest/oft12/testutils.py
index 9a885ce..fbc1ad0 100644
--- a/src/python/oftest/oft12/testutils.py
+++ b/src/python/oftest/oft12/testutils.py
@@ -12,13 +12,10 @@
 import of12.instruction as instruction
 from packet import Packet
 
-
 try:
     logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
     from scapy.all import *
-    #load_contrib("mpls")
-    #TODO This should really be in scapy!
-    #bind_layers(MPLS, MPLS, s=0)
+    from oftest.mpls import *
 except ImportError:
     sys.exit("Need to install scapy for packet parsing")