Skip to content
  • Thomas Haller's avatar
    all: rework configuring route table support by adding "route-table" setting · cc1ee1d2
    Thomas Haller authored
    We added "ipv4.route-table-sync" and "ipv6.route-table-sync" to not change
    behavior for users that configured policy routing outside of NetworkManager,
    for example, via a dispatcher script. Users had to explicitly opt-in
    for NetworkManager to fully manage all routing tables.
    
    These settings were awkward. Replace them with new settings "ipv4.route-table"
    and "ipv6.route-table". Note that this commit breaks API/ABI on the unstable
    development branch by removing recently added API.
    
    As before, a connection will have no route-table set by default. This
    has the meaning that policy-routing is not enabled and only the main table
    will be fully synced. Once the user sets a table, we recognize that and
    NetworkManager manages all routing tables.
    
    The new route-table setting has other important uses: analog to
    "ipv4.route-metric", it is the default that applies to all routes.
    Currently it only works for static routes, not DHCP, SLAAC,
    default-route, etc. That will be implemented later.
    
    For static routes, each route still can explicitly set a table, and
    overwrite the per-connection setting in "ipv4.route-table" and
    "ipv6.route-table".
    cc1ee1d2