OSDN Git Service

rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor
authorDavid Howells <dhowells@redhat.com>
Tue, 23 Aug 2016 14:27:25 +0000 (15:27 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 23 Aug 2016 15:02:35 +0000 (16:02 +0100)
commit18bfeba50dfd0c8ee420396f2570f16a0bdbd7de
tree3b3a896ce8212cc31070c890a2a9f24fe572f4dd
parent563ea7d5d4eaf0ff63ddcaf8ed849eb88bb5738d
rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor

Perform terminal call ACK/ABORT retransmission in the connection processor
rather than in the call processor.  With this change, once last_call is
set, no more incoming packets will be routed to the corresponding call or
any earlier calls on that channel (call IDs must only increase on a channel
on a connection).

Further, if a packet's callNumber is before the last_call ID or a packet is
aimed at successfully completed service call then that packet is discarded
and ignored.

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/ar-internal.h
net/rxrpc/conn_event.c
net/rxrpc/conn_object.c
net/rxrpc/input.c