.: PROTOFILTER :. $Id$
OVERVIEW
--------
Protofilter is a linux kernel 2.2.x family patch. It adds the feature of
packet filtering, concerning the idle option goal. This feature allows the
correct operation of the ppp idle option when you need ppp-on-demand.
By adding the feature of filtering (active filters are currently implemented
under netBSD) you can specify a list of protocol ppp will ignore when it
computes the idle time.
Some isp send broadcast igmp (protocol =2), other send ip packets proto-103;
the effect is that your ppp isn't able to close the idling link, since it's not able to calculate the idle time in the correct way.
Sniff your ppp connection you can determine which packets ppp has to ignore.
example:
# tcpdump -i ppp0
10:33:56.438456 151.5.148.59 > 224.0.0.1: igmp query [tos 0xc0] [ttl 1]
10:34:06.378454 151.5.148.59 > 224.0.0.13: ip-proto-103 10 [tos 0xc0] [ttl 1]
10:34:36.548456 151.5.148.59 > 224.0.0.13: ip-proto-103 10 [tos 0xc0] [ttl 1]
10:34:56.798451 151.5.148.59 > 224.0.0.1: igmp query [tos 0xc0] [ttl 1]
10:35:06.858442 151.5.148.59 > 224.0.0.13: ip-proto-103 10 [tos 0xc0] [ttl 1]
Load the ppp module patched, specifying the protocol marked as being ignored:
modprobe ppp proto_in=2,103
note: 2=igmp protocol, see /etc/protocols
INSTALL
-------
To install the patch, set your uid to root and type ./proto.sh install.
If everything goes fine, change directory to /usr/src/linux and rebuild the
modules.
make modules
make modules_install
Sincerely,
Bonelli Nicola <bonelli@antifork.org>