Date: Fri, 21 Aug 2009 17:13:45 -0700 From: Kip Macy <kmacy@freebsd.org> To: Brian Somers <brian@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: kernel panics in in_lltable_lookup (with INVARIANTS) Message-ID: <3c1674c90908211713j36415b96q58b0ed66cc82713f@mail.gmail.com> In-Reply-To: <20090821164312.641fe2bd@dev.lan.Awfulhak.org> References: <20090821164312.641fe2bd@dev.lan.Awfulhak.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Try this: Index: sys/net/flowtable.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/net/flowtable.c (revision 196382) +++ sys/net/flowtable.c (working copy) @@ -688,6 +688,12 @@ struct rtentry *rt =3D ro->ro_rt; struct ifnet *ifp =3D rt->rt_ifp; + if (ifp->if_flags & IFF_POINTOPOINT) { + RTFREE(rt); + ro->ro_rt =3D NULL; + return (ENOENT); + } + if (rt->rt_flags & RTF_GATEWAY) l3addr =3D rt->rt_gateway; else You'll need to apply this by hand as gmail munges the formatting. -Kip On Fri, Aug 21, 2009 at 16:43, Brian Somers<brian@freebsd.org> wrote: > Hi, > > I've been working on a fix to address an issue that came up with > our update of openssh-5. =A0The issue is that openssh-5 now uses > pipe() to create stdin/stdout channels between sshd and the server > side program where it used to use socketpair(). =A0Because it uses > pipe(), stdin is no longer bi-directional and cannot be used for both > input and output by a child process. =A0This breaks the use of ssh > as a tunnel with ppp on either end (set device "!ssh -e none host > ppp -direct label") > > I talked with des@ for a while and then with the openssh folks and > have not been able to resolve the issues in openssh that made them > choose to enforce the use of pipe() over socketpair(). =A0I now have a > patch to ppp that makes ppp detect that it's connected via pipe() and > causes it to use stdin for input and stdout for output (usually it expect= s > just one descriptor). =A0Although I'm happy with the patch and planned on > requesting permission to commit, I've bumped into a show-stopper > that seems unrelated, so I thought I'd ask here if anyone has seen > this or has any suggestions as to what the problem might be. > > The issue.... > > I'm seeing a panic when I send traffic through a ppp link: > > panic string is: sin_family 18 > Stack trace starts: > =A0 =A0in_lltable_lookup() > =A0 =A0llentry_update() > =A0 =A0flowtable_lookup() > =A0 =A0ip_output() > =A0 =A0.... > > The panic is due to a KASSERT in in_lltable_lookup() that expects the > sockaddr to be AF_INET. =A0Number 18 is AF_LINK. > > AFAICT this is happening while setting up a temporary route for the > first outbound packet. =A0I haven't been able to do much investigation > yet due to other patches in my tree that seem to have broken all my > kernel symbols, but once I get a clean rebuild I should be back in > business. > > If anyone has any suggestions, I'm all ears! > > Cheers. > > -- > Brian Somers =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0<brian@Awfulhak.org> > Don't _EVER_ lose your sense of humour ! =A0 =A0 =A0 =A0 =A0 =A0 =A0 <bri= an@FreeBSD.org> > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org= " > --=20 When harsh accusations depart too far from the truth, they leave bitter consequences. --Tacitus
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3c1674c90908211713j36415b96q58b0ed66cc82713f>