mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-22 09:42:32 +00:00
rxrpc: Use the core ICMP/ICMP6 parsers
Make rxrpc_encap_rcv_err() pass the ICMP/ICMP6 skbuff to ip_icmp_error() or ipv6_icmp_error() as appropriate to do the parsing rather than trying to do it in rxrpc. This pushes an error report onto the UDP socket's error queue and calls ->sk_error_report() from which point rxrpc can pick it up. It would be preferable to steal the packet directly from ip*_icmp_error() rather than letting it get queued, but this is probably good enough. Also note that __udp4_lib_err() calls sk_error_report() twice in some cases. Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org
This commit is contained in:
@@ -998,7 +998,6 @@ void rxrpc_send_keepalive(struct rxrpc_peer *);
|
||||
/*
|
||||
* peer_event.c
|
||||
*/
|
||||
void rxrpc_encap_err_rcv(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);
|
||||
void rxrpc_error_report(struct sock *);
|
||||
void rxrpc_peer_keepalive_worker(struct work_struct *);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user