Re: Problem with kernel-level pppoe
Hi David Am 13.11.2009 00:22, schrieb David Walker: !/sbin/route -v add -inet default -ifp pppoe0 0.0.0.1 Also it seems possible to add the dest to the end of the inet line (e.g.): inet 0.0.0.0 255.255.255.255 0.0.0.1 This is a should from the man page. Note also !command-line - hostname.if(5). OK I'll adjust that... And finally in sysctl.conf: net.inet.tcp.mssdflt=1440 Where does this come from? Well I read that somewere ;-) Its reverted now... Nevertheless try commenting your sysctl.conf addition, and scrubbing globally (e.g.): # scrub match in all scrub (no-df) Yop that was a problem. the match rule for scrubbing was overridden by a following pf rule... so all works now... Regards andri
Problem with kernel-level pppoe
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 Andri
Re: Problem with kernel-level pppoe
Andre Keller ak () ak ! cx scrivere: 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 Totally unrelated to your issue but I have noticed others (people who usually get it right) not using the \ (disregard line break) character. It's a minor point but makes your file more human. E.g.: # cat hostname.pppoe0 pppoedev vr0 authproto chap authname 'u...@on.net' authkey 'pass' up inet 0.0.0.0 255.255.255.255 dest 0.0.0.1 !/sbin/route -v add -inet default -ifp pppoe0 0.0.0.1 Also it seems possible to add the dest to the end of the inet line (e.g.): inet 0.0.0.0 255.255.255.255 0.0.0.1 This is a should from the man page. Note also !command-line - hostname.if(5). As to your question, I have never had to specify MTU, etcetera for PPPoE. It does it on it's own in my case. # ifconfig | grep vr0 vr0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500 # ifconfig | grep pppoe0 pppoe0: flags=8851UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST mtu 1492 Regardless you might find that 1492 is the sweet spot. The last time I skimmed the RFC this was the amount (eight) required for encapsulating PPP inside ethernet frames). It depends on your transport layer I believe. And finally in sysctl.conf: net.inet.tcp.mssdflt=1440 Where does this come from? Nevertheless try commenting your sysctl.conf addition, and scrubbing globally (e.g.): # scrub match in all scrub (no-df) You might find it works. Best wishes.