On Wed, Oct 16, 2013 at 02:32:55PM +0300, Lori Jakab wrote: > On 10/16/13 1:17 PM, Simon Horman wrote: > >This alters the way rx packets are accounted for by > >counting them when they are processed by netdev_dummy_rx_recv(), > >which seems to be a common path used by all received packets. > > > >Previously accounting was done earlier, in netdev_dummy_receive(), > >however this does not appear to count packets that are received via > >a socket. > > > >This resolves packet counting errors reported by the following > >OFtest tests: > > > > port_stats.MultiFlowStats > > port_stats.SingleFlowStats > > I confirm that the above OFtests are passed on my (similar) setup as > well with the below patch. > > > pktact.WildcardPriorityWithDelete > > pktact.WildcardPriority > > These tests didn't fail on my setup, but the following two which > did, are now "ok": > counters.RxBytPerPort > counters.RxPktPerPort
Interesting. Could you let me know which versions (git checkouts?) of OFtest and OVS you are using? > >Signed-off-by: Simon Horman <ho...@verge.net.au> > >--- > > lib/netdev-dummy.c | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > >diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c > >index e40c099..061ad0c 100644 > >--- a/lib/netdev-dummy.c > >+++ b/lib/netdev-dummy.c > >@@ -468,8 +468,15 @@ netdev_dummy_rx_recv(struct netdev_rx *rx_, void > >*buffer, size_t size) > > } > > if (packet->size <= size) { > >+ struct netdev_dummy *dummy_dev = netdev_dummy_cast(netdev); > >+ > > memcpy(buffer, packet->data, packet->size); > > retval = packet->size; > >+ ovs_mutex_lock(&dummy_dev->mutex); > >+ dummy_dev->stats.rx_packets++; > >+ dummy_dev->stats.rx_bytes += packet->size; > >+ ovs_mutex_unlock(&dummy_dev->mutex); > >+ > > } else { > > retval = -EMSGSIZE; > > } > >@@ -870,8 +877,6 @@ netdev_dummy_receive(struct unixctl_conn *conn, > > } > > ovs_mutex_lock(&dummy_dev->mutex); > >- dummy_dev->stats.rx_packets++; > >- dummy_dev->stats.rx_bytes += packet->size; > > netdev_dummy_queue_packet(dummy_dev, packet); > > ovs_mutex_unlock(&dummy_dev->mutex); > > } > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev