Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jan 2004 15:40:57 +0200
From:      Brad du Plessis <bradd@cat.co.za>
To:        net@freebsd.org
Subject:   RTM_LOSING: Kernel Suspects Partitioning
Message-ID:  <200401211540.57528.bradd@cat.co.za>

next in thread | raw e-mail | index | archive | help
Hi,

I've tried a NetBSD mailing list to no avail and was hoping that someone =
here=20
could help me.

I have the following setup:

A ----- B =3D=3D=3D=3D=3D=3D C

Box A and Box B are on a LAN both on the same subnet. Now from box B I ma=
ke a=20
pppd modem dialup to box C. Manual routes are setup on A and C to allow a=
=20
connection between A and C. It appears that if while a connection is acti=
ve=20
and access to C is momentarily lost, but the ppp interface remains up,=20
packets that were being sent to B from A are redirected to B's default=20
gateway. =20

If that dialup is closed and then reopened a connection to C from A will =
fail=20
because all packets to C through B are being routed to B's default gatewa=
y.=20
In fact, the only way I'm able to get the connection to work again is eit=
her=20
to delete the default gateway on B, do a ping from C to A, or to reboot b=
ox=20
B.

Now I've looked through the kernel and it appears that in netinet/in_pcb.=
c the=20
function "in_losing(inp)" is called when this happens. I've put printouts=
 in=20
the kernel and found that the route to redirect the packets (which I pres=
ume=20
was setup by the kernel) from A to the default gateway has been setup as =
a=20
static route. (rt->rt_flags & RTF_DYNAMIC =3D=3D 0)

I would've thought that this route should be dynamic, my reasoning being =
that=20
the route would then be deleted in in_losing(inp) and packets could then =
be=20
redirected through a valid route if one were available.

Has anyone come across this before, is this a bug in the kernel? (I assum=
e it=20
does the same thing in FreeBSD)

Any help would be most appreciated!

Thanks,
Brad



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401211540.57528.bradd>