pyloxi: fix of_wc_bmap_t for OF 1.2+

This field changed semantics, so the LOXI type probably should change too.
diff --git a/py_gen/codegen.py b/py_gen/codegen.py
index e552d61..d6d8b32 100644
--- a/py_gen/codegen.py
+++ b/py_gen/codegen.py
@@ -217,4 +217,4 @@
     util.render_template(out, 'pp.py')
 
 def generate_util(out, name, version):
-    util.render_template(out, 'util.py')
+    util.render_template(out, 'util.py', version=version)
diff --git a/py_gen/oftype.py b/py_gen/oftype.py
index 3717036..3f37f57 100644
--- a/py_gen/oftype.py
+++ b/py_gen/oftype.py
@@ -55,7 +55,15 @@
         elif self.base == 'of_ipv6_t':
             v = repr('\x00' * 16)
         elif self.base == 'of_wc_bmap_t':
-            v = 'const.OFPFW_ALL'
+            if self.version in [1,2]:
+                v = 'const.OFPFW_ALL'
+            else:
+                v = 0
+        elif self.base == "of_match_bmap_t":
+            if self.version in [1,2]:
+                v = 'const.OFPFW_ALL'
+            else:
+                v = 0
         elif self.base in ['of_octets_t', 'of_port_name_t', 'of_table_name_t',
                            'of_desc_str_t', 'of_serial_num_t']:
             v = '""'
diff --git a/py_gen/templates/_pretty_print.py b/py_gen/templates/_pretty_print.py
index 5709227..86cb237 100644
--- a/py_gen/templates/_pretty_print.py
+++ b/py_gen/templates/_pretty_print.py
@@ -48,7 +48,7 @@
                 q.text(util.pretty_mac(self.${m.name}))
 :: elif m.oftype.base == 'uint32_t' and m.name.startswith("ipv4"):
                 q.text(util.pretty_ipv4(self.${m.name}))
-:: elif m.oftype.base == 'of_wc_bmap_t':
+:: elif m.oftype.base == 'of_wc_bmap_t' and version in [1,2]:
                 q.text(util.pretty_wildcards(self.${m.name}))
 :: elif m.oftype.base == 'of_port_no_t':
                 q.text(util.pretty_port(self.${m.name}))
diff --git a/py_gen/templates/util.py b/py_gen/templates/util.py
index f2f7a96..397c184 100644
--- a/py_gen/templates/util.py
+++ b/py_gen/templates/util.py
@@ -52,6 +52,7 @@
         set_flags.append("%#x" % v)
     return '|'.join(set_flags) or '0'
 
+:: if version in [1,2]:
 def pretty_wildcards(v):
     if v == const.OFPFW_ALL:
         return 'OFPFW_ALL'
@@ -60,6 +61,7 @@
                   'OFPFW_NW_SRC_MASK', 'OFPFW_NW_DST_MASK', 'OFPFW_DL_VLAN_PCP',
                   'OFPFW_NW_TOS']
     return pretty_flags(v, flag_names)
+:: #endif
 
 def pretty_port(v):
     named_ports = [(k,v2) for (k,v2) in const.__dict__.iteritems() if k.startswith('OFPP_')]
diff --git a/py_gen/tests/of11.py b/py_gen/tests/of11.py
index 2fdec9e..dd76b0d 100644
--- a/py_gen/tests/of11.py
+++ b/py_gen/tests/of11.py
@@ -69,9 +69,7 @@
         self.klasses.sort(key=lambda x: str(x))
 
     def test_serialization(self):
-        expected_failures = [
-            ofp.common.table_stats_entry,
-        ]
+        expected_failures = []
         for klass in self.klasses:
             def fn():
                 obj = klass()
@@ -85,8 +83,7 @@
                 fn()
 
     def test_show(self):
-        expected_failures = [
-        ]
+        expected_failures = []
         for klass in self.klasses:
             def fn():
                 obj = klass()
diff --git a/py_gen/tests/of12.py b/py_gen/tests/of12.py
index a176253..b557730 100644
--- a/py_gen/tests/of12.py
+++ b/py_gen/tests/of12.py
@@ -157,9 +157,7 @@
         self.klasses.sort(key=lambda x: str(x))
 
     def test_serialization(self):
-        expected_failures = [
-            ofp.common.table_stats_entry,
-        ]
+        expected_failures = []
         for klass in self.klasses:
             def fn():
                 obj = klass()
@@ -173,9 +171,7 @@
                 fn()
 
     def test_show(self):
-        expected_failures = [
-            ofp.common.table_stats_entry,
-        ]
+        expected_failures = []
         for klass in self.klasses:
             def fn():
                 obj = klass()