diff options
author | Ben Pfaff <blp@ovn.org> | 2018-12-14 18:16:55 -0800 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2019-02-25 15:38:25 -0800 |
commit | d40533fc820c30a461e7eefe4bcfee3f799d0f11 (patch) | |
tree | 7856d83af43c276c090859fe1d1fffe66af13f55 /tests | |
parent | f0e3075ff0d13a10f0605d4508d0dc72d605b5cc (diff) | |
download | openvswitch-d40533fc820c30a461e7eefe4bcfee3f799d0f11.tar.gz |
odp-util: Improve log messages and error reporting for Netlink parsing.
As a side effect, this also reduces a lot of log messages' severities from
ERR to WARN. They just didn't seem like messages that in general reported
anything that would prevent functioning.
Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/odp.at | 2 | ||||
-rw-r--r-- | tests/ofproto-dpif.at | 2 | ||||
-rw-r--r-- | tests/test-odp.c | 26 | ||||
-rw-r--r-- | tests/tunnel.at | 4 |
4 files changed, 21 insertions, 13 deletions
diff --git a/tests/odp.at b/tests/odp.at index 558c0c6a0..f92f989ca 100644 --- a/tests/odp.at +++ b/tests/odp.at @@ -397,6 +397,6 @@ AT_DATA([odp-in.txt], [dnl encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap())))))))))))))))))))))))))))))))) ]) AT_CHECK_UNQUOTED([ovstest test-odp parse-keys < odp-in.txt], [0], [dnl -odp_flow_from_string: error +odp_flow_from_string: error (syntax error at encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap(encap()))))))))))))))))))))))))))))))))) ]) AT_CLEANUP diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at index ded2ef013..03e1fab05 100644 --- a/tests/ofproto-dpif.at +++ b/tests/ofproto-dpif.at @@ -5707,7 +5707,7 @@ m4_foreach( [AT_CHECK([ovs-appctl ofproto/trace "$br_flow" option], [2], [], [stderr]) AT_CHECK([tail -2 stderr], [0], [dnl -Must specify bridge name +syntax error at in_port=1,dl_src=50:54:00:00:00:01,dl_dst=50:54:00:00:00:02 (or the bridge name was omitted) ovs-appctl: ovs-vswitchd: server returned an error ])]) diff --git a/tests/test-odp.c b/tests/test-odp.c index f61846422..09fec706a 100644 --- a/tests/test-odp.c +++ b/tests/test-odp.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, 2013, 2014 Nicira, Inc. + * Copyright (c) 2011, 2012, 2013, 2014, 2019 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,10 +46,12 @@ parse_keys(bool wc_keys) /* Convert string to OVS DP key. */ ofpbuf_init(&odp_key, 0); ofpbuf_init(&odp_mask, 0); + char *error_s; error = odp_flow_from_string(ds_cstr(&in), NULL, - &odp_key, &odp_mask); + &odp_key, &odp_mask, &error_s); if (error) { - printf("odp_flow_from_string: error\n"); + printf("odp_flow_from_string: error (%s)\n", error_s); + free(error_s); goto next; } @@ -67,7 +69,8 @@ parse_keys(bool wc_keys) }; /* Convert odp_key to flow. */ - fitness = odp_flow_key_to_flow(odp_key.data, odp_key.size, &flow); + fitness = odp_flow_key_to_flow(odp_key.data, odp_key.size, &flow, + &error_s); switch (fitness) { case ODP_FIT_PERFECT: break; @@ -81,7 +84,8 @@ parse_keys(bool wc_keys) break; case ODP_FIT_ERROR: - printf("odp_flow_key_to_flow: error\n"); + printf("odp_flow_key_to_flow: error (%s)\n", error_s); + free(error_s); goto next; } /* Convert cls_rule back to odp_key. */ @@ -182,8 +186,11 @@ parse_filter(char *filter_parse) /* Convert string to OVS DP key. */ ofpbuf_init(&odp_key, 0); ofpbuf_init(&odp_mask, 0); - if (odp_flow_from_string(ds_cstr(&in), NULL, &odp_key, &odp_mask)) { - printf("odp_flow_from_string: error\n"); + char *error_s; + if (odp_flow_from_string(ds_cstr(&in), NULL, &odp_key, &odp_mask, + &error_s)) { + printf("odp_flow_from_string: error (%s)\n", error_s); + free(error_s); goto next; } @@ -193,8 +200,9 @@ parse_filter(char *filter_parse) struct match match, match_filter; struct minimatch minimatch; - odp_flow_key_to_flow(odp_key.data, odp_key.size, &flow); - odp_flow_key_to_mask(odp_mask.data, odp_mask.size, &wc, &flow); + odp_flow_key_to_flow(odp_key.data, odp_key.size, &flow, NULL); + odp_flow_key_to_mask(odp_mask.data, odp_mask.size, &wc, &flow, + NULL); match_init(&match, &flow, &wc); match_init(&match_filter, &flow_filter, &wc); diff --git a/tests/tunnel.at b/tests/tunnel.at index 55fb1d391..035c54f67 100644 --- a/tests/tunnel.at +++ b/tests/tunnel.at @@ -55,7 +55,7 @@ AT_CHECK([tail -1 stdout], [0], dnl nonexistent tunnel AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'tunnel(src=5.5.5.5,dst=6.6.6.6,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'], [2], [ignore], [dnl -Invalid datapath flow +no OpenFlow tunnel port for this packet ovs-appctl: ovs-vswitchd: server returned an error ]) @@ -314,7 +314,7 @@ set(tunnel(tun_id=0x3,dst=1.1.1.1,ttl=64,flags(df|key))),1 ]) AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0xf,src=1.1.1.1,dst=2.2.2.2,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'], [2], [ignore], [dnl -Invalid datapath flow +no OpenFlow tunnel port for this packet ovs-appctl: ovs-vswitchd: server returned an error ]) OVS_VSWITCHD_STOP(["/receive tunnel port not found/d"]) |