tipc: Fix port counter handling to correct congestion control
Modifies TIPC's congestion control between a connected port and its peer so that it works as documented. The following changes have been made: 1) The counter of the number of messages sent by a port now starts at zero, rather than one. This prevents the port from reporting port congestion one message earlier than it was supposed to. 2) The counter of the number of messages sent by a port is now incremented only if a non-empty message is sent successfully. This prevents the port from becoming permanently congested if too many send attempts are unsuccessful because of congestion (or other reasons). It also removes the risk that empty hand- shaking messages used during connection setup might cause the port to report congestion earlier than it was supposed to. 3) The counter of the number of unacknowledged messages received by a port controlled by an internal TIPC service is now incremented only if the message is non-empty, in order to be consistent with the aforementioned changes. Signed-off-by: Allan Stephens <Allan.Stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
This commit is contained in:
committed by
Paul Gortmaker
parent
69218fc426
commit
cb7ce91448
+2
-2
@@ -113,8 +113,8 @@ struct user_port {
|
||||
* @user_port: ptr to user port associated with port (if any)
|
||||
* @wait_list: adjacent ports in list of ports waiting on link congestion
|
||||
* @waiting_pkts:
|
||||
* @sent:
|
||||
* @acked:
|
||||
* @sent: # of non-empty messages sent by port
|
||||
* @acked: # of non-empty message acknowledgements from connected port's peer
|
||||
* @publications: list of publications for port
|
||||
* @pub_count: total # of publications port has made during its lifetime
|
||||
* @probing_state:
|
||||
|
||||
Reference in New Issue
Block a user