ofp-print: Use the prevailing protocol to call ofputil_decode_flow_mod()
authorSimon Horman <horms@verge.net.au>
Wed, 1 Aug 2012 07:01:51 +0000 (16:01 +0900)
committerBen Pfaff <blp@nicira.com>
Tue, 7 Aug 2012 05:50:57 +0000 (22:50 -0700)
Pass a protocol based on the prevailing protocol to ofputil_decode_flow_mod()

Note that ofputil_protocol_from_ofp_version() needs to be made
Open Flow 1.1 aware.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/ofp-print.c

index e8a928e52770ddb283d48222d0bf70b54380bae3..b4b8bb6a8f6056a71faa974123e5773f476f736c 100644 (file)
@@ -685,9 +685,13 @@ ofp_print_flow_mod(struct ds *s, const struct ofp_header *oh, int verbosity)
     bool need_priority;
     enum ofperr error;
     enum ofpraw raw;
+    enum ofputil_protocol protocol;
+
+    protocol = ofputil_protocol_from_ofp_version(oh->version);
+    protocol = ofputil_protocol_set_tid(protocol, true);
 
     ofpbuf_init(&ofpacts, 64);
-    error = ofputil_decode_flow_mod(&fm, oh, OFPUTIL_P_OF10_TID, &ofpacts);
+    error = ofputil_decode_flow_mod(&fm, oh, protocol, &ofpacts);
     if (error) {
         ofpbuf_uninit(&ofpacts);
         ofp_print_error(s, error);