X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fofp-print.c;h=683fd98721910a184b25497f3a0973b3d705c587;hb=f5e7ed5d267b33712f62a61356ed5ead4f8a367c;hp=90afec48d5ac430683e84780fd57049a8c5c8471;hpb=834377ea559d665520910968358c522f30d3eb93;p=openvswitch diff --git a/lib/ofp-print.c b/lib/ofp-print.c index 90afec48..683fd987 100644 --- a/lib/ofp-print.c +++ b/lib/ofp-print.c @@ -16,10 +16,10 @@ #include #include "ofp-print.h" -#include "xtoxll.h" #include #include +#include #include #include #include @@ -35,6 +35,7 @@ #include "packets.h" #include "pcap.h" #include "util.h" +#include "xtoxll.h" static void ofp_print_port_name(struct ds *string, uint16_t port); @@ -933,11 +934,16 @@ ofp_desc_stats_reply(struct ds *string, const void *body, { const struct ofp_desc_stats *ods = body; - ds_put_format(string, "Manufacturer: %s\n", ods->mfr_desc); - ds_put_format(string, "Hardware: %s\n", ods->hw_desc); - ds_put_format(string, "Software: %s\n", ods->sw_desc); - ds_put_format(string, "Serial Num: %s\n", ods->serial_num); - ds_put_format(string, "DP Description: %s\n", ods->dp_desc); + ds_put_format(string, "Manufacturer: %.*s\n", + (int) sizeof ods->mfr_desc, ods->mfr_desc); + ds_put_format(string, "Hardware: %.*s\n", + (int) sizeof ods->hw_desc, ods->hw_desc); + ds_put_format(string, "Software: %.*s\n", + (int) sizeof ods->sw_desc, ods->sw_desc); + ds_put_format(string, "Serial Num: %.*s\n", + (int) sizeof ods->serial_num, ods->serial_num); + ds_put_format(string, "DP Description: %.*s\n", + (int) sizeof ods->dp_desc, ods->dp_desc); } static void @@ -1063,6 +1069,14 @@ static void print_port_stat(struct ds *string, const char *leader, } } +static void +ofp_port_stats_request(struct ds *string, const void *body_, + size_t len OVS_UNUSED, int verbosity OVS_UNUSED) +{ + const struct ofp_port_stats_request *psr = body_; + ds_put_format(string, "port_no=%"PRIu16, ntohs(psr->port_no)); +} + static void ofp_port_stats_reply(struct ds *string, const void *body, size_t len, int verbosity) @@ -1187,7 +1201,9 @@ print_stats(struct ds *string, int type, const void *body, size_t body_len, { OFPST_PORT, "port", - { 0, 0, NULL, }, + { sizeof(struct ofp_port_stats_request), + sizeof(struct ofp_port_stats_request), + ofp_port_stats_request }, { 0, SIZE_MAX, ofp_port_stats_reply }, }, {