The scipts /etc/ppp/ip-up and /etc/ppp/ip-down of the net-dialup/ppp-2.4.2-r7 package don't handle empty parameters correctly when calling /etc/ppp/ip-up.local and /etc/ppp/ip-down, respectively. Since the variables $1, $2, ... are not quoted, empty parameters are "lost" and the .local scripts cannot rely on the contents of the arguments. This is easily fixed by changing the last line in ip-up to [ -f /etc/ppp/ip-up.local ] && . /etc/ppp/ip-up.local "$1" "$2" "$3" "$4" "$5" "$6" i.e. putting ".." around the arguments, and similarly for /ip-down. Reproducible: Always Steps to Reproduce: 1. emerge net-dialup/ppp-2.4.2-r7 2. inspect /etc/ppp/ip-up and /etc/ppp/ip-down Actual Results: Whether you actually experience any problems or not depends on your ip-up.local and ip-down.local scripts and the details of the ppp connection. In my case, $2 (tty-device) is typically "" and hence the local and remote IP addresses end up in the wrong argument. This bug is similar to bug #23526 which concerned the same scripts but from another package (isdn4k-utils).
solved in -r8. thanks.