]> git.baikalelectronics.ru Git - kernel.git/commit
rxrpc: Use the peer record to distribute network errors
authorDavid Howells <dhowells@redhat.com>
Mon, 4 Apr 2016 13:00:34 +0000 (14:00 +0100)
committerDavid Howells <dhowells@redhat.com>
Wed, 15 Jun 2016 09:15:16 +0000 (10:15 +0100)
commit84fadbd4548e14a9b275a2d3343ea086417f1387
tree915553b7124caf0a18c22db24e2ee1c60cafcc96
parent6da42c4c579a426c26eae1f4433b692a7f106da2
rxrpc: Use the peer record to distribute network errors

Use the peer record to distribute network errors rather than the transport
object (which I want to get rid of).  An error from a particular peer
terminates all calls on that peer.

For future consideration:

 (1) For ICMP-induced errors it might be worth trying to extract the RxRPC
     header from the offending packet, if one is returned attached to the
     ICMP packet, to better direct the error.

     This may be overkill, though, since an ICMP packet would be expected
     to be relating to the destination port, machine or network.  RxRPC
     ABORT and BUSY packets give notice at RxRPC level.

 (2) To also abort connection-level communications (such as CHALLENGE
     packets) where indicted by an error - but that requires some revamping
     of the connection event handling first.

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/ar-internal.h
net/rxrpc/call_event.c
net/rxrpc/call_object.c
net/rxrpc/output.c
net/rxrpc/peer_event.c
net/rxrpc/peer_object.c
net/rxrpc/transport.c