Some fields missing in the JSON dict that to_jsondict of OFPActionSetField is returnd. This patch fixes this problem.
Signed-off-by: Minoru TAKAHASHI <[email protected]> --- ryu/ofproto/ofproto_v1_2_parser.py | 4 +++- ryu/ofproto/ofproto_v1_3_parser.py | 4 +++- ryu/ofproto/ofproto_v1_4_parser.py | 4 +++- ryu/ofproto/ofproto_v1_5_parser.py | 4 +++- .../unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json | 8 ++++++-- .../ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json | 12 +++++++++--- .../unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json | 12 +++++++++--- .../ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json | 4 +++- .../of13/libofproto-OFP13-flow_mod_match_conj.packet.json | 4 +++- .../json/of13/ovs-ofctl-of13-action_ct_exec.packet.json | 4 +++- .../json/of13/ovs-ofctl-of13-action_learn.packet.json | 4 +++- .../ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json | 12 +++++++++--- .../unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json | 12 +++++++++--- .../json/of15/libofproto-OFP15-bundle_add.packet.json | 4 +++- .../ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json | 4 +++- .../of15/libofproto-OFP15-flow_mod_match_conj.packet.json | 4 +++- .../ofproto/json/of15/libofproto-OFP15-group_mod.packet.json | 4 +++- .../json/of15/libofproto-OFP15-requestforward.packet.json | 4 +++- 18 files changed, 81 insertions(+), 27 deletions(-) diff --git a/ryu/ofproto/ofproto_v1_2_parser.py b/ryu/ofproto/ofproto_v1_2_parser.py index c0255c5..2da5195 100644 --- a/ryu/ofproto/ofproto_v1_2_parser.py +++ b/ryu/ofproto/ofproto_v1_2_parser.py @@ -1569,7 +1569,9 @@ class OFPActionSetField(OFPAction): o = self return { self.__class__.__name__: { - 'field': ofproto.oxm_to_jsondict(self.key, self.value) + 'field': ofproto.oxm_to_jsondict(self.key, self.value), + "len": self.len, + "type": self.type } } diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/ryu/ofproto/ofproto_v1_3_parser.py index 374604a..cd58cfd 100644 --- a/ryu/ofproto/ofproto_v1_3_parser.py +++ b/ryu/ofproto/ofproto_v1_3_parser.py @@ -3285,7 +3285,9 @@ class OFPActionSetField(OFPAction): o = self return { self.__class__.__name__: { - 'field': ofproto.oxm_to_jsondict(self.key, self.value) + 'field': ofproto.oxm_to_jsondict(self.key, self.value), + "len": self.len, + "type": self.type } } diff --git a/ryu/ofproto/ofproto_v1_4_parser.py b/ryu/ofproto/ofproto_v1_4_parser.py index 53d3f1e..1c30348 100644 --- a/ryu/ofproto/ofproto_v1_4_parser.py +++ b/ryu/ofproto/ofproto_v1_4_parser.py @@ -4908,7 +4908,9 @@ class OFPActionSetField(OFPAction): def to_jsondict(self): return { self.__class__.__name__: { - 'field': ofproto.oxm_to_jsondict(self.key, self.value) + 'field': ofproto.oxm_to_jsondict(self.key, self.value), + "len": self.len, + "type": self.type } } diff --git a/ryu/ofproto/ofproto_v1_5_parser.py b/ryu/ofproto/ofproto_v1_5_parser.py index ac91af9..a36297e 100644 --- a/ryu/ofproto/ofproto_v1_5_parser.py +++ b/ryu/ofproto/ofproto_v1_5_parser.py @@ -5781,7 +5781,9 @@ class OFPActionSetField(OFPAction): def to_jsondict(self): return { self.__class__.__name__: { - 'field': ofproto.oxm_to_jsondict(self.key, self.value) + 'field': ofproto.oxm_to_jsondict(self.key, self.value), + "len": self.len, + "type": self.type } } diff --git a/ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json b/ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json index 9239241..43e0e3c 100644 --- a/ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json +++ b/ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json @@ -19,7 +19,9 @@ "mask": null, "value": 258 } - } + }, + "len": 16, + "type": 25 } }, { @@ -46,7 +48,9 @@ "mask": null, "value": "01:02:03:04:05:06" } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json index 4b3483f..3250527 100644 --- a/ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json +++ b/ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json @@ -139,7 +139,9 @@ "mask": null, "value": 258 } - } + }, + "len": 16, + "type": 25 } }, { @@ -264,7 +266,9 @@ "mask": null, "value": "01:02:03:04:05:06" } - } + }, + "len": 16, + "type": 25 } }, { @@ -275,7 +279,9 @@ "mask": null, "value": 1 } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json b/ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json index d644545..e2c0e82 100644 --- a/ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json +++ b/ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json @@ -19,7 +19,9 @@ "mask": null, "value": 258 } - } + }, + "len": 16, + "type": 25 } }, { @@ -144,7 +146,9 @@ "mask": null, "value": "01:02:03:04:05:06" } - } + }, + "len": 16, + "type": 25 } }, { @@ -155,7 +159,9 @@ "mask": null, "value": 1 } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json b/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json index 2381214..7de40ef 100644 --- a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json +++ b/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json @@ -25,7 +25,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } }, { diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json b/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json index 89c3a22..4fd8c4d 100644 --- a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json +++ b/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json @@ -25,7 +25,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json b/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json index 1c9e7f3..700e276 100644 --- a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json +++ b/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json @@ -22,7 +22,9 @@ "mask": null, "value": 6636321 } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json b/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json index aaad64d..5d86c88 100644 --- a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json +++ b/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json @@ -25,7 +25,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } }, { diff --git a/ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json index 88d2976..42eacf3 100644 --- a/ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json +++ b/ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json @@ -143,7 +143,9 @@ "mask": null, "value": 258 } - } + }, + "len": 16, + "type": 25 } }, { @@ -285,7 +287,9 @@ "mask": null, "value": "01:02:03:04:05:06" } - } + }, + "len": 16, + "type": 25 } }, { @@ -296,7 +300,9 @@ "mask": null, "value": 1 } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json b/ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json index a884ce9..5f789d5 100644 --- a/ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json +++ b/ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json @@ -20,7 +20,9 @@ "mask": null, "value": 258 } - } + }, + "len": 16, + "type": 25 } }, { @@ -153,7 +155,9 @@ "mask": null, "value": "01:02:03:04:05:06" } - } + }, + "len": 16, + "type": 25 } }, { @@ -164,7 +168,9 @@ "mask": null, "value": 1 } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json index 6010698..5a1ddb1 100644 --- a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json @@ -30,7 +30,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } }, { diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json index 8a02842..ac6dce7 100644 --- a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json @@ -26,7 +26,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } }, { diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json index 2355577..2d0b9ad 100644 --- a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json @@ -26,7 +26,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json index 2f92361..d168fef 100644 --- a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json @@ -20,7 +20,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } } ], diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json index aab3acd..66368c2 100644 --- a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json @@ -22,7 +22,9 @@ "mask": null, "value": "192.168.2.9" } - } + }, + "len": 16, + "type": 25 } } ], -- 1.9.1 ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
