I have written a kernel module to handle IP messages on device named "pppoe-wan", but I need to load it manually everytime after pppoe is started.
Is there any way to tell sysytem to run a C function in kernel module everytime pppoe actived? Then I can just regist the hook the function.
If you have any ideas (even if it may be helpless), please write it down this topic. Thanks very much!
Put your shell script in /etc/ppp/ip-up.d, scripts inside this folder will be called after establishing ppp connection.
#!/bin/sh
# When the ppp link comes up, this script is called with the following
# parameters
# $1 the interface name used by pppd (e.g. pppoe-wan)
# $2 the tty device name
# $3 the tty device speed
# $4 the local IP address for the interface
# $5 the remote IP address
# $6 the parameter specified by the 'ipparam' option to pppd
# continue only if interface is "pppoe-wan":
[ "$1" = "pppoe-wan" ] || exit 0
# pass the IP address to some program:
some_program --some-paramater $4
You can also create a script that will be executed once the link has been terminated. This is stored in /etc/ppp/ip-down.d. It can be used to undo anything special that you did in the corresponding /etc/ppp/ip-up.d scripts.