Fixed parsing issue for feature message; no ports were parsed
diff --git a/tools/munger/scripts/message_gen.py b/tools/munger/scripts/message_gen.py
index e2e8490..1c627c1 100644
--- a/tools/munger/scripts/message_gen.py
+++ b/tools/munger/scripts/message_gen.py
@@ -352,7 +352,13 @@
if has_core_members:
_p2("binary_string = " + parent + ".unpack(self, binary_string)")
if has_list:
- if list_type == None:
+ if msg == "features_reply": # Special case port parsing
+ # For now, cheat and assume the rest of the message is port list
+ _p2("while len(binary_string) >= OFP_PHY_PORT_BYTES:")
+ _p3("new_port = ofp_phy_port()")
+ _p3("binary_string = new_port.unpack(binary_string)")
+ _p3("self.ports.append(new_port)")
+ elif list_type == None:
_p2("for obj in self." + list_var + ":")
_p3("binary_string = obj.unpack(binary_string)")
elif msg == "packet_out": # Special case this