• David Howells's avatar
    rxrpc: Use the core ICMP/ICMP6 parsers · b6c66c43
    David Howells authored
    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: default avatarDavid Howells <dhowells@redhat.com>
    cc: Marc Dionne <marc.dionne@auristor.com>
    cc: linux-afs@lists.infradead.org
    b6c66c43
ar-internal.h 42.9 KB