Define AF_MPLS, label-stack entry constants, and a canonical exact-match
routing key. Register per-FIB/VNET MPLS radix tables, install the public
headers, and add the kernel option and routing feature declaration.
Validate key lengths, families, padding, reserved labels, and non-label
bits. Propagate prefix-setup failures and release nexthop references on
early prefix-insertion errors. Keep MPLS nexthops in the MPLS table even
when they use IP neighbors, and validate upper-family changes against
the actual neighbor family.
Exclude label routes from routing-socket notifications and dumps and
from non-VNET jail exports. Let a routing family provide locked lookup
before it has a registered FIB algorithm.
Add ktests for key validation, table ownership, creation, replacement,
and withdrawal. Label operations, Netlink configuration, and packet
forwarding follow in separate changes.