void jsonrpc_session_set_dscp(struct jsonrpc_session *s, uint8_t dscp) { if (s->dscp != dscp) { s->dscp = dscp; jsonrpc_session_force_reconnect(s); } }
/* 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); } }
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); } }