Index: if_etherbridge.c =================================================================== RCS file: /cvs/src/sys/net/if_etherbridge.c,v retrieving revision 1.4 diff -u -p -r1.4 if_etherbridge.c --- if_etherbridge.c 26 Feb 2021 01:28:51 -0000 1.4 +++ if_etherbridge.c 26 Feb 2021 07:41:34 -0000 @@ -299,10 +299,12 @@ etherbridge_map(struct etherbridge *eb, unsigned int num; void *nport; int new = 0; + time_t now; if (ETH64_IS_MULTICAST(eba) || ETH64_IS_ANYADDR(eba)) return; + now = getuptime(); ebl = etherbridge_list(eb, eba); smr_read_enter(); @@ -310,7 +312,8 @@ etherbridge_map(struct etherbridge *eb, if (oebe == NULL) new = 1; else { - oebe->ebe_age = getuptime(); + if (oebe->ebe_age != now) + oebe->ebe_age = now; /* does this entry need to be replaced? */ if (oebe->ebe_type == EBE_DYNAMIC && @@ -345,7 +348,7 @@ etherbridge_map(struct etherbridge *eb, nebe->ebe_addr = eba; nebe->ebe_port = nport; nebe->ebe_type = EBE_DYNAMIC; - nebe->ebe_age = getuptime(); + nebe->ebe_age = now; mtx_enter(&eb->eb_lock); num = eb->eb_num + (oebe == NULL);