summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2018-12-14 18:16:55 -0800
committerBen Pfaff <blp@ovn.org>2019-02-25 15:38:25 -0800
commitd40533fc820c30a461e7eefe4bcfee3f799d0f11 (patch)
tree7856d83af43c276c090859fe1d1fffe66af13f55 /tests
parentf0e3075ff0d13a10f0605d4508d0dc72d605b5cc (diff)
downloadopenvswitch-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.at2
-rw-r--r--tests/ofproto-dpif.at2
-rw-r--r--tests/test-odp.c26
-rw-r--r--tests/tunnel.at4
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"])