@@ -1226,9 +1226,10 @@ ETEXI
{
.name = "netdev_add",
.args_type = "netdev:O",
- .params = "[user|tap|socket|hubport|netmap],id=str[,prop=value][,...]",
+ .params = "[user|tap|socket|vde|bridge|hubport|netmap],id=str[,prop=value][,...]",
.help = "add host network device",
.mhandler.cmd = hmp_netdev_add,
+ .command_completion = netdev_add_completion,
},
STEXI
@@ -100,6 +100,7 @@ void chardev_add_completion(Monitor *mon, int nb_args, const char *str);
void chardev_remove_completion(Monitor *mon, int nb_args, const char *str);
void cpu_completion(Monitor *mon, int nb_args, const char *str);
void set_link_completion(Monitor *mon, int nb_args, const char *str);
+void netdev_add_completion(Monitor *mon, int nb_args, const char *str);
#endif
@@ -4312,6 +4312,24 @@ void chardev_add_completion(Monitor *mon, int nb_args, const char *str)
qapi_free_ChardevBackendInfoList(start);
}
+void netdev_add_completion(Monitor *mon, int nb_args, const char *str)
+{
+ size_t len;
+
+ if (nb_args != 2) {
+ return;
+ }
+ len = strlen(str);
+ readline_set_completion_index(mon->rs, len);
+ add_completion_option(mon, str, "user");
+ add_completion_option(mon, str, "tap");
+ add_completion_option(mon, str, "socket");
+ add_completion_option(mon, str, "vde");
+ add_completion_option(mon, str, "bridge");
+ add_completion_option(mon, str, "hubport");
+ add_completion_option(mon, str, "netmap");
+}
+
void device_add_completion(Monitor *mon, int nb_args, const char *str)
{
GSList *list, *elt;
Also update the command's documentation. Signed-off-by: Hani Benhabiles <hani@linux.com> --- hmp-commands.hx | 3 ++- hmp.h | 1 + monitor.c | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-)