vpn: Place gateway route to table defined in ipvx.route-table

Previously, NM create direct route to gateway to main(254) route table
regardless `ipvx.route-table` value.

Fixed by setting `NMPlatformIP4Route.table_any` to `TRUE`.

Resolves: https://issues.redhat.com/browse/RHEL-69901

Signed-off-by: Gris Ge <fge@redhat.com>
(cherry picked from commit 6d06286f1d)
(cherry picked from commit 29f23d3519)
(cherry picked from commit 0dc07c5ca4)
(cherry picked from commit 6a04a966c2)
(cherry picked from commit 70060d84f2)
(cherry picked from commit b92a07713c)
This commit is contained in:
Gris Ge 2024-12-11 22:22:59 +08:00 committed by Wen Liang
parent 7573f61eed
commit 2aadb5dcb0

View file

@ -1239,6 +1239,7 @@ _parent_device_l3cd_add_gateway_route(NML3ConfigData *l3cd,
.gateway = parent_gw.addr4, .gateway = parent_gw.addr4,
.rt_source = NM_IP_CONFIG_SOURCE_VPN, .rt_source = NM_IP_CONFIG_SOURCE_VPN,
.metric_any = TRUE, .metric_any = TRUE,
.table_any = TRUE,
}; };
} else { } else {
route.r6 = (NMPlatformIP6Route){ route.r6 = (NMPlatformIP6Route){
@ -1248,6 +1249,7 @@ _parent_device_l3cd_add_gateway_route(NML3ConfigData *l3cd,
.gateway = parent_gw.addr6, .gateway = parent_gw.addr6,
.rt_source = NM_IP_CONFIG_SOURCE_VPN, .rt_source = NM_IP_CONFIG_SOURCE_VPN,
.metric_any = TRUE, .metric_any = TRUE,
.table_any = TRUE,
}; };
} }
nm_l3_config_data_add_route(l3cd, addr_family, NULL, &route.rx); nm_l3_config_data_add_route(l3cd, addr_family, NULL, &route.rx);
@ -1264,6 +1266,7 @@ _parent_device_l3cd_add_gateway_route(NML3ConfigData *l3cd,
.plen = 32, .plen = 32,
.rt_source = NM_IP_CONFIG_SOURCE_VPN, .rt_source = NM_IP_CONFIG_SOURCE_VPN,
.metric_any = TRUE, .metric_any = TRUE,
.table_any = TRUE,
}; };
} else { } else {
route.r6 = (NMPlatformIP6Route){ route.r6 = (NMPlatformIP6Route){
@ -1271,6 +1274,7 @@ _parent_device_l3cd_add_gateway_route(NML3ConfigData *l3cd,
.plen = 128, .plen = 128,
.rt_source = NM_IP_CONFIG_SOURCE_VPN, .rt_source = NM_IP_CONFIG_SOURCE_VPN,
.metric_any = TRUE, .metric_any = TRUE,
.table_any = TRUE,
}; };
} }
nm_l3_config_data_add_route(l3cd, addr_family, NULL, &route.rx); nm_l3_config_data_add_route(l3cd, addr_family, NULL, &route.rx);