[ovs-dev] Questions about last_error
Jiajie Huo
jackyhuo at arista.com
Mon Jun 16 22:13:44 UTC 2014
Dear representative,
I checked on the vtep.xml file under the openvswitch/vtep directory.
There is a "last_error" tab saying that it will show "A human-readable
description of the last error on the connection to the manager;"
When we dig into the code, it really does not make sense. can you
clarify for me a little bit. I really appreciate that.
Initially, I thought that if "is_connected" tab is false, "last_error"
key will show on the output with a description of " the reason and
possibility of connection failure". However, when we actually integrate
them into our NSX-CVS system and no matter if the connection is on or off,
we do not see any "last_error" message come up in our "ovsdb dump".
Inside the code, under ovsdb/jsonrpc-server.c,
status->is_connected = jsonrpc_session_is_connected(js);
status->last_error = jsonrpc_session_get_status(js);
if dig one lever further,
bool
jsonrpc_session_is_connected(const struct jsonrpc_session *s)
{
return s->rpc != NULL;
}
int
jsonrpc_session_get_status(const struct jsonrpc_session *s)
{
return s && s->rpc ? jsonrpc_get_status(s->rpc) : 0;
}
The code shows that as long as is_connected is False, session_get_status
return False, which means that under ovsdb-server.c,
if (status.last_error) {
keys[n] = xstrdup("last_error");
values[n++] =
xstrdup(ovs_retval_to_string(status.last_error));
}
it will never dump the error msg if is_connected is false.
Can you tell us the reason and show us the way to use "last_error".
Thanks so much for your help.
best regard
jacky
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20140616/6def5ab2/attachment-0005.html>
More information about the dev
mailing list