wireshark: add an expert info and field for error messages
You can search for and colorize error messages using "of.error". They'll also
show up in the expert info view.
diff --git a/wireshark_gen/templates/openflow.lua b/wireshark_gen/templates/openflow.lua
index f96fccf..f6aaea3 100644
--- a/wireshark_gen/templates/openflow.lua
+++ b/wireshark_gen/templates/openflow.lua
@@ -74,10 +74,13 @@
:: #endif
:: #endfor
+error_field = ProtoField.string("of.error", "Error")
+
p_of.fields = {
:: for field in fields:
fields[${repr(field.fullname)}],
:: #endfor
+ error_field,
}
-- Subclass maps for virtual classes
@@ -142,6 +145,13 @@
return "Unknown protocol", "Dissection error"
end
+ if type_val == 1 then -- OpenFlow error message
+ local err = subtree:add(error_field, "")
+ err:set_hidden()
+ err:set_generated()
+ subtree:add_expert_info(PI_DEBUG, PI_WARN, "OpenFlow error message")
+ end
+
local info = "unknown"
info = of_message_dissectors[version_val](reader, subtree)