[ovs-dev] [ofp-print 10/15] ofp-print: Improve formatting for bad OpenFlow messages.

Justin Pettit jpettit at nicira.com
Tue Dec 14 22:30:44 UTC 2010


Looks good.

--Justin


On Dec 14, 2010, at 12:23 PM, Ben Pfaff wrote:

> ---
> lib/ofp-print.c |   11 +++++++----
> 1 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/ofp-print.c b/lib/ofp-print.c
> index e565569..63edb79 100644
> --- a/lib/ofp-print.c
> +++ b/lib/ofp-print.c
> @@ -1036,7 +1036,7 @@ ofp_print_error(struct ds *string, int error)
>     if (string->length) {
>         ds_put_char(string, ' ');
>     }
> -    ds_put_format(string, " ***decode error type:%d(%s) code:%d(%s)***",
> +    ds_put_format(string, " ***decode error type:%d(%s) code:%d(%s)***\n",
>                   type, lookup_error_type(type),
>                   code, lookup_error_code(type, code));
> }
> @@ -1720,14 +1720,17 @@ ofp_to_string(const void *oh_, size_t len, int verbosity)
>     struct ds string = DS_EMPTY_INITIALIZER;
>     const struct ofp_header *oh = oh_;
> 
> -    if (len < sizeof(struct ofp_header)) {
> -        ds_put_cstr(&string, "OpenFlow packet too short:\n");
> +    if (!len) {
> +        ds_put_cstr(&string, "OpenFlow message is empty\n");
> +    } else if (len < sizeof(struct ofp_header)) {
> +        ds_put_format(&string, "OpenFlow packet too short (only %zu bytes):\n",
> +                      len);
>     } else if (oh->version != OFP_VERSION) {
>         ds_put_format(&string, "Bad OpenFlow version %"PRIu8":\n",
>                       oh->version);
>     } else if (ntohs(oh->length) > len) {
>         ds_put_format(&string,
> -                      "(***truncated to %zu bytes from %"PRIu16"***)",
> +                      "(***truncated to %zu bytes from %"PRIu16"***)\n",
>                       len, ntohs(oh->length));
>     } else if (ntohs(oh->length) < len) {
>         ds_put_format(&string,
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org





More information about the dev mailing list