proxy arp and MPD in RELENG_8

Li, Qing qing.li at bluecoat.com
Fri Dec 11 06:31:14 UTC 2009


Hi,

I think I managed to reproduce this issue. The root cause appears
to be the SIN_PROXY usage, which is no longer part of any routing
entry after the L2/L3 rewrite. As such, the RTM_GET command
should be issued once in the ARP utility, not twice. 

In addition, since ARP does not apply to PPP link type, the 
prefix route of the local end point needs to be returned
in order for the subsequent RTM_ADD command to succeed.
I need to update the routing code a bit more to properly
handle such proxy-arp scenario.

In the meantime, please try a hack at

	http://people.freebsd.org/~qingli/ppp-patch.diff

and let me know how it works out for you. The hack appears
to work in my test environment.

I need just a bit more time to work out the permanent
solution in the kernel routing code, as well as the
utilities in the userland.

-- Qing


> -----Original Message-----
> From: owner-freebsd-current at freebsd.org [mailto:owner-freebsd-
> current at freebsd.org] On Behalf Of Li, Qing
> Sent: Wednesday, December 09, 2009 12:04 PM
> To: Mario Pavlov; freebsd-stable at freebsd.org; freebsd-
> current at freebsd.org
> Subject: RE: proxy arp and MPD in RELENG_8
> 
> 
> Let me look into this issue and work with you offline.
> 
> I have been quite busy with day job and just starting to slowly
> resume my FreeBSD work.
> 
> -- Qing
> 
> 
> -----Original Message-----
> From: owner-freebsd-stable at freebsd.org on behalf of Mario Pavlov
> Sent: Wed 12/9/2009 11:01 AM
> To: freebsd-stable at freebsd.org; freebsd-current at freebsd.org
> Subject: proxy arp and MPD in RELENG_8
> 
> 
>  Hi,
> some time ago I noticed that there's a problem with the new arp
> implementation - proxy arp was somehow not working when mpd is
involved.
> I decided to try this out again assuming it was fixed for the
> release...unfortunately the problem is still there...
> Here are the last few lines of the mpd output:
> 
> 
> [B-1] IPCP: state change Ack-Rcvd --> Opened
> [B-1] IPCP: LayerUp
> [B-1]   192.168.10.1 -> 192.168.10.50
> [B-1] IFACE: Connecting tcpmssfix
> [B-1] IFACE: Add address 192.168.10.1/32->192.168.10.50 to ng0
> [B-1] exec: /usr/sbin/arp -S 192.168.10.50 0:e0:28:62:e:9 pub
> [B-1] system: command "/usr/sbin/arp" returned 256
> [B-1] IFACE: Up event
> [B-1] IFACE: idle-timeout: 1800 seconds
> [B-1] IFACE: Change interface flags: -0 +1
> 
> 
> there this is mpd.conf:
> 
> 
> startup:
> 
> default:
>         load pptp_server
> 
> pptp_server:
> 
>         set ippool add pool1 192.168.10.50 192.168.10.99
> 
>         create bundle template B
>         set iface enable proxy-arp
>         log +iface2
>         set iface idle 1800
>         set iface enable tcpmssfix
>         set ipcp yes vjcomp
>         set ipcp ranges 192.168.10.1/32 ippool pool1
>         set ipcp dns 192.168.10.1
>         set bundle enable compression
>         set ccp yes mppc
>         set mppc yes e40
>         set mppc yes e128
>         set mppc yes stateless
> 
>         create link template L pptp
>         set link action bundle B
>         set link enable multilink
>         set link yes acfcomp protocomp
>         set link no pap chap
>         set link enable chap
>         set link keep-alive 10 60
>         set link mtu 1460
>         set pptp self pub.ip.add.res
>         set link enable incoming
> 
> 
> this is probably the most common VPN setup and it was working fine
with
> 7.2-STABLE but after I upgraded to 8-STABLE it broke up...
> Is there a workaround or a plan to fix this? Or should I just go back
> to RELENG_7?
> 
> thank you.
> 
> P.S. this is discussed in the forums as well:
> http://forums.freebsd.org/showthread.php?t=8427
> 
> -----------------------------------------------------------------
> ???????? ? ?????? ???????? ?? iZone.bg ? ??????? ???? ?? 5?? ???????
> Acer!
> http://www.izone.bg/6/index.html
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-
> unsubscribe at freebsd.org"
> 
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-
> unsubscribe at freebsd.org"


More information about the freebsd-stable mailing list