Ejemplo n.º 1
0
void
jsonrpc_session_set_dscp(struct jsonrpc_session *s,
                         uint8_t dscp)
{
    if (s->dscp != dscp) {
        s->dscp = dscp;
        jsonrpc_session_force_reconnect(s);
    }
}
Ejemplo n.º 2
0
/* Sets the DSCP value used for 's''s connection to 'dscp'.  If this is
 * different from the DSCP value currently in use then the connection is closed
 * and reconnected. */
void
jsonrpc_session_set_dscp(struct jsonrpc_session *s, uint8_t dscp)
{
    if (s->dscp != dscp) {
        pstream_close(s->pstream);
        s->pstream = NULL;

        s->dscp = dscp;
        jsonrpc_session_force_reconnect(s);
    }
}
Ejemplo n.º 3
0
void
jsonrpc_session_set_dscp(struct jsonrpc_session *s,
                         uint8_t dscp)
{
    if (s->dscp != dscp) {
        if (s->pstream) {
            int error;

            error = pstream_set_dscp(s->pstream, dscp);
            if (error) {
                VLOG_ERR("%s: failed set_dscp %s",
                         reconnect_get_name(s->reconnect),
                         ovs_strerror(error));
            }
            /*
             * XXX race window between setting dscp to listening socket
             * and accepting socket. accepted socket may have old dscp value.
             * Ignore this race window for now.
             */
        }
        s->dscp = dscp;
        jsonrpc_session_force_reconnect(s);
    }
}