Add the ability to skip address sync on unnumbered interfaces

This commit is contained in:
Pim van Pelt
2024-03-05 22:59:15 +01:00
parent c8dc522fe9
commit a960d64a87
6 changed files with 78 additions and 1 deletions

View File

@ -109,7 +109,22 @@ lcp_itf_pair_sync_state (lcp_itf_pair_t *lip)
/* Linux will remove IPv6 addresses on children when the parent state
* goes down, so we ensure all IPv4/IPv6 addresses are synced.
*/
lcp_itf_set_interface_addr (lip);
if (sw->flags & VNET_SW_INTERFACE_FLAG_UNNUMBERED)
{
if (lcp_sync_unnumbered ())
{
lcp_itf_set_interface_addr (lip);
}
else
{
LCP_IF_NOTICE ("sync_state: not syncing addresses on unnumbered %U",
format_lcp_itf_pair, lip);
}
}
else
{
lcp_itf_set_interface_addr (lip);
}
if (vif_ns_fd != -1)
close (vif_ns_fd);