X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fofproto.c;h=eb8a7a9119235bdc5825b97581be9bd5eaecc943;hb=3f355f47f8e7343e909ccfa854454d667baf3c38;hp=f31794f9ae0413ad20cb8cb3be00eb03f1dbf2a3;hpb=adea354e28134f08008732062ef0c613954dc7e4;p=sliver-openvswitch.git diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index f31794f9a..eb8a7a911 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -2423,12 +2423,17 @@ query_stats(struct ofproto *p, struct rule *rule, struct odp_flow *odp_flows; size_t n_odp_flows; + packet_count = rule->packet_count; + byte_count = rule->byte_count; + n_odp_flows = rule->cr.wc.wildcards ? list_size(&rule->list) : 1; odp_flows = xcalloc(1, n_odp_flows * sizeof *odp_flows); if (rule->cr.wc.wildcards) { size_t i = 0; LIST_FOR_EACH (subrule, struct rule, list, &rule->list) { odp_flows[i++].key = subrule->cr.flow; + packet_count += subrule->packet_count; + byte_count += subrule->byte_count; } } else { odp_flows[0].key = rule->cr.flow;