From: Ben Pfaff Date: Tue, 10 Mar 2009 23:13:35 +0000 (-0700) Subject: dpctl: Allow initial set of interfaces to be specified on "adddp" command. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5685e1619da24e6c22f605603d4751596fc4d4b8;p=openvswitch dpctl: Allow initial set of interfaces to be specified on "adddp" command. Commands such as e.g. "dpctl adddp dp0 eth0 eth1 eth2" are now accepted. --- diff --git a/utilities/dpctl.c b/utilities/dpctl.c index 06012a72..b934e6a0 100644 --- a/utilities/dpctl.c +++ b/utilities/dpctl.c @@ -207,8 +207,8 @@ usage(void) { printf("%s: OpenFlow switch management utility\n" "usage: %s [OPTIONS] COMMAND [ARG...]\n" - "\nFor local datapaths:\n" - " adddp DP add a new local datapath DP\n" + "\nFor datapaths:\n" + " adddp DP [IFACE...] add new datapath DP (with IFACES)\n" " deldp DP delete local datapath DP\n" " addif DP IFACE... add each IFACE as a port on DP\n" " delif DP IFACE... delete each IFACE from DP\n" @@ -273,6 +273,8 @@ static void run(int retval, const char *message, ...) } } +static void do_add_port(const struct settings *, int argc, char *argv[]); + static int if_up(const char *netdev_name) { struct netdev *netdev; @@ -301,6 +303,9 @@ do_add_dp(const struct settings *s UNUSED, int argc UNUSED, char *argv[]) struct dpif dpif; run(dpif_create(argv[1], &dpif), "add_dp"); dpif_close(&dpif); + if (argc > 2) { + do_add_port(s, argc, argv); + } } static void @@ -1510,7 +1515,7 @@ do_help(const struct settings *s UNUSED, int argc UNUSED, char *argv[] UNUSED) static struct command all_commands[] = { #ifdef HAVE_NETLINK - { "adddp", 1, 1, do_add_dp }, + { "adddp", 1, INT_MAX, do_add_dp }, { "deldp", 1, 1, do_del_dp }, { "addif", 2, INT_MAX, do_add_port }, { "delif", 2, INT_MAX, do_del_port },