ofp-print: Remove vestigial 'total_len' argument.
authorEthan Jackson <ethan@nicira.com>
Fri, 23 Dec 2011 01:47:15 +0000 (17:47 -0800)
committerEthan Jackson <ethan@nicira.com>
Tue, 10 Jan 2012 22:29:17 +0000 (14:29 -0800)
ofp_print_packet() and ofp_packet_to_string() don't use the
'total_len' argument which they require callers to supply.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
lib/dpif.c
lib/ofp-print.c
lib/ofp-print.h
ofproto/ofproto-dpif.c
tests/test-flows.c

index 9cbf877179d2f2d0848f6b342219a50cf1cd93d0..a01b998c30874d3636682db265b716f962f6f7ca 100644 (file)
@@ -962,7 +962,7 @@ dpif_execute(struct dpif *dpif,
 
     if (!(error ? VLOG_DROP_WARN(&error_rl) : VLOG_DROP_DBG(&dpmsg_rl))) {
         struct ds ds = DS_EMPTY_INITIALIZER;
-        char *packet = ofp_packet_to_string(buf->data, buf->size, buf->size);
+        char *packet = ofp_packet_to_string(buf->data, buf->size);
         ds_put_format(&ds, "%s: execute ", dpif_name(dpif));
         format_odp_actions(&ds, actions, actions_len);
         if (error) {
@@ -1098,7 +1098,6 @@ dpif_recv(struct dpif *dpif, struct dpif_upcall *upcall)
         char *packet;
 
         packet = ofp_packet_to_string(upcall->packet->data,
-                                      upcall->packet->size,
                                       upcall->packet->size);
 
         ds_init(&flow);
index fe852b4ee172344f8246755b7a2829bafc4dbedd..7ed3ce12674dc3ec8805060cee1b22ab16b87969 100644 (file)
@@ -50,14 +50,12 @@ static void ofp_print_error(struct ds *, int error);
 
 /* Returns a string that represents the contents of the Ethernet frame in the
  * 'len' bytes starting at 'data' to 'stream' as output by tcpdump.
- * 'total_len' specifies the full length of the Ethernet frame (of which 'len'
- * bytes were captured).
  *
  * The caller must free the returned string.
  *
  * This starts and kills a tcpdump subprocess so it's quite expensive. */
 char *
-ofp_packet_to_string(const void *data, size_t len, size_t total_len OVS_UNUSED)
+ofp_packet_to_string(const void *data, size_t len)
 {
     struct ds ds = DS_EMPTY_INITIALIZER;
     struct ofpbuf buf;
@@ -145,8 +143,7 @@ ofp_print_packet_in(struct ds *string, const struct ofp_packet_in *op,
         ds_put_char(string, '\n');
     }
     if (verbosity > 1) {
-        char *packet = ofp_packet_to_string(op->data, data_len,
-                                            ntohs(op->total_len));
+        char *packet = ofp_packet_to_string(op->data, data_len);
         ds_put_cstr(string, packet);
         free(packet);
     }
@@ -403,7 +400,7 @@ ofp_print_packet_out(struct ds *string, const struct ofp_packet_out *opo,
         ds_put_format(string, " data_len=%d", data_len);
         if (verbosity > 0 && len > sizeof *opo) {
             char *packet = ofp_packet_to_string(
-                    (uint8_t *)opo->actions + actions_len, data_len, data_len);
+                    (uint8_t *) opo->actions + actions_len, data_len);
             ds_put_char(string, '\n');
             ds_put_cstr(string, packet);
             free(packet);
@@ -1597,7 +1594,7 @@ ofp_print(FILE *stream, const void *oh, size_t len, int verbosity)
  *
  * This starts and kills a tcpdump subprocess so it's quite expensive. */
 void
-ofp_print_packet(FILE *stream, const void *data, size_t len, size_t total_len)
+ofp_print_packet(FILE *stream, const void *data, size_t len)
 {
-    print_and_free(stream, ofp_packet_to_string(data, len, total_len));
+    print_and_free(stream, ofp_packet_to_string(data, len));
 }
index 85030560410ace2bb18f2d1e3a6ac47e24aa941e..428f5ce327e90a9ee3f45ad20b712e93dce50f6a 100644 (file)
@@ -32,14 +32,14 @@ extern "C" {
 #endif
 
 void ofp_print(FILE *, const void *, size_t, int verbosity);
-void ofp_print_packet(FILE *stream, const void *data, size_t len, size_t total_len);
+void ofp_print_packet(FILE *stream, const void *data, size_t len);
 
 void ofp_print_actions(struct ds *, const union ofp_action *, size_t);
 void ofp_print_match(struct ds *, const struct ofp_match *, int verbosity);
 
 char *ofp_to_string(const void *, size_t, int verbosity);
 char *ofp_match_to_string(const struct ofp_match *, int verbosity);
-char *ofp_packet_to_string(const void *data, size_t len, size_t total_len);
+char *ofp_packet_to_string(const void *data, size_t len);
 char *ofp_message_type_to_string(uint8_t type);
 
 
index fe99d70d6fa99c17b4f5ac9522a7db7cf50a5f5e..1645632022fb68fe598d664e7ae45c5ab3b91322 100644 (file)
@@ -5825,7 +5825,7 @@ ofproto_unixctl_trace(struct unixctl_conn *conn, int argc, const char *argv[],
         }
 
         ds_put_cstr(&result, "Packet: ");
-        s = ofp_packet_to_string(packet->data, packet->size, packet->size);
+        s = ofp_packet_to_string(packet->data, packet->size);
         ds_put_cstr(&result, s);
         free(s);
 
index 9d36eb174ce8ea66183de45c777da6c24feb1e94..55f7dee6731e51d298084826fab9fe0d707f2d6b 100644 (file)
@@ -78,7 +78,7 @@ main(int argc OVS_UNUSED, char *argv[])
             errors++;
             printf("mismatch on packet #%d (1-based).\n", n);
             printf("Packet:\n");
-            ofp_print_packet(stdout, packet->data, packet->size, packet->size);
+            ofp_print_packet(stdout, packet->data, packet->size);
             ovs_hex_dump(stdout, packet->data, packet->size, 0, true);
             cls_rule_print(&rule);
             printf("Expected flow:\n%s\n", exp_s);