net: Do delayed neigh confirmation.
authorDavid S. Miller <davem@davemloft.net>
Mon, 2 Jul 2012 09:21:03 +0000 (02:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Jul 2012 08:03:06 +0000 (01:03 -0700)
commit5110effee8fde2edfacac9cd12a9960ab2dc39ea
treef74fff97af20ffdf805fedc56f0c8f88bbef2df7
parent60d354ebebd9d0f760cb6c3b9f53a7ade0f8cd0e
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>
include/net/dst.h
include/net/neighbour.h
net/core/dst.c
net/ipv4/ip_output.c
net/ipv4/tcp_input.c
net/ipv6/ip6_output.c