FreeBSD 5.4-p8 PPPoE Link Problems...?
perikillo
perikillo at gmail.com
Tue Nov 29 07:07:46 GMT 2005
On 11/28/05, Vladimir Tsvetkov <npacemo at gmail.com> wrote:
> > Hi people.
> >
> > I have one ISP that give 512Kbps service, they give to me one
> > modem SpeedStream, i setup everything, before this service was running
> > on freebsd 4.11-p16(i think ...?), them change all to freebsd 5.4-p8.
> >
> > The problem here is that sometimes appear the link up:
> >
> > tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
> > inet 201.143.64.40 --> 201.130.144.1 netmask 0xffffffff
> > Opened by PID 236
> >
> > But if i try to access the Internet, the browser say that i dont
> > have connection, them i go to my freebsd box, test the connection with
> > Ping and is correct i lost my connection, i need to manually force the
> > link to close and again connect.
> >
> > I dont know if this problem is from my ISP or is Freebsd, i dont
> > have a clue where to find the problem to fix this, with freebsd 4.11 i
> > have this problems to. This is my /etc/rc.conf for ppp
> >
> > # User ppp configuration.
> > ppp_enable="YES" # Start user-ppp (or NO).
> > ppp_mode="ddial" # Choice of "auto", "ddial", "direct" or "dedica
> > ppp_nat="NO" # Use PPP's internal network address translation or NO.
> > ppp_profile="prodigy" # Which profile to use from /etc/ppp/ppp.conf.
> > ppp_user="root" # Which user to run ppp as
> >
> > I was thinking to create a script that check every 5 minutes the
> > link and do something to re-connect, but i dont think is the right
> > solution.
> >
> > Does someone have any idea what can i do to find the problem and
> > fix this...?
> >
> > FreeBSD 5.4-p8
> > Firewall IPFILTER
> >
> > I have everything enable on the kernel not from modules.
> >
> > Thanks all for your time.
>
> To me, this looks like a PPPoE and Path MTU Discovery Problem - for
> the presentation of the problem you can read this (section 6.3) -
> http://66.249.93.104/search?q=cache:eOfdxb4tmkoJ:renaud.waldura.com/doc/freebsd/pppoe/+Renaud+Waldura+%2B+PPPoE&hl=en&client=firefox-a.
>
> You should do the following to establish the Maximum Transmit Unit for
> your connection:
>
> To see how big are the fragments of the TCP Packets I do the following:
>
> 1. Start tcpdump and ping something with big SMTP packets (I use the
> maximum size for an Ethernet frame):
>
> [csh prompt]# tcpdump > tcpdump.dump
> [csh prompt]# ping -s 1500 www.freebsd.org
>
> Packets with this size - 1500 bytes will be transmited not as a whole
> packet - this packet will be chopped and transmited in few parts.
>
> 2. Lets look at an excerpt of the tcpdump file:
>
> vladimir.inana.org.1898 > 192.168.222.1.domain: 30781+ A? www.freebsd.org. (33)
> vladimir.inana.org > www.freebsd.org: icmp: echo request (frag 1025:1472 at 0+)
> vladimir.inana.org > www.freebsd.org: icmp (frag 1025:36 at 1472)
> www.freebsd.org > vladimir.inana.org: icmp: echo reply (frag
> 35040:1456 at 0+) [tos 0x16,ECT(0)]
> www.freebsd.org > vladimir.inana.org: icmp (frag 35040:52 at 1456) [tos
> 0x16,ECT(0)]
>
> We can see clearly that these big packets are splitted in two fragments:
>
> 36B + 1472B = 1508B = 1500B(Ethernet Frame) + 8B(PPPoE Additional Encapsulation)
>
> 3. I set the mtu in the my ppp.conf with the following value:
>
> 1472B + 8B = 1480B
>
> and my connection works correctly :)
>
> Good Luck :)
> Vladimir T
>
Hi Vladimir.
Look i setup my kernel for BPF, i test first with data size of
1500 and receive this after some minutes waiting answer:
#ping -s 1500 cvsup4.FreeBSD.org <---My near server
--after some minutes Ctrl+c
98 packets transmitted, 0 packets receive, 100% lost
Them i star playing with the -s option and found that i can send
packets no more than 1464 bytes.
1464+8 = 1472 this is my MTU
If i send packets more than this quantity (1464) dont receive any
answer from ping command.
Before my MTU was 1492 on the /etc/ppp/ppp.conf because i use one
example to setup my DSL modem, them to test i comment MTU and MRU and
start playing with the values.
I was reading the ppp man page, it says that the default value for
MTU and MRU is 1500 bytes, but like i show you, i cannot send more
than 1464+8, them i setup both values to 1472 on /etc/ppp/ppp.conf
set MTU=1472
set MRU=1472
My conclusion is correct Vladimir...?
Thanks for your time.
More information about the freebsd-questions
mailing list