With this change there is no need to restart the DB or OVS on configuring a
different value for the manager or controller connection respectively. On
detecting a change in the dscp value on the socket, the previous socket is
closed and a new socket is created and connection is established with the new
configured dscp value.
Signed-off-by: Mehak Mahajan <mmahajan@nicira.com>
jsonrpc_session_set_dscp(struct jsonrpc_session *s,
uint8_t dscp)
{
jsonrpc_session_set_dscp(struct jsonrpc_session *s,
uint8_t dscp)
{
+ if (s->dscp != dscp) {
+ jsonrpc_session_force_reconnect(s);
+ s->dscp = dscp;
+ }
+uint8_t
+rconn_get_dscp(const struct rconn *rc)
+{
+ return rc->dscp;
+}
+
void
rconn_set_probe_interval(struct rconn *rc, int probe_interval)
{
void
rconn_set_probe_interval(struct rconn *rc, int probe_interval)
{
struct rconn *rconn_create(int inactivity_probe_interval,
int max_backoff, uint8_t dscp);
void rconn_set_dscp(struct rconn *rc, uint8_t dscp);
struct rconn *rconn_create(int inactivity_probe_interval,
int max_backoff, uint8_t dscp);
void rconn_set_dscp(struct rconn *rc, uint8_t dscp);
+uint8_t rconn_get_dscp(const struct rconn *rc);
void rconn_set_max_backoff(struct rconn *, int max_backoff);
int rconn_get_max_backoff(const struct rconn *);
void rconn_set_probe_interval(struct rconn *, int inactivity_probe_interval);
void rconn_set_max_backoff(struct rconn *, int max_backoff);
int rconn_get_max_backoff(const struct rconn *);
void rconn_set_probe_interval(struct rconn *, int inactivity_probe_interval);
rconn_set_probe_interval(ofconn->rconn, probe_interval);
ofconn_set_rate_limit(ofconn, c->rate_limit, c->burst_limit);
rconn_set_probe_interval(ofconn->rconn, probe_interval);
ofconn_set_rate_limit(ofconn, c->rate_limit, c->burst_limit);
+
+ /* If dscp value changed reconnect. */
+ if (c->dscp != rconn_get_dscp(ofconn->rconn)) {
+ rconn_set_dscp(ofconn->rconn, c->dscp);
+ rconn_reconnect(ofconn->rconn);
+ }
}
/* Returns true if it makes sense for 'ofconn' to receive and process OpenFlow
}
/* Returns true if it makes sense for 'ofconn' to receive and process OpenFlow
Service (QoS) on IP networks.
The DSCP value specified here is used when establishing the connection
Service (QoS) on IP networks.
The DSCP value specified here is used when establishing the connection
- between the controller and the Open vSwitch. The connection must be
- reset for the new DSCP values to take effect. If no value is
- specified, a default value of 48 is chosen. Valid DSCP values must be
- in the range 0 to 63.
+ between the controller and the Open vSwitch. If no value is specified,
+ a default value of 48 is chosen. Valid DSCP values must be in the
+ range 0 to 63.
Service (QoS) on IP networks.
The DSCP value specified here is used when establishing the connection
Service (QoS) on IP networks.
The DSCP value specified here is used when establishing the connection
- between the manager and the Open vSwitch. The connection must be
- reset for the new DSCP values to take effect. If no value is
- specified, a default value of 48 is chosen. Valid DSCP values must be
- in the range 0 to 63.
+ between the manager and the Open vSwitch. If no value is specified, a
+ default value of 48 is chosen. Valid DSCP values must be in the range
+ 0 to 63.