2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-27 15:18:06 +00:00

rconn: Only increment seqno when connection actually drops or reconnects.

rconn_get_connection_seqno() is documented to change only when an rconn
connects or disconnnects, but in fact it was also changing whenever an
rconn went into or out of the "idle" state (following sending an echo
request).  This fixes the problem.

rconn_get_connection_seqno() didn't have any existing users, but an
upcoming commit adds one.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
Acked-by: Justin Pettit <jpettit@nicira.com>
This commit is contained in:
Ben Pfaff
2015-04-29 23:48:58 -07:00
parent 678729a2ce
commit 8f2bc8d738

View File

@@ -1267,7 +1267,7 @@ static void
state_transition(struct rconn *rc, enum state state)
OVS_REQUIRES(rc->mutex)
{
rc->seqno += (rc->state == S_ACTIVE) != (state == S_ACTIVE);
rc->seqno += is_connected_state(rc->state) != is_connected_state(state);
if (is_connected_state(state) && !is_connected_state(rc->state)) {
rc->probably_admitted = false;
}