Subject: Re: Dialup connections and daily worm terror
To: Steve Woodford <scw@netbsd.org>
From: Martin Husemann <martin@duskware.de>
List: netbsd-users
Date: 09/03/2003 11:59:41
On Wed, Sep 03, 2003 at 09:21:22AM +0100, Steve Woodford wrote:
> Look for "active-filter-in" and possibly "active-filter-out". These 
> allow you to specify which types of packets should be ignored when 
> deciding if the link is idle.

Unfortunately the in-kernel (if_spppsubr.c based) PPP interfaces do not
have such an option.

I can think of several solutions:

 - add compile time options to only account incoming or outgoing traffic
   for "idle" calculations.
 - add a "last received" and "last send" time_t memebers to struct ifnet,
   updated by higher levels of the network stack at apropriate times,
   so that when IPFilter blocks a packet, this time is not updated.
 - add a list of protocol/ports to if_spppsubr.c based interfaces and
   make them filter before updating the time (this is a bad hack,
   but similar to what pppd does).
 - resurrect the idea of a global packet classifier mechanism and use
   that to do the filtering.

I tend to take the easy way out and go with the first one, though the
second seems pretty easy and usefull too.

Martin