net: Do delayed neigh confirmation.
When a dst_confirm() happens, mark the confirmation as pending in the
dst. Then on the next packet out, when we have the neigh in-hand, do
the update.
This removes the dependency in dst_confirm() of dst's having an
attached neigh.
While we're here, remove the explicit 'dst' NULL check, all except 2
or 3 call sites ensure it's not NULL. So just fix those cases up.
Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- include/net/dst.h 21 additions, 8 deletionsinclude/net/dst.h
- include/net/neighbour.h 0 additions, 15 deletionsinclude/net/neighbour.h
- net/core/dst.c 2 additions, 1 deletionnet/core/dst.c
- net/ipv4/ip_output.c 1 addition, 1 deletionnet/ipv4/ip_output.c
- net/ipv4/tcp_input.c 13 additions, 6 deletionsnet/ipv4/tcp_input.c
- net/ipv6/ip6_output.c 1 addition, 1 deletionnet/ipv6/ip6_output.c
Please register or sign in to comment