Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jun 1999 12:51:47 -0700 (PDT)
From:      Tim Moore <moore@bricoworks.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/12281: active-filter option in pppd doesn't stop reset of idle timer
Message-ID:  <199906181951.MAA00892@ariel.bricoworks.com>

index | next in thread | raw e-mail


>Number:         12281
>Category:       kern
>Synopsis:       active-filter option in pppd doesn't stop reset of idle timer
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 18 13:00:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator:     Tim Moore
>Release:        FreeBSD 4.0-CURRENT i386
>Organization:
Bricoworks
>Environment:

	PPP over dialup modem using pppd and kernel PPP.

>Description:

	The active-filter option of pppd doesn't prevent the idle
timer from being reset when packets that don't match the filter are
received.  The problem is in ppp_inproc in /usr/src/sys/net/if_ppp.c;
sc->sc_last_recv is always set by the PPP_IP and PPP_IPX specific code
even if the packet was rejected by sc->sc_active_filt.

>How-To-Repeat:

I included
demand
idle 300
active-filter '! port ntp'
in my ppp/options file.  The only traffic was ntp traffic.  Although
the link doesn't come up if it's down, it never goes down due to inactivity.

>Fix:
	
Index: if_ppp.c
===================================================================
RCS file: /home/cvs/src/sys/net/if_ppp.c,v
retrieving revision 1.60
diff -u -r1.60 if_ppp.c
--- if_ppp.c	1999/04/27 11:17:00	1.60
+++ if_ppp.c	1999/06/18 19:50:43
@@ -1491,7 +1491,6 @@
 	}
 	schednetisr(NETISR_IP);
 	inq = &ipintrq;
-	sc->sc_last_recv = time_second;	/* update time of last pkt rcvd */
 	break;
 #endif
 #ifdef IPX
@@ -1510,7 +1509,6 @@
 	m->m_len -= PPP_HDRLEN;
 	schednetisr(NETISR_IPX);
 	inq = &ipxintrq;
-	sc->sc_last_recv = time_second;	/* update time of last pkt rcvd */
 	break;
 #endif
 



>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906181951.MAA00892>