On Wed, Sep 18, 2024 at 4:01 AM Jun Wang <[email protected]> wrote:
>
> >On Mon, Sep 16, 2024 at 9:46 AM Eelco Chaudron <[email protected]> wrote:
> > > On 14 Sep 2024, at 7:26, Jun Wang wrote:
> > >
> > > > For many network cards, xstat statistics cannot be queried in the
> > > > ovs interface. A new interface is added to retrieve all xstat
> > > > information of the network card.
> > > Hi Jun,
> > >
> > > Isn’t this already handled with netdev_dpdk_get_custom_stats()? I think 
> > > you can see them with ‘ovs-vsctl get Interface <port> statistics.
> > >
> > > If this is not the case this is what we should enhance.
> >
> > xstats are currently filtered to only save per queue stats and some
> > common counters.
>
> > static bool
> > is_queue_stat(const char *s)
> > {
> >     uint16_t tmp;
> >
> >     return (s[0] == 'r' || s[0] == 't') &&
> >             (ovs_scan(s + 1, "x_q%"SCNu16"_packets", &tmp) ||
> >              ovs_scan(s + 1, "x_q%"SCNu16"_bytes", &tmp));
> > }
> >
> > static void
> > netdev_dpdk_configure_xstats(struct netdev_dpdk *dev)
> >     OVS_REQUIRES(dev->mutex)
> > {
> > ...
> >
> >         /* For custom stats, we filter out everything except per
> > rxq/txq basic
> >          * stats, and dropped, error and management counters. */
> >         if (is_queue_stat(name) ||
> >             string_ends_with(name, "_errors") ||
> >             strstr(name, "_management_") ||
> >             string_ends_with(name, "_dropped")) {
> >
> >             dev->rte_xstats_ids[dev->rte_xstats_ids_size] = id;
> >             dev->rte_xstats_ids_size++;
> >         }
> >
> >
> > Could you explain which stats you are missing?
>
> Hi David,
> As you mentioned, I also found that the results obtained by
> netdev_dpdk_get_custom_stats are filtered. However, I noticed that in
> DPDK, different net drivers handle xstats commands in various ways.
> If we apply a unified filtering process, it may result in not being
> able to retrieve the desired results for different net drivers.
> Therefore, I believe adding a new interface might be a suitable
> solution. For example, the xstats of the ixgbe/i40e/txgbe driver.

Well, the problem is that drivers came up with all the stats they
could get from the hw with no unification.
This is why I was requesting some example of the stats you need, to
see if DPDK can align drivers, and then OVS filter can be extended.

On the other hand, for *debugging*, you may query those vendor
specific stats via the DPDK telemetry socket.


-- 
David Marchand

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to