wireshark: begin generating fields from IR
diff --git a/wireshark_gen/templates/openflow.lua b/wireshark_gen/templates/openflow.lua
index e1b9319..7d500e0 100644
--- a/wireshark_gen/templates/openflow.lua
+++ b/wireshark_gen/templates/openflow.lua
@@ -24,13 +24,14 @@
 
 :: #endfor
 
+fields = {}
 :: for field in fields:
-f_${field.name} = ProtoField.new("${field.name}", "of.${field.name}", "FT_${field.type}", nil, "BASE_${field.base}")
+fields[${repr(field.fullname)}] = ProtoField.new("${field.name}", "${field.fullname}", "FT_${field.type}", nil, "BASE_${field.base}")
 :: #endfor
 
 p_of.fields = {
 :: for field in fields:
-    f_${field.name},
+    fields[${repr(field.fullname)}],
 :: #endfor
 }
 
@@ -55,13 +56,11 @@
 :: #endfor
 
 function dissect_of_message(buf, root)
-    -- create subtree for of
     local subtree = root:add(p_of, buf(0))
-    -- add protocol fields to subtree
-    subtree:add(f_version, buf(0,1))
-    subtree:add(f_type, buf(1,1))
-    subtree:add(f_length, buf(2,2))
-    subtree:add(f_xid, buf(4,4))
+    subtree:add(fields['of10.header.version'], buf(0,1))
+    subtree:add(fields['of10.header.type'], buf(1,1))
+    subtree:add(fields['of10.header.length'], buf(2,2))
+    subtree:add(fields['of10.header.xid'], buf(4,4))
 
     local version_val = buf(0,1):uint()
     local type_val = buf(1,1):uint()