Recursive ethertype reader
diff --git a/wireshark_gen/__init__.py b/wireshark_gen/__init__.py
index 5c02e06..a610f3f 100644
--- a/wireshark_gen/__init__.py
+++ b/wireshark_gen/__init__.py
@@ -52,6 +52,8 @@
enum = ofproto.enum_by_name(m.oftype)
if enum and 'wire_type' in enum.params:
return "read_" + enum.params['wire_type']
+ elif (cls.name, m.name) in field_info.reader_overrides:
+ return field_info.reader_overrides[(cls.name, m.name)]
else:
return "read_" + m.oftype.replace(')', '').replace('(', '_')