diff --git a/py_gen/templates/_pretty_print.py b/py_gen/templates/_pretty_print.py
index 0a3a61c..65c5941 100644
--- a/py_gen/templates/_pretty_print.py
+++ b/py_gen/templates/_pretty_print.py
@@ -52,7 +52,7 @@
                 q.text(util.pretty_wildcards(self.${m.name}))
 :: elif m.oftype.base == 'of_port_no_t':
                 q.text(util.pretty_port(self.${m.name}))
-:: elif m.oftype.base.startswith("uint") and not m.oftype.is_array:
+:: elif m.oftype.base.startswith("uint"):
                 q.text("%#x" % self.${m.name})
 :: else:
                 q.pp(self.${m.name})
diff --git a/py_gen/templates/util.py b/py_gen/templates/util.py
index 397c184..c4de5a3 100644
--- a/py_gen/templates/util.py
+++ b/py_gen/templates/util.py
@@ -69,3 +69,76 @@
         if v == v2:
             return k
     return v
+
+def pack_port_no(value):
+:: if version == 1:
+    return struct.pack("!H", value)
+:: else:
+    return struct.pack("!L", value)
+:: #endif
+
+def unpack_port_no(reader):
+:: if version == 1:
+    return reader.read("!H")[0]
+:: else:
+    return reader.read("!L")[0]
+:: #endif
+
+def pack_fm_cmd(value):
+:: if version == 1:
+    return struct.pack("!H", value)
+:: else:
+    return struct.pack("!B", value)
+:: #endif
+
+def unpack_fm_cmd(reader):
+:: if version == 1:
+    return reader.read("!H")[0]
+:: else:
+    return reader.read("!B")[0]
+:: #endif
+
+def init_wc_bmap():
+:: if version <= 2:
+    return const.OFPFW_ALL
+:: else:
+    return 0
+:: #endif
+
+def pack_wc_bmap(value):
+:: if version <= 2:
+    return struct.pack("!L", value)
+:: else:
+    return struct.pack("!Q", value)
+:: #endif
+
+def unpack_wc_bmap(reader):
+:: if version <= 2:
+    return reader.read("!L")[0]
+:: else:
+    return reader.read("!Q")[0]
+:: #endif
+
+def init_match_bmap():
+:: if version <= 2:
+    return const.OFPFW_ALL
+:: else:
+    return 0
+:: #endif
+
+def pack_match_bmap(value):
+:: if version <= 2:
+    return struct.pack("!L", value)
+:: else:
+    return struct.pack("!Q", value)
+:: #endif
+
+def unpack_match_bmap(reader):
+:: if version <= 2:
+    return reader.read("!L")[0]
+:: else:
+    return reader.read("!Q")[0]
+:: #endif
+
+def pack_list(values):
+    return "".join([x.pack() for x in values])
