This commit adds ia new command, "dpif-netdev/subtable-lookup-prio-get" which prints the available sutable 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.haa...@intel.com> Acked-by: William Tu <u9012...@gmail.com> --- v5: - Add Ack from mailing list v4: - Add "prio" to name for consistency with "set" command (William Tu) - Fix typo (William Tu) --- lib/dpif-netdev.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 758323a0e..da344106d 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -1295,6 +1295,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, "\t%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) @@ -1605,6 +1629,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; } -- 2.17.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev