wireshark: dissect OpenFlow payload of error messages
diff --git a/wireshark_gen/templates/_oftype_readers.lua b/wireshark_gen/templates/_oftype_readers.lua
index f1de7ec..f7eb79c 100644
--- a/wireshark_gen/templates/_oftype_readers.lua
+++ b/wireshark_gen/templates/_oftype_readers.lua
@@ -173,3 +173,14 @@
local info = of_bsn_vport_q_in_q_dissectors[version](reader, child_subtree)
child_subtree:set_text(info)
end
+
+function read_openflow(reader, version, subtree, field_name)
+ if reader.is_empty() then
+ return
+ end
+ local child_subtree = subtree:add(fields[field_name], reader.peek_all(0))
+ child_subtree:set_text("OpenFlow message")
+ pcall(function () -- Message may be truncated, ignore errors dissecting
+ p_of.dissector:call(reader.read_all():tvb(), current_pkt, child_subtree)
+ end)
+end