On Thu, Aug 29, 2013 at 02:00:51PM -0700, Ben Pfaff wrote:
> From: Neil Zhu <[email protected]>
>
> This doesn't include a dpif implementation of groups functionality. In its
> current form, it is untested. Before this is committed, it needs some
> more comments and an ovs-ofctl manpage update.
>
> Signed-off-by: Neil Zhu <[email protected]>
> Co-authored-by: Ben Pfaff <[email protected]>
> Signed-off-by: Ben Pfaff <[email protected]>
...
> +ofputil_decode_group_stats_reply(struct ofpbuf *msg,
> + struct ofputil_group_stats *gs)
> +{
> + struct ofp11_bucket_counter *obc;
> + struct ofp11_group_stats *ogs11;
> + enum ofpraw raw;
> + enum ofperr error;
> + size_t base_len;
> + size_t length;
> + size_t i;
> +
> + if (!msg->size) {
> + return EOF;
> + }
> +
> + error = (msg->l2
> + ? ofpraw_decode(&raw, msg->l2)
> + : ofpraw_pull(&raw, msg));
> + if (error) {
> + return error;
> + }
It seems to me that the msg->size check should appear after
the ofpraw_decode()/ofpraw_pull() call in order to allow for
a stats reply with an empty array of stats.
This would also be consistent with the code present in
ofputil_decode_queue_stats();
With the code above I see:
# ovs-ofctl -O OpenFlow11 dump-group-stats br0
2013-08-30T06:58:51Z|00003|ofp_util|WARN|OFPST_GROUP reply reply has 0 leftover
bytes at end
OFPST_GROUP reply (OF1.1) (xid=0x2): ***parse error***
With my suggested change I see:
# ovs-ofctl -O OpenFlow11 dump-group-stats br0
OFPST_GROUP reply (OF1.1) (xid=0x2):
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev