[PATCH 0/19] Disconnect neigh from dst_entry
From: David Miller <davem@davemloft.net>
Date: 2012-07-03 09:45:44
This finally severs neighbour table entries from dst_entry enough that we no longer depend upon them outside of the individual protocols. Besides being a major step towards making routing cache removal practical, it also means an end to the infamous "neighbour table overflow" condition. Routes in ipv4 no longer refer to neighbour table entries, they are used on an as-needed basis during packet output in a refcount-less manner. Therefore garbage collection is trivial since almost nothing actually holds onto neighbour table references. On the routing cache removal side, this set of changes removes another dependency upon rt->rt_dst. The only one left is for inetpeer, and once that is severed (I have a rough plan for it) rt->rt_dst is finally without any use and we can construct ipv4 routes directly inside of FIB table entries. Signed-off-by: David S. Miller <davem@davemloft.net>