I'm encountering strange behaviour when dialing up to my ISP.
I'm using syncPPP over ISDN, so I have a device ippp0 and an
ipppd (isdn variant of pppd) doing negotiations.
I also have a private LAN, i.e. eth0 192.168.10.1.
When I'm not online, I had set ippp0's ip addr to 127.0.0.1.
When dialing up, the address of ippp0 (and the p2p address) are
changed to the values ipppd negotiates, ifconfig ippp0 verifies that.
Then, also a default route via ippp0 gw p2p address is setup.
I can ping the p2p addr just fine. However, when pinging some other
address (or trying to establish a TPC connection), that doesn't work.
tcpdump shows packets going out via ippp2, but with an source address
of 192.168.10.1, i.e. eth0's address - not ippp0's. So it's not exactly
suprising that I never get an answer back.
However, when I set ippp0's address to a non-local address from the start,
e.g. to 192.168.11.1, everything works fine (it's changed to the
negotiated address as before, and now the packets get the right source
address and everything works).
This happened on 2.4.0test11, but I believe also on 2.2.18pre - didn't
tcpdump then, though.
I suppose ipppd is doing something wrong when changing addresses or so,
but before investigating myself I thought somebody might have the answer