ofp-parse: Check port number only after parsing it in parse_output().
authorDaisuke Kotani <kotani@net.ist.i.kyoto-u.ac.jp>
Mon, 23 Dec 2013 09:19:48 +0000 (18:19 +0900)
committerBen Pfaff <blp@nicira.com>
Tue, 24 Dec 2013 17:50:09 +0000 (09:50 -0800)
This patch allows to set max_len to UINT16_MAX in parse_output
if output port is OFPP_CONTROLLER.

Signed-off-by: Daisuke Kotani <kotani@net.ist.i.kyoto-u.ac.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/ofp-parse.c

index 6b69ecd..251adfa 100644 (file)
@@ -212,10 +212,10 @@ parse_output(const char *arg, struct ofpbuf *ofpacts)
         struct ofpact_output *output;
 
         output = ofpact_put_OUTPUT(ofpacts);
-        output->max_len = output->port == OFPP_CONTROLLER ? UINT16_MAX : 0;
         if (!ofputil_port_from_string(arg, &output->port)) {
             return xasprintf("%s: output to unknown port", arg);
         }
+        output->max_len = output->port == OFPP_CONTROLLER ? UINT16_MAX : 0;
         return NULL;
     }
 }