Updating kernel IP routes is done quite similar for IPv6 as
for IPv4. The ioctls used are the same,
but IPv6 sockets are used for the calls and different parameter
data-types are used. The data-structures used are defined in
include/linux/ipv6_route.h. IPv6 equivalents of all
route adding and removal functions are implemented.