Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/net Reset the expire time of a cache on receiving a fram...



details:   https://anonhg.NetBSD.org/src/rev/e9990e37313a
branches:  trunk
changeset: 805417:e9990e37313a
user:      ozaki-r <ozaki-r%NetBSD.org@localhost>
date:      Thu Jan 01 08:43:26 2015 +0000

description:
Reset the expire time of a cache on receiving a frame for the cache

The expire time of a cache in a bridge MAC address table was never reset
once it is initialized regardless of traffic for the cache. The behavior
isn't supposed and active caches are unnecessarily expired and removed.

PR kern/49507

diffstat:

 sys/net/if_bridge.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (28 lines):

diff -r 02a87504a89c -r e9990e37313a sys/net/if_bridge.c
--- a/sys/net/if_bridge.c       Thu Jan 01 08:11:45 2015 +0000
+++ b/sys/net/if_bridge.c       Thu Jan 01 08:43:26 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_bridge.c,v 1.95 2014/12/31 17:36:24 ozaki-r Exp $   */
+/*     $NetBSD: if_bridge.c,v 1.96 2015/01/01 08:43:26 ozaki-r Exp $   */
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.95 2014/12/31 17:36:24 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.96 2015/01/01 08:43:26 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_bridge_ipf.h"
@@ -2029,6 +2029,9 @@
                        brt->brt_expire = 0;
                else
                        brt->brt_expire = time_uptime + sc->sc_brttimeout;
+       } else {
+               if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC)
+                       brt->brt_expire = time_uptime + sc->sc_brttimeout;
        }
 
 out:



Home | Main Index | Thread Index | Old Index