X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Ffailsafe%2Ffailsafe_ops.c;h=f46055175d05da0a8dc0760a830f5f249959015d;hb=9dda3e3393c205af53d83edbfc68eaf06d913f98;hp=d36096587513f9dafd02fdf2d0504386527b824e;hpb=321809bb8c61066f4ec790f4ac17b3c5e0c67178;p=dpdk.git diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c index d360965875..f46055175d 100644 --- a/drivers/net/failsafe/failsafe_ops.c +++ b/drivers/net/failsafe/failsafe_ops.c @@ -38,6 +38,7 @@ #include #include #include +#include #include "failsafe_private.h" @@ -592,13 +593,18 @@ fs_stats_get(struct rte_eth_dev *dev, rte_memcpy(stats, &PRIV(dev)->stats_accumulator, sizeof(*stats)); FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { - ret = rte_eth_stats_get(PORT_ID(sdev), &sdev->stats_snapshot); + struct rte_eth_stats *snapshot = &sdev->stats_snapshot.stats; + uint64_t *timestamp = &sdev->stats_snapshot.timestamp; + + ret = rte_eth_stats_get(PORT_ID(sdev), snapshot); if (ret) { ERROR("Operation rte_eth_stats_get failed for sub_device %d with error %d", i, ret); + *timestamp = 0; return ret; } - failsafe_stats_increment(stats, &sdev->stats_snapshot); + *timestamp = rte_rdtsc(); + failsafe_stats_increment(stats, snapshot); } return 0; }