1) temp_prefered_lft - desync_factor < ADDR_CHECK_FREQUENCY. Address verification do not schedule generating of a new address but deprecates the address during the first verification after it is created.
2) temp_valid_lft changes between verifications so that there is no chance for an address to become deprecated.
If any of the above happens there is no chance to create new valid and preferred temporary address because they are created only when:
1) a new public is created
2) a temporary address is going to be deprecated. (it needs to be verified at least ones as valid and preferred in addrconf_verify())
All in all we end up with no temporary address and no chance to get one.
Temporary addresses aren't regenerated properly if:
1) temp_prefered_lft - desync_factor < ADDR_CHECK_ FREQUENCY. Address verification do not schedule generating of a new address but deprecates the address during the first verification after it is created.
2) temp_valid_lft changes between verifications so that there is no chance for an address to become deprecated.
If any of the above happens there is no chance to create new valid and preferred temporary address because they are created only when:
1) a new public is created
2) a temporary address is going to be deprecated. (it needs to be verified at least ones as valid and preferred in addrconf_verify())
All in all we end up with no temporary address and no chance to get one.
PS. I'll try to work it out this weekend.