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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user