]> git.proxmox.com Git - mirror_ovs.git/commitdiff
dpctl: Export next argument to be parsed in opt_dpif_open().
authorYi-Hung Wei <yihung.wei@gmail.com>
Fri, 17 Aug 2018 09:05:10 +0000 (02:05 -0700)
committerJustin Pettit <jpettit@ovn.org>
Fri, 17 Aug 2018 16:46:59 +0000 (09:46 -0700)
Make opt_dpif_open() to export the next argument to be parsed
in opt_dpif_open().  It will be useful for the following patches.

Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: Justin Pettit <jpettit@ovn.org>
lib/dpctl.c

index c228dc10c2e3d49e578cb3e510c82ef2b295f27c..b4727379651194e35ead063ca747ad7dc0b9c762 100644 (file)
@@ -215,14 +215,23 @@ dp_arg_exists(int argc, const char *argv[])
  *
  * The datapath name is not a mandatory parameter for this command.  If it is
  * not specified, we retrieve it from the current setup, assuming only one
- * exists.  On success stores the opened dpif in '*dpifp'. */
+ * exists.  On success stores the opened dpif in '*dpifp', and the next
+ * arugment to be parsed in '*indexp'.  */
 static int
 opt_dpif_open(int argc, const char *argv[], struct dpctl_params *dpctl_p,
-              uint8_t max_args, struct dpif **dpifp)
+              int max_args, struct dpif **dpifp, int *indexp)
 {
     char *dpname;
+
+    if (indexp) {
+        *indexp = 1;
+    }
+
     if (dp_arg_exists(argc, argv)) {
         dpname = xstrdup(argv[1]);
+        if (indexp) {
+            *indexp = 2;
+        }
     } else if (argc != max_args) {
         dpname = get_one_dp(dpctl_p);
     } else {
@@ -897,7 +906,7 @@ dpctl_dump_flows(int argc, const char *argv[], struct dpctl_params *dpctl_p)
         }
     }
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif, NULL);
     if (error) {
         goto out_free;
     }
@@ -1024,7 +1033,7 @@ dpctl_put_flow(int argc, const char *argv[], enum dpif_flow_put_flags flags,
     struct simap port_names;
     int n, error;
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 4, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 4, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1126,7 +1135,7 @@ dpctl_get_flow(int argc, const char *argv[], struct dpctl_params *dpctl_p)
     struct ds ds;
     int n, error;
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 3, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 3, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1175,7 +1184,7 @@ dpctl_del_flow(int argc, const char *argv[], struct dpctl_params *dpctl_p)
     struct simap port_names;
     int n, error;
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 3, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 3, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1244,7 +1253,7 @@ dpctl_del_flows(int argc, const char *argv[], struct dpctl_params *dpctl_p)
 {
     struct dpif *dpif;
 
-    int error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif);
+    int error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1305,7 +1314,7 @@ dpctl_dump_conntrack(int argc, const char *argv[],
         argc--;
     }
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1369,7 +1378,7 @@ dpctl_flush_conntrack(int argc, const char *argv[],
         goto error;
     }
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 4, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 4, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1420,7 +1429,7 @@ dpctl_ct_stats_show(int argc, const char *argv[],
         }
     }
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1545,7 +1554,7 @@ dpctl_ct_bkts(int argc, const char *argv[],
         }
     }
 
-    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif);
+    error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif, NULL);
     if (error) {
         return error;
     }
@@ -1625,7 +1634,7 @@ dpctl_ct_set_maxconns(int argc, const char *argv[],
                       struct dpctl_params *dpctl_p)
 {
     struct dpif *dpif;
-    int error = opt_dpif_open(argc, argv, dpctl_p, 3, &dpif);
+    int error = opt_dpif_open(argc, argv, dpctl_p, 3, &dpif, NULL);
     if (!error) {
         uint32_t maxconns;
         if (ovs_scan(argv[argc - 1], "%"SCNu32, &maxconns)) {
@@ -1651,7 +1660,7 @@ dpctl_ct_get_maxconns(int argc, const char *argv[],
                     struct dpctl_params *dpctl_p)
 {
     struct dpif *dpif;
-    int error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif);
+    int error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif, NULL);
     if (!error) {
         uint32_t maxconns;
         error = ct_dpif_get_maxconns(dpif, &maxconns);
@@ -1672,7 +1681,7 @@ dpctl_ct_get_nconns(int argc, const char *argv[],
                     struct dpctl_params *dpctl_p)
 {
     struct dpif *dpif;
-    int error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif);
+    int error = opt_dpif_open(argc, argv, dpctl_p, 2, &dpif, NULL);
     if (!error) {
         uint32_t nconns;
         error = ct_dpif_get_nconns(dpif, &nconns);