[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