Currently, net/route.h contains mixture of 3 different definition types: 1) routing socket structures (rt_msghdr), 2) common macro/structures used in the datapath (struct route, RO_NHFREE) and 3) some kernel routing notification definitions (rt_ifmsg, rt_routemsg).
With the recent Netlink introduction, routing socket stopped to be the sole provider of the network-related information.
Additionally, there are other network-control-related headers such as net/route/route_ctl.h, net/route/nhop.h which group the definitions of related functionality.
The intent of this change is to clean up net/route.h from most of the kernel bits, by moving them to dedicated places.
In the end net/route.h should only have rtsock-specific definition.
Specifically,
- nexthop flags are moved to net/route/nhop.h
- network control functions are moved to net/route/route_ctl.h
- datapath-related functions are moved to the newly-created net/route/route_fib.h