Subject: Packet misdirection (kernel bug?)
To: None <email@example.com>
From: Brad du Plessis <firstname.lastname@example.org>
Date: 01/23/2004 11:52:29
I've tried other mailing lists with no comeback and was wondering if some=
here could help me.
Consider the following setup:
A ------------ B (modem)
I have boxes A and B on the same subnet as shown. B has a modem, and also=
a route setup to a default gateway on the same subnet.
Now, when a connection via the modem is made, the ppp interface creates r=
to the remote IP address via the local IP address setup for the=20
point-to-point interface. A route is then setup on A to use this modem=20
This works fine on most occasions, but sometimes after the connection has=
closed on B, box A will still be sending packets to B destined for the pp=
interface which now no longer exists. B then has no option but to route t=
packets via its default gateway. Now when a new dialup is made from B, th=
ppp interface is setup as well as its routes once again, but packets from=
via B are still routed through the default gateway instead of across the =
interface, hence not allowing a connection from A to the machine B has=20
I've delved into the kernel, and found that the function in_losing(inp) i=
netinet/in_pcb.c is being called and it prints the message RTM_LOSING: Ke=
Suspects Partitioning when running "route -n monitor". I've tried in vain=
find where exactly the kernel makes the decision that these packets shoul=
routed through the default gateway. It seems obvious to me that some reco=
is kept by the kernel of where certain packets should be sent, and this i=
not being flushed after the ppp interface has come up.
Could someone tell me if this is a bug, and if so how do I fix it?
Any help would be most appreciated!