mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
dpif-netdev: Add command to get dpif implementations.
This commit adds a new command to retrieve the list of available DPIF implementations. This can be used by to check what implementations of the DPIF are available in any given OVS binary. It also returns which implementations are in use by the OVS PMD threads. Usage: $ ovs-appctl dpif-netdev/dpif-impl-get Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Co-authored-by: Cian Ferriter <cian.ferriter@intel.com> Signed-off-by: Cian Ferriter <cian.ferriter@intel.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
This commit is contained in:
committed by
Ian Stokes
parent
abb807e27d
commit
3f86fdf5ce
@@ -965,6 +965,29 @@ dpif_netdev_subtable_lookup_set(struct unixctl_conn *conn, int argc OVS_UNUSED,
|
||||
ds_destroy(&reply);
|
||||
}
|
||||
|
||||
static void
|
||||
dpif_netdev_impl_get(struct unixctl_conn *conn, int argc OVS_UNUSED,
|
||||
const char *argv[] OVS_UNUSED, void *aux OVS_UNUSED)
|
||||
{
|
||||
struct ds reply = DS_EMPTY_INITIALIZER;
|
||||
struct shash_node *node;
|
||||
|
||||
ovs_mutex_lock(&dp_netdev_mutex);
|
||||
SHASH_FOR_EACH (node, &dp_netdevs) {
|
||||
struct dp_netdev_pmd_thread **pmd_list;
|
||||
struct dp_netdev *dp = node->data;
|
||||
size_t n;
|
||||
|
||||
/* Get PMD threads list, required to get the DPIF impl used by each PMD
|
||||
* thread. */
|
||||
sorted_poll_thread_list(dp, &pmd_list, &n);
|
||||
dp_netdev_impl_get(&reply, pmd_list, n);
|
||||
}
|
||||
ovs_mutex_unlock(&dp_netdev_mutex);
|
||||
unixctl_command_reply(conn, ds_cstr(&reply));
|
||||
ds_destroy(&reply);
|
||||
}
|
||||
|
||||
static void
|
||||
dpif_netdev_impl_set(struct unixctl_conn *conn, int argc OVS_UNUSED,
|
||||
const char *argv[], void *aux OVS_UNUSED)
|
||||
@@ -1251,6 +1274,9 @@ dpif_netdev_init(void)
|
||||
"dpif_implementation_name",
|
||||
1, 1, dpif_netdev_impl_set,
|
||||
NULL);
|
||||
unixctl_command_register("dpif-netdev/dpif-impl-get", "",
|
||||
0, 0, dpif_netdev_impl_get,
|
||||
NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user