Thank you both Ben and Jarno for the review. Pushed to master.
On Tue, May 19, 2015 at 11:42 AM, Jarno Rajahalme <jrajaha...@nicira.com> wrote: > LGTM, > > Jarno > > Acked-by: Jarno Rajahalme <jrajaha...@nicira.com> > >> On May 18, 2015, at 6:26 PM, Andy Zhou <az...@nicira.com> wrote: >> >> The output of 'ovs-ofctl dump-flows' command prints recirc_id in decimal >> in action parts of the output, while prints that in hex in matching >> parts of the same output. >> >> This patch fixes the inconsistency by always printing recirc_id >> values in decimal. >> >> Reported-by: Justin Pettit <jpet...@nicira.com> >> Signed-off-by: Andy Zhou <az...@nicira.com> >> --- >> lib/match.c | 24 +++++++++++++++++++----- >> tests/ofproto-dpif.at | 4 ++-- >> 2 files changed, 21 insertions(+), 7 deletions(-) >> >> diff --git a/lib/match.c b/lib/match.c >> index 7d0b409..b155084 100644 >> --- a/lib/match.c >> +++ b/lib/match.c >> @@ -843,16 +843,30 @@ format_be32_masked(struct ds *s, const char *name, >> } >> >> static void >> -format_uint32_masked(struct ds *s, const char *name, >> - uint32_t value, uint32_t mask) >> +format_uint32_masked__(struct ds *s, const char *name, >> + uint32_t value, uint32_t mask, const char *format) >> { >> if (mask) { >> - ds_put_format(s, "%s=%#"PRIx32, name, value); >> + ds_put_format(s, format, name, value); >> if (mask != UINT32_MAX) { >> ds_put_format(s, "/%#"PRIx32, mask); >> } >> ds_put_char(s, ','); >> } >> + >> +} >> +static void >> +format_uint32_masked(struct ds *s, const char *name, >> + uint32_t value, uint32_t mask) >> +{ >> + format_uint32_masked__(s, name, value, mask, "%s=%#"PRIx32); >> +} >> + >> +static void >> +format_decimal_uint32_masked(struct ds *s, const char *name, >> + uint32_t value, uint32_t mask) >> +{ >> + format_uint32_masked__(s, name, value, mask, "%s=%"PRIu32); >> } >> >> static void >> @@ -921,8 +935,8 @@ match_format(const struct match *match, struct ds *s, >> int priority) >> format_uint32_masked(s, "pkt_mark", f->pkt_mark, wc->masks.pkt_mark); >> >> if (wc->masks.recirc_id) { >> - format_uint32_masked(s, "recirc_id", f->recirc_id, >> - wc->masks.recirc_id); >> + format_decimal_uint32_masked(s, "recirc_id", f->recirc_id, >> + wc->masks.recirc_id); >> } >> >> if (wc->masks.dp_hash) { >> diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at >> index 139dfdd..3361dc2 100644 >> --- a/tests/ofproto-dpif.at >> +++ b/tests/ofproto-dpif.at >> @@ -186,7 +186,7 @@ table=0 priority=2 in_port=5 dl_vlan=1 actions=drop >> AT_CHECK([ovs-ofctl add-flows br-int flows.txt]) >> >> # Sends a packet to trigger recirculation. >> -# Should generate recirc_id(0x2),dp_hash(0xc1261ba2/0xff). >> +# Should generate recirc_id(2),dp_hash(0xc1261ba2/0xff). >> AT_CHECK([ovs-appctl netdev-dummy/receive p5 >> "in_port(5),eth(src=50:54:00:00:00:05,dst=50:54:00:00:01:00),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1)"]) >> >> # Collects flow stats. >> @@ -195,7 +195,7 @@ AT_CHECK([ovs-appctl revalidator/purge], [0]) >> # Checks the flow stats in br1, should only be one flow with non-zero >> # 'n_packets' from internal table. >> AT_CHECK([ovs-appctl bridge/dump-flows br1 | ofctl_strip | grep -- >> "n_packets" | grep -- "table_id" | sed -e >> 's/dp_hash=0x[[0-9a-f]][[0-9a-f]]*/dp_hash=0x0/' -e >> 's/output:[[0-9]][[0-9]]*/output/'], [0], [dnl >> -table_id=254, n_packets=1, n_bytes=64, >> priority=20,recirc_id=0x2,dp_hash=0x0/0xff,actions=output >> +table_id=254, n_packets=1, n_bytes=64, >> priority=20,recirc_id=2,dp_hash=0x0/0xff,actions=output >> ]) >> >> # Checks the flow stats in br-int, should be only one match. >> -- >> 1.9.1 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev