commit b21104c97e59128973501fc23570e2d929f48923
Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
Date:   Sat Dec 18 00:58:47 2021 +0100

    Nest: Do not ignore secondary flag changes in ifa updates
    
    Compare all IA_* flags that are set by sysdep iface code.
    
    The old code ignores IA_SECONDARY flag when comparing whether iface
    address updates from kernel changed anything. This is usually not an
    issue as kernel removes all secondary addresses due to removal of the
    primary one, but it breaks when sysctl 'promote_secondaries' is enabled
    and kernel promotes secondary addresses to primary ones.
    
    Thanks to 'Alexander' for the bugreport.

diff --git a/nest/iface.c b/nest/iface.c
index 83a633a3..682340c5 100644
--- a/nest/iface.c
+++ b/nest/iface.c
@@ -591,7 +591,7 @@ ifa_update(struct ifa *a)
 	if (ipa_equal(b->brd, a->brd) &&
 	    ipa_equal(b->opposite, a->opposite) &&
 	    b->scope == a->scope &&
-	    !((b->flags ^ a->flags) & IA_PEER))
+	    !((b->flags ^ a->flags) & (IA_SECONDARY | IA_PEER | IA_HOST)))
 	  {
 	    b->flags |= IA_UPDATED;
 	    return b;
