Merge branch 'neigh-mpls-prep'
authorDavid S. Miller <davem@davemloft.net>
Wed, 4 Mar 2015 05:23:37 +0000 (00:23 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Mar 2015 05:23:37 +0000 (00:23 -0500)
commitee23393b40062362feb220b32629624c1d3c402c
treea6ee61e3ac7571516b693c2465c6309a59cd0a08
parent2f56f6be47dbc6883e28107edfe2f9f98f4d5a24
parent4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62
Merge branch 'neigh-mpls-prep'

Eric W. Biederman says:

====================
Neighbour table prep for MPLS

In preparation for using the IPv4 and IPv6 neighbour tables in my mpls
code this patchset factors out ___neigh_lookup_noref from
__ipv4_neigh_lookup_noref, __ipv6_lookup_noref and neigh_lookup.
Allowing the lookup logic to be shared between the different
implementations.  At what appears to be no cost. (Aka the same assembly
is generated for ip6_finish_output2 and ip_finish_output2).

After that I add a simple function that takes an address family and an
address consults the neighbour table and sends the packet to the
appropriate location.  The address family argument decoupls callers
of neigh_xmit from the addresses families the packets are sent over.
(Aka The ipv6 module can be loaded after mpls and a previously
configured ipv6 next hop will start working).

The refactoring in ___neigh_lookup_noref may be a bit overkill but it
feels like the right thing to do.  Especially since the same code is
generated.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>