Linux 2.2 PPP protocol filter
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.




 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. 

# tcpdump -i ppp0
10:33:56.438456 > igmp query [tos 0xc0] [ttl 1]
10:34:06.378454 > ip-proto-103 10 [tos 0xc0] [ttl 1]
10:34:36.548456 > ip-proto-103 10 [tos 0xc0] [ttl 1]
10:34:56.798451 > igmp query [tos 0xc0] [ttl 1]
10:35:06.858442 > 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

To install the patch, set your uid to root and type ./ install.
If everything goes fine, change directory to /usr/src/linux and rebuild the 

make modules
make modules_install


 Bonelli Nicola <>