Reviewed-by: Petri Savolainen <[email protected]>

> -----Original Message-----
> From: lng-odp [mailto:[email protected]] On Behalf Of EXT
> Maxim Uvarov
> Sent: Tuesday, October 27, 2015 11:19 AM
> To: lng-odp-forward
> Subject: Re: [lng-odp] [API-NEXT PATCHv6] api: define pktio statistics api
> 
> ping.
> 
> On 10/23/2015 14:31, Maxim Uvarov wrote:
> > Signed-off-by: Maxim Uvarov <[email protected]>
> > ---
> >   v6: fix Petris comments
> >
> >   include/odp/api/packet_io.h       |   2 +
> >   include/odp/api/packet_io_stats.h | 141
> ++++++++++++++++++++++++++++++++++++++
> >   2 files changed, 143 insertions(+)
> >   create mode 100644 include/odp/api/packet_io_stats.h
> >
> > diff --git a/include/odp/api/packet_io.h b/include/odp/api/packet_io.h
> > index 3479af1..ca8777c 100644
> > --- a/include/odp/api/packet_io.h
> > +++ b/include/odp/api/packet_io.h
> > @@ -18,6 +18,8 @@
> >   extern "C" {
> >   #endif
> >
> > +#include <odp/packet_io_stats.h>
> > +
> >   /** @defgroup odp_packet_io ODP PACKET IO
> >    *  Operations on a packet Input/Output interface.
> >    *
> > diff --git a/include/odp/api/packet_io_stats.h
> b/include/odp/api/packet_io_stats.h
> > new file mode 100644
> > index 0000000..148ad8d
> > --- /dev/null
> > +++ b/include/odp/api/packet_io_stats.h
> > @@ -0,0 +1,141 @@
> > +/* Copyright (c) 2015, Linaro Limited
> > + * All rights reserved.
> > + *
> > + * SPDX-License-Identifier:     BSD-3-Clause
> > + */
> > +
> > +/**
> > + * @file
> > + *
> > + * ODP Packet IO
> > + */
> > +
> > +#ifndef ODP_API_PACKET_IO_STATS_H_
> > +#define ODP_API_PACKET_IO_STATS_H_
> > +
> > +#ifdef __cplusplus
> > +extern "C" {
> > +#endif
> > +
> > +/** @addtogroup odp_packet_io
> > + *  @{
> > + */
> > +
> > +/**
> > + * Packet IO statistics
> > + *
> > + * Packet IO statictics counters follow RFCs for Management Information
> Base
> > + * (MIB)for use with network management protocols in the Internet
> community:
> > + * https://tools.ietf.org/html/rfc3635
> > + * https://tools.ietf.org/html/rfc2863
> > + * https://tools.ietf.org/html/rfc2819
> > + */
> > +typedef struct odp_pktio_stats_t {
> > +   /**
> > +    * The number of octets in valid MAC frames received on this
> interface,
> > +    * including the MAC header and FCS. See ifHCInOctets counter
> > +    * description in RFC 3635 for details.
> > +    */
> > +   uint64_t in_octets;
> > +
> > +   /**
> > +    * The number of packets, delivered by this sub-layer to a higher
> > +    * (sub-)layer, which were not addressed to a multicast or broadcast
> > +    * address at this sub-layer. See ifHCInUcastPkts in RFC 2863, RFC
> 3635.
> > +    */
> > +   uint64_t in_ucast_pkts;
> > +
> > +   /**
> > +    * The number of inbound packets which were chosen to be discarded
> > +    * even though no errors had been detected to preven their being
> > +    * deliverable to a higher-layer protocol.  One possible reason for
> > +    * discarding such a packet could be to free up buffer space.
> > +    * See ifInDiscards in RFC 2863.
> > +    */
> > +   uint64_t in_discards;
> > +
> > +   /**
> > +    * The sum for this interface of AlignmentErrors, FCSErrors,
> FrameTooLongs,
> > +    * InternalMacReceiveErrors. See ifInErrors in RFC 3635.
> > +    */
> > +   uint64_t in_errors;
> > +
> > +   /**
> > +    * For packet-oriented interfaces, the number of packets received via
> > +    * the interface which were discarded because of an unknown or
> > +    * unsupported protocol.  For character-oriented or fixed-length
> > +    * interfaces that support protocol multiplexing the number of
> > +    * transmission units received via the interface which were discarded
> > +    * because of an unknown or unsupported protocol.  For any interface
> > +    * that does not support protocol multiplexing, this counter will
> always
> > +    * be 0. See ifInUnknownProtos in RFC 2863, RFC 3635.
> > +    */
> > +   uint64_t in_unknown_protos;
> > +
> > +   /**
> > +    * The number of octets transmitted in valid MAC frames on this
> > +    * interface, including the MAC header and FCS.  This does include
> > +    * the number of octets in valid MAC Control frames transmitted on
> > +    * this interface. See ifHCOutOctets in RFC 3635.
> > +    */
> > +   uint64_t out_octets;
> > +
> > +   /**
> > +    * The total number of packets that higher-level protocols requested
> > +    * be transmitted, and which were not addressed to a multicast or
> > +    * broadcast address at this sub-layer, including those that were
> > +    * discarded or not sent. does not include MAC Control frames.
> > +    * See ifHCOutUcastPkts RFC 2863, 3635.
> > +    */
> > +   uint64_t out_ucast_pkts;
> > +
> > +   /**
> > +    * The number of outbound packets which were chosen to be discarded
> > +    * even though no errors had been detected to prevent their being
> > +    * transmitted.  One possible reason for discarding such a packet
> could
> > +    * be to free up buffer space.  See  OutDiscards in  RFC 2863.
> > +    */
> > +   uint64_t out_discards;
> > +
> > +   /**
> > +    * The sum for this interface of SQETestErrors, LateCollisions,
> > +    * ExcessiveCollisions, InternalMacTransmitErrors and
> > +    * CarrierSenseErrors. See ifOutErrors in RFC 3635.
> > +    */
> > +   uint64_t out_errors;
> > +} odp_pktio_stats_t;
> > +
> > +/**
> > + * Get statistics for pktio handle
> > + *
> > + * @param  pktio    Packet IO handle
> > + * @param[out]     stats    Output buffer for counters
> > + * @retval  0 on success
> > + * @retval <0 on failure
> > + *
> > + * @note: If counter is not supported by platform it has
> > + *   to be set to 0.
> > + */
> > +int odp_pktio_stats(odp_pktio_t pktio,
> > +               odp_pktio_stats_t *stats);
> > +
> > +/**
> > + * Reset statistics for pktio handle
> > + *
> > + * Reset all pktio counters to 0.
> > + * @param  pktio    Packet IO handle
> > + * @retval  0 on success
> > + * @retval <0 on failure
> > + *
> > + */
> > +int odp_pktio_stats_reset(odp_pktio_t pktio);
> > +
> > +/**
> > + * @}
> > + */
> > +
> > +#ifdef __cplusplus
> > +}
> > +#endif
> > +
> > +#endif
> 
> _______________________________________________
> lng-odp mailing list
> [email protected]
> https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to