Date: Fri, 12 Feb 2010 18:03:28 -0800 From: "Li, Qing" <qing.li@bluecoat.com> To: "Brett Glass" <brett@lariat.net> Cc: "Li, Qing" <qing.li@bluecoat.com>, Luiz Otavio O Souza <lists.br@gmail.com>, net@freebsd.org Subject: RE: Routing problems on VPN servers running FreeBSD 8.0-RELEASE Message-ID: <B583FBF374231F4A89607B4D08578A4306932687@bcs-mail03.internal.cacheflow.com> In-Reply-To: <201002130041.RAA18639@lariat.net> References: <201002122133.OAA16835@lariat.net> <25ff90d61002121409m6a9d7639qf254a754644a60ca@mail.gmail.com> <201002122240.PAA17544@lariat.net> <B583FBF374231F4A89607B4D08578A43046737C2@bcs-mail03.internal.cacheflow.com> <201002130004.RAA18387@lariat.net> <B583FBF374231F4A89607B4D08578A43046737C3@bcs-mail03.internal.cacheflow.com> <201002130041.RAA18639@lariat.net>
next in thread | previous in thread | raw e-mail | index | archive | help
>=20
> It'd be good to resolve this as soon as possible, because I have
> two clients who need servers installed this weekend. (They wanted
> them last week, but I was trapped away from the office by a
snowstorm.)
>=20
Luiz Otavio and I have been discussing offline about an issue with
the file /usr.sbin/ppp/arp.c in the past week or so. The ARP related=20
code in arp.c was missing a flag bit called "RTF_LLDATA".=20
Luiz Otavio and I just had a debug session on your issue. He was
able to reproduce it, and due to the missing RTF_LLDATA bit, the
proxy-arp entry made it into the routing table, which was not
suppose to happen. Since there is already a PPP host entry
for the remote end, you get the FILE EXIST error.
I believe the reason was due to its confusing the kernel code as=20
if mpd is installing a routing entry as in=20
"route add x.x.x.x/y -iface em0".
So you can wait for Luiz's patch, or you could do it yourself
and try the following 1 line fix:
=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=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D
-- usr.sbin/ppp/arp.c (revision 203430)
+++ usr.sbin/ppp/arp.c (working copy)
@@ -119,7 +119,7 @@
return 0;
}
arpmsg.hdr.rtm_type =3D add ? RTM_ADD : RTM_DELETE;
- arpmsg.hdr.rtm_flags =3D RTF_ANNOUNCE | RTF_HOST | RTF_STATIC;
+ arpmsg.hdr.rtm_flags =3D RTF_ANNOUNCE | RTF_HOST | RTF_STATIC |
RTF_LLDATA;
arpmsg.hdr.rtm_version =3D RTM_VERSION;
arpmsg.hdr.rtm_seq =3D ++bundle->routing_seq;
arpmsg.hdr.rtm_addrs =3D RTA_DST | RTA_GATEWAY;
=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=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D
I had to reintroduce the RTF_LLDATA flag for compatibility in r187094
back
in Jan. 2009. This change appears to be missing from the ppp port.
Please give the above fix a try and see if it resolves your issue.
-- Qing
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B583FBF374231F4A89607B4D08578A4306932687>
