Hi guys
I use pppoe on my openbsd based router some time now, but always using user space ppp. I read on several posts / blogs / etc. that kernel-level pppoe (pppoe(4)) would have better performance and I decided to bring up a test device.
My config (OpenBSD 4.6): /etc/hostname.pppoe0 inet 0.0.0.0 255.255.255.255 NONE \ pppoedev vr0 authproto chap \ authname 'user' authkey 'pass' up dest 0.0.0.1 /sbin/route add default 0.0.0.1
And additionally in pf.conf: match on pppoe0 scrub (max-mss 1440)
And finally in sysctl.conf: net.inet.tcp.mssdflt=1440
The connection establish and icmp does work, but with udp pings I got duplicate answers and tcp does not work at all. Short: the connection is not usable.
On the same device using userspace ppp: /etc/ppp/ppp.conf
default: set log Phase Chat LCP IPCP CCP tun command pppoe: set device "!/usr/sbin/pppoe -i vr0" set mtu max 1492 set mru max 1492 set speed sync disable acfcomp protocomp deny acfcomp set authname "user" set authkey "pass" set dial set login add default HISADDR
Everything works ok.
Did I miss anything here?
Any help would be appreciated!
Regards André
On Thu, Nov 12, 2009 at 11:31:38AM +0100, Andre Keller wrote:
Hi guys
I use pppoe on my openbsd based router some time now, but always using user space ppp. I read on several posts / blogs / etc. that kernel-level pppoe (pppoe(4)) would have better performance and I decided to bring up a test device.
My config (OpenBSD 4.6): /etc/hostname.pppoe0 inet 0.0.0.0 255.255.255.255 NONE \ pppoedev vr0 authproto chap \ authname 'user' authkey 'pass' up dest 0.0.0.1 /sbin/route add default 0.0.0.1
And additionally in pf.conf: match on pppoe0 scrub (max-mss 1440)
And finally in sysctl.conf: net.inet.tcp.mssdflt=1440
Where did you got the inpression that you should play with this knob? It does not do what you think it does. I think this is what breaks you're tcp.
The connection establish and icmp does work, but with udp pings I got duplicate answers and tcp does not work at all. Short: the connection is not usable.
You sure you get two times the same udp packet and not two fragments that are interpreted as a duplicate?
On the same device using userspace ppp: /etc/ppp/ppp.conf
default: set log Phase Chat LCP IPCP CCP tun command pppoe: set device "!/usr/sbin/pppoe -i vr0" set mtu max 1492 set mru max 1492 set speed sync disable acfcomp protocomp deny acfcomp set authname "user" set authkey "pass" set dial set login add default HISADDR
Everything works ok.
Did I miss anything here?
Any help would be appreciated!