[ovs-dev] [PATCH 1/2] ovn-trace: Fix daemon exit for bad datapaths or flows.

Ben Pfaff blp at ovn.org
Sun Oct 23 17:49:26 UTC 2016


When ovn-trace is running in daemon mode (with --detach), a trace command
received via unixctl (e.g. "ovs-appctl -t ovn-trace trace ...") should not
cause ovn-trace to exit, but it did.  This fixes the problem.

Signed-off-by: Ben Pfaff <blp at ovn.org>
---
 ovn/utilities/ovn-trace.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ovn/utilities/ovn-trace.c b/ovn/utilities/ovn-trace.c
index 3d62cf8..94321cf 100644
--- a/ovn/utilities/ovn-trace.c
+++ b/ovn/utilities/ovn-trace.c
@@ -1362,14 +1362,14 @@ trace(const char *dp_s, const char *flow_s)
 {
     const struct ovntrace_datapath *dp = ovntrace_datapath_find_by_name(dp_s);
     if (!dp) {
-        ovs_fatal(0, "unknown datapath \"%s\"", dp_s);
+        return xasprintf("unknown datapath \"%s\"\n", dp_s);
     }
 
     struct flow uflow;
     char *error = expr_parse_microflow(flow_s, &symtab, &address_sets,
                                        ovntrace_lookup_port, dp, &uflow);
     if (error) {
-        ovs_fatal(0, "error parsing flow: %s", error);
+        return xasprintf("error parsing flow: %s\n", error);
     }
 
     uint32_t in_key = uflow.regs[MFF_LOG_INPORT - MFF_REG0];
-- 
2.1.3




More information about the dev mailing list