2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

dpif-netdev: add subtable-lookup-prio-get command.

This commit adds a new command, "dpif-netdev/subtable-lookup-prio-get"
which prints the available subtable lookup functions in this OVS binary.
Example output from the command:

Available lookup functions (priority : name)
        0 : autovalidator
        1 : generic

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: William Tu <u9012063@gmail.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
This commit is contained in:
Harry van Haaren
2020-07-13 13:42:12 +01:00
committed by Ian Stokes
parent 3d018c3ea7
commit 9ff7cabfd7

View File

@@ -1300,6 +1300,30 @@ sorted_poll_thread_list(struct dp_netdev *dp,
*n = k;
}
static void
dpif_netdev_subtable_lookup_get(struct unixctl_conn *conn, int argc OVS_UNUSED,
const char *argv[] OVS_UNUSED,
void *aux OVS_UNUSED)
{
/* Get a list of all lookup functions. */
struct dpcls_subtable_lookup_info_t *lookup_funcs = NULL;
int32_t count = dpcls_subtable_lookup_info_get(&lookup_funcs);
if (count < 0) {
unixctl_command_reply_error(conn, "error getting lookup names");
return;
}
/* Add all lookup functions to reply string. */
struct ds reply = DS_EMPTY_INITIALIZER;
ds_put_cstr(&reply, "Available lookup functions (priority : name)\n");
for (int i = 0; i < count; i++) {
ds_put_format(&reply, " %d : %s\n", lookup_funcs[i].prio,
lookup_funcs[i].name);
}
unixctl_command_reply(conn, ds_cstr(&reply));
ds_destroy(&reply);
}
static void
dpif_netdev_subtable_lookup_set(struct unixctl_conn *conn, int argc,
const char *argv[], void *aux OVS_UNUSED)
@@ -1610,6 +1634,9 @@ dpif_netdev_init(void)
"[lookup_func] [prio] [dp]",
2, 3, dpif_netdev_subtable_lookup_set,
NULL);
unixctl_command_register("dpif-netdev/subtable-lookup-prio-get", "",
0, 0, dpif_netdev_subtable_lookup_get,
NULL);
return 0;
}