Sometimes packets can get passed down to userspace, in which case secchan
has to send them using dpif_execute(). When this happened we weren't
updating the packet or byte counters. Fix this.
}
/* Execute subrule on packet. */
- dpif_execute(&p->dpif, msg->port, subrule->odp_actions,
- subrule->n_odp_actions, &payload);
+ if (!dpif_execute(&p->dpif, msg->port, subrule->odp_actions,
+ subrule->n_odp_actions, &payload)) {
+ subrule->packet_count++;
+ subrule->byte_count += payload.size;
+ }
ofpbuf_delete(packet);
}
\f