X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=tests%2Ftest-netflow.c;h=b6c3109d04ab34a5952827718b90dc324caae344;hb=34582733d9aad82bba60f4bf986b62d58412502a;hp=7d028874786d7ab5216e04e0a175fdf416329e49;hpb=ef8a3d14976080fc5e29ce04bea8bd88f8b631f2;p=cascardo%2Fovs.git diff --git a/tests/test-netflow.c b/tests/test-netflow.c index 7d0288747..b6c3109d0 100644 --- a/tests/test-netflow.c +++ b/tests/test-netflow.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012 Nicira Networks. + * Copyright (c) 2011, 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ #include "command-line.h" #include "daemon.h" +#include "dynamic-string.h" #include "netflow.h" #include "ofpbuf.h" #include "packets.h" @@ -73,8 +74,8 @@ print_netflow(struct ofpbuf *buf) return; } - printf("rec: "IP_FMT" > "IP_FMT, - IP_ARGS(&rec->src_addr), IP_ARGS(&rec->dst_addr)); + printf("seq %"PRIu32": "IP_FMT" > "IP_FMT, ntohl(hdr->flow_seq), + IP_ARGS(rec->src_addr), IP_ARGS(rec->dst_addr)); printf(", if %"PRIu16" > %"PRIu16, ntohs(rec->input), ntohs(rec->output)); @@ -87,31 +88,10 @@ print_netflow(struct ofpbuf *buf) printf(", TCP %"PRIu16" > %"PRIu16, ntohs(rec->src_port), ntohs(rec->dst_port)); if (rec->tcp_flags) { - putchar(' '); - if (rec->tcp_flags & TCP_SYN) { - putchar('S'); - } - if (rec->tcp_flags & TCP_FIN) { - putchar('F'); - } - if (rec->tcp_flags & TCP_PSH) { - putchar('P'); - } - if (rec->tcp_flags & TCP_RST) { - putchar('R'); - } - if (rec->tcp_flags & TCP_URG) { - putchar('U'); - } - if (rec->tcp_flags & TCP_ACK) { - putchar('.'); - } - if (rec->tcp_flags & 0x40) { - printf("[40]"); - } - if (rec->tcp_flags & 0x80) { - printf("[80]"); - } + struct ds s = DS_EMPTY_INITIALIZER; + packet_format_tcp_flags(&s, rec->tcp_flags); + printf(" %s", ds_cstr(&s)); + ds_destroy(&s); } break; @@ -120,6 +100,11 @@ print_netflow(struct ofpbuf *buf) ntohs(rec->src_port), ntohs(rec->dst_port)); break; + case IPPROTO_SCTP: + printf(", SCTP %"PRIu16" > %"PRIu16, + ntohs(rec->src_port), ntohs(rec->dst_port)); + break; + case IPPROTO_ICMP: printf(", ICMP %"PRIu16":%"PRIu16, ntohs(rec->dst_port) >> 8, @@ -140,6 +125,7 @@ print_netflow(struct ofpbuf *buf) if (rec->ip_proto != IPPROTO_TCP && rec->ip_proto != IPPROTO_UDP && + rec->ip_proto != IPPROTO_SCTP && rec->ip_proto != IPPROTO_ICMP) { if (rec->src_port != htons(0)) { printf(", src_port %"PRIu16, ntohs(rec->src_port)); @@ -157,7 +143,7 @@ print_netflow(struct ofpbuf *buf) ntohl(rec->init_time), ntohl(rec->used_time)); if (rec->nexthop != htonl(0)) { - printf(", nexthop "IP_FMT, IP_ARGS(&rec->nexthop)); + printf(", nexthop "IP_FMT, IP_ARGS(rec->nexthop)); } if (rec->src_as != htons(0) || rec->dst_as != htons(0)) { printf(", AS %"PRIu16" > %"PRIu16, @@ -176,7 +162,7 @@ print_netflow(struct ofpbuf *buf) } if (buf->size) { - printf("%zu extra bytes after last record\n", buf->size); + printf("%"PRIuSIZE" extra bytes after last record\n", buf->size); } } @@ -204,7 +190,7 @@ main(int argc, char *argv[]) sock = inet_open_passive(SOCK_DGRAM, target, 0, NULL, 0); if (sock < 0) { - ovs_fatal(0, "%s: failed to open (%s)", argv[1], strerror(-sock)); + ovs_fatal(0, "%s: failed to open (%s)", argv[1], ovs_strerror(-sock)); } daemon_save_fd(STDOUT_FILENO); @@ -254,12 +240,13 @@ static void parse_options(int argc, char *argv[]) { enum { - DAEMON_OPTION_ENUMS + DAEMON_OPTION_ENUMS, + VLOG_OPTION_ENUMS }; - static struct option long_options[] = { - {"verbose", optional_argument, NULL, 'v'}, + static const struct option long_options[] = { {"help", no_argument, NULL, 'h'}, DAEMON_LONG_OPTIONS, + VLOG_LONG_OPTIONS, {NULL, 0, NULL, 0}, }; char *short_options = long_options_to_short_options(long_options); @@ -274,11 +261,8 @@ parse_options(int argc, char *argv[]) case 'h': usage(); - case 'v': - vlog_set_verbosity(optarg); - break; - DAEMON_OPTION_HANDLERS + VLOG_OPTION_HANDLERS case '?': exit(EXIT_FAILURE);