From: Ben Pfaff Date: Wed, 20 Jun 2012 16:31:42 +0000 (-0700) Subject: Revert DSCP update changes. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59efa47;p=openvswitch Revert DSCP update changes. This reverts commit cd8fca2ba0a7d036da069a4484d501bdc7a6f611 (jsonrpc: Correctly setting the dscp value before reconnect.) and commit b2e18db292cd4962af3248f11e9f17e6eaf9c033 (No need to restart DB / OVS on changing dscp value.), which on some systems causes numerous unit test failures that valgrind diagnoses as: Conditional jump or move depends on uninitialised value(s) at 0x805F63F: jsonrpc_session_set_dscp (jsonrpc.c:1061) by 0x804F45D: ovsdb_jsonrpc_server_set_remotes (jsonrpc-server.c:417) by 0x804B775: reconfigure_from_db (ovsdb-server.c:656) by 0x804C231: main (ovsdb-server.c:159) Signed-off-by: Ben Pfaff --- diff --git a/lib/jsonrpc.c b/lib/jsonrpc.c index 4870da84..5c3359cb 100644 --- a/lib/jsonrpc.c +++ b/lib/jsonrpc.c @@ -1058,8 +1058,5 @@ void jsonrpc_session_set_dscp(struct jsonrpc_session *s, uint8_t dscp) { - if (s->dscp != dscp) { - s->dscp = dscp; - jsonrpc_session_force_reconnect(s); - } + s->dscp = dscp; } diff --git a/lib/rconn.c b/lib/rconn.c index 3241ab8b..2ddfc69a 100644 --- a/lib/rconn.c +++ b/lib/rconn.c @@ -226,12 +226,6 @@ rconn_set_dscp(struct rconn *rc, uint8_t dscp) rc->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) { diff --git a/lib/rconn.h b/lib/rconn.h index e4b73fc1..2b1332c5 100644 --- a/lib/rconn.h +++ b/lib/rconn.h @@ -40,7 +40,6 @@ struct rconn_packet_counter; 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); diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c index 8cdaa1f8..a0315b23 100644 --- a/ofproto/connmgr.c +++ b/ofproto/connmgr.c @@ -1114,12 +1114,6 @@ ofconn_reconfigure(struct ofconn *ofconn, const struct ofproto_controller *c) 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 diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 15f162a1..32d4c595 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -2756,9 +2756,10 @@ Service (QoS) on IP networks. The DSCP value specified here is used when establishing the connection - 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. + 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. @@ -3002,9 +3003,10 @@ Service (QoS) on IP networks. The DSCP value specified here is used when establishing the connection - 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. + 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.