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
