From e1db42d68bf896116277bf8dbc162ca6b5252803 Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Mon, 14 Jan 2013 14:43:53 +0200 Subject: [PATCH] ofp-print.c: Fix remaining port number prints. Use ofputil_format_port() to print port numbers so that special ports will be printed out as symbolic names (e.g., LOCAL) instead of numbers. Signed-off-by: Jarno Rajahalme Signed-off-by: Ben Pfaff --- lib/ofp-print.c | 43 +++++++++++++++++++++++++++++++++---------- tests/ofp-print.at | 12 ++++++------ tests/ofproto.at | 4 ++-- 3 files changed, 41 insertions(+), 18 deletions(-) diff --git a/lib/ofp-print.c b/lib/ofp-print.c index 8ad406d2d..b97180e66 100644 --- a/lib/ofp-print.c +++ b/lib/ofp-print.c @@ -569,6 +569,22 @@ static void print_wild(struct ds *string, const char *leader, int is_wild, ds_put_char(string, ','); } +static void +print_wild_port(struct ds *string, const char *leader, int is_wild, + int verbosity, uint16_t port) +{ + if (is_wild && verbosity < 2) { + return; + } + ds_put_cstr(string, leader); + if (!is_wild) { + ofputil_format_port(port, string); + } else { + ds_put_char(string, '*'); + } + ds_put_char(string, ','); +} + static void print_ip_netmask(struct ds *string, const char *leader, ovs_be32 ip, uint32_t wild_bits, int verbosity) @@ -630,8 +646,8 @@ ofp10_match_to_string(const struct ofp10_match *om, int verbosity) skip_type = false; } } - print_wild(&f, "in_port=", w & OFPFW10_IN_PORT, verbosity, - "%d", ntohs(om->in_port)); + print_wild_port(&f, "in_port=", w & OFPFW10_IN_PORT, verbosity, + ntohs(om->in_port)); print_wild(&f, "dl_vlan=", w & OFPFW10_DL_VLAN, verbosity, "%d", ntohs(om->dl_vlan)); print_wild(&f, "dl_vlan_pcp=", w & OFPFW10_DL_VLAN_PCP, verbosity, @@ -896,20 +912,22 @@ ofp_print_port_mod(struct ds *string, const struct ofp_header *oh) return; } - ds_put_format(string, "port: %"PRIu16": addr:"ETH_ADDR_FMT"\n", - pm.port_no, ETH_ADDR_ARGS(pm.hw_addr)); + ds_put_cstr(string, "port: "); + ofputil_format_port(pm.port_no, string); + ds_put_format(string, ": addr:"ETH_ADDR_FMT"\n", + ETH_ADDR_ARGS(pm.hw_addr)); - ds_put_format(string, " config: "); + ds_put_cstr(string, " config: "); ofp_print_port_config(string, pm.config); - ds_put_format(string, " mask: "); + ds_put_cstr(string, " mask: "); ofp_print_port_config(string, pm.mask); - ds_put_format(string, " advertise: "); + ds_put_cstr(string, " advertise: "); if (pm.advertise) { ofp_print_port_features(string, pm.advertise); } else { - ds_put_format(string, "UNCHANGED\n"); + ds_put_cstr(string, "UNCHANGED\n"); } } @@ -1135,7 +1153,8 @@ ofp_print_ofpst_port_request(struct ds *string, const struct ofp_header *oh) return; } - ds_put_format(string, " port_no=%2"PRIu16, ofp10_port); + ds_put_cstr(string, " port_no="); + ofputil_format_port(ofp10_port, string); } static void @@ -1162,7 +1181,11 @@ ofp_print_ofpst_port_reply(struct ds *string, const struct ofp_header *oh, return; } - ds_put_format(string, " port %2"PRIu16, ps.port_no); + ds_put_cstr(string, " port "); + if (ps.port_no < 10) { + ds_put_char(string, ' '); + } + ofputil_format_port(ps.port_no, string); ds_put_cstr(string, ": rx "); print_port_stat(string, "pkts=", ps.stats.rx_packets, 1); diff --git a/tests/ofp-print.at b/tests/ofp-print.at index a8adda2bc..40212918b 100644 --- a/tests/ofp-print.at +++ b/tests/ofp-print.at @@ -1180,7 +1180,7 @@ AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 14 00 00 00 01 00 04 00 00 ff ff 00 00 \ 00 00 00 00 \ "], [0], [dnl -OFPST_PORT request (xid=0x1): port_no=65535 +OFPST_PORT request (xid=0x1): port_no=ANY ]) AT_CLEANUP @@ -1190,7 +1190,7 @@ AT_CHECK([ovs-ofctl ofp-print "\ 02 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [dnl -OFPST_PORT request (OF1.1) (xid=0x2): port_no=65535 +OFPST_PORT request (OF1.1) (xid=0x2): port_no=ANY ]) AT_CLEANUP @@ -1200,7 +1200,7 @@ AT_CHECK([ovs-ofctl ofp-print "\ 03 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [dnl -OFPST_PORT request (OF1.2) (xid=0x2): port_no=65535 +OFPST_PORT request (OF1.2) (xid=0x2): port_no=ANY ]) AT_CLEANUP @@ -1210,7 +1210,7 @@ AT_CHECK([ovs-ofctl ofp-print "\ 04 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [dnl -OFPST_PORT request (OF1.3) (xid=0x2): port_no=65535 +OFPST_PORT request (OF1.3) (xid=0x2): port_no=ANY ]) AT_CLEANUP @@ -1248,7 +1248,7 @@ AT_CHECK([ovs-ofctl ofp-print "\ OFPST_PORT reply (xid=0x1): 4 ports port 3: rx pkts=19744, bytes=1007694, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=5170, bytes=356796, drop=0, errs=0, coll=0 - port 65534: rx pkts=684, bytes=68748, drop=0, errs=0, frame=0, over=0, crc=0 + port LOCAL: rx pkts=684, bytes=68748, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=501, bytes=56092, drop=0, errs=0, coll=0 port 2: rx pkts=1726, bytes=144564, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=1412, bytes=140244, drop=0, errs=0, coll=0 @@ -1285,7 +1285,7 @@ AT_CHECK([ovs-ofctl ofp-print "\ OFPST_PORT reply (OF1.2) (xid=0x2): 3 ports port 2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=136, bytes=11512, drop=0, errs=0, coll=0 - port 65534: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0 + port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0 port 1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0 diff --git a/tests/ofproto.at b/tests/ofproto.at index fe6836312..45aa54917 100644 --- a/tests/ofproto.at +++ b/tests/ofproto.at @@ -61,7 +61,7 @@ OVS_VSWITCHD_START AT_CHECK([ovs-ofctl -vwarn dump-ports br0], [0], [stdout]) AT_CHECK([STRIP_XIDS stdout], [0], [dnl OFPST_PORT reply: 1 ports - port 65534: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 + port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=0, bytes=0, drop=0, errs=0, coll=0 ]) OVS_VSWITCHD_STOP @@ -72,7 +72,7 @@ OVS_VSWITCHD_START AT_CHECK([ovs-ofctl -O OpenFlow12 -vwarn dump-ports br0], [0], [stdout]) AT_CHECK([STRIP_XIDS stdout], [0], [dnl OFPST_PORT reply (OF1.2): 1 ports - port 65534: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 + port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=0, bytes=0, drop=0, errs=0, coll=0 ]) OVS_VSWITCHD_STOP -- 2.43.0