use symbol_get to create the magic ipv4/ipv6 tunnels

From: Christoph Hellwig
Date: Thu May 14 2020 - 10:51:08 EST


Hi Dave,

both the ipv4 and ipv6 code have an ioctl each that can be used to create
a tunnel using code that doesn't live in the core kernel or ipv6 module.
Currently they call ioctls on the tunnel devices to create these, for
which the code needs to override the address limit, which is a "feature"
I plan to get rid of.

Instead this patchset makes the ipip and sit modules export a function
that can be used to create the tunnels, and then uses symbol_get in the
core ipv4/ipv6 code to reference that function at runtime.