Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Oct 2000 23:37:17 -0700
From:      Julian Elischer <julian@elischer.org>
To:        Aaron Hill <hillaa@hotmail.com>
Cc:        freebsd-questions@FreeBSD.ORG, freebsd-net@FreeBSD.ORG, paulh@chariot.net.au, ao@pobox.com, gcorcoran@lucent.com
Subject:   Re: Solved! R4.1.1 PPPoE with ADSL (Telstra Bigpond)
Message-ID:  <39F9229D.BB6849D5@elischer.org>
References:  <F40X8KShPdHfKsp3MSi000012ea@hotmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Aaron Hill wrote:
> 
> For those following my problems getting FreeBSD 4.1.1-RELEASE to work with
> ADSL, that problem is now solved. Thank you to everyone on the list who
> responded or just spent some brain time on the problem, I appreciate your
> help.
> 
> Please read on for the solution.



can you test to see if adding a NULL to the end of the service name also
helps?
(with the tags in the original order?)

Send me your exact diffs and I'll commit them. It's really arbitraray
which way 
I construct the packets.


> 
> What it all comes down to is my ISPs equipment is not RFC 2516 compliant -
> in the way I read the RFC at least. Their Access Concentrator would not work
> correctly with a PPPoE discovery session unless the the Service-Name tag was
> positioned as the last tag in the PPPoE payload. Following is proof of that.
> 
> First here's the system I'm working with...
> 
> homer# uname -a
> FreeBSD homer 4.1.1-RELEASE FreeBSD 4.1.1-RELEASE #2: Fri Oct 27 04:25:15
> EST 2000     root@homer:/usr/src/sys/compile/FWCUSTOM  i386
> 
> ... next I should say that the only thing that was being changed on this
> system between the following tcpdump captures was a modification of the file
> /usr/src/sys/netgraph/ng_pppoe.c , a re-compile of the kernel and a reboot.
> 
> Here's what is happening when I try to start a PPPoE session with the
> standard 4.1.1-RELEASE code...
> 
> 0:e0:29:73:81:dd Broadcast 8863 60: PPPoE PADI [Service-Name "bigpond"]
> [Host-Uniq UTF8]
> 
> 0:90:39:47:0:3f 0:e0:29:73:81:dd 8863 192: PPPoE PADO [Service-Name]
> [Service-Name "telstra"] [Service-Name "cmux"] [Service-Name "bigpond"]
> [Service-Name "n7061992k"] [Service-Name "n2155202k"] [Service-Name
> "n2155201k"] [Service-Name "n1011426k"] [Service-Name "n2155203k"]
> [Service-Name "n7061995k"] [Service-Name "n2155205k"] [Service-Name
> "n3120511k"] [Service-Name "n2155206k"] [AC-Name "nkt1-kent"] [Hos
> t-Uniq UTF8]
> 
> 0:e0:29:73:81:dd 0:90:39:47:0:3f 8863 60: PPPoE PADR [Service-Name
> "bigpond"] [AC-Name "nkt1-kent"] [Host-Uniq UTF8]
> 
> 0:90:39:47:0:3f 0:e0:29:73:81:dd 8863 62: PPPoE PADS [Service-Name-Error
> "SvcNameTag Error"] [AC-Name "nkt1-kent"] [Host-Uniq UTF8]
> 
> ... so that's not working. You can see FreeBSD makes correct PADI and PADR
> requests of the Access Concentrator but receives nonsense in reply - the AC
> is not hearing what FreeBSD is saying. So next I modified the source code
> for pppoe to put the Service-Name tag after the Host-Uniq tag in the PADI
> frame. Here's the results...
> 
> 0:e0:29:73:81:dd Broadcast 8863 60: PPPoE PADI [Host-Uniq UTF8]
> [Service-Name "bigpond"]
> 
> 0:90:39:47:0:3f 0:e0:29:73:81:dd 8863 60: PPPoE PADO [Service-Name
> "bigpond"] [AC-Name "nkt1-kent"] [Host-Uniq UTF8]
> 
> 0:e0:29:73:81:dd 0:90:39:47:0:3f 8863 60: PPPoE PADR [Service-Name
> "bigpond"] [AC-Name "nkt1-kent"] [Host-Uniq UTF8]
> 
> 0:90:39:47:0:3f 0:e0:29:73:81:dd 8863 62: PPPoE PADS [Service-Name-Error
> "SvcNameTag Error"] [AC-Name "nkt1-kent"] [Host-Uniq UTF8]
> 
> ... so now I'm getting somewhere - the Access Concentrator is reading the
> PADI correctly and offering the PADO as it should. Problem is it doesn't
> understand the next PADR frame so another Service-Name-Error is encountered.
> Kicking myself I modify the code again, this time to change the order of the
> tags in the PADR frame as well as the PADI frame. Here's the results...
> 
> 0:e0:29:73:81:dd Broadcast 8863 60: PPPoE PADI [Host-Uniq UTF8]
> [Service-Name "bigpond"]
> 
> 0:90:39:47:0:3f 0:e0:29:73:81:dd 8863 60: PPPoE PADO [Service-Name
> "bigpond"] [AC-Name "nkt1-kent"] [Host-Uniq UTF8]
> 
> 0:e0:29:73:81:dd 0:90:39:47:0:3f 8863 60: PPPoE PADR [Host-Uniq UTF8]
> [AC-Name "nkt1-kent"] [Service-Name "bigpond"]
> 
> 0:90:39:47:0:3f 0:e0:29:73:81:dd 8863 60: PPPoE PADS [ses 0x1ec]
> [Service-Name "bigpond"] [AC-Name "nkt1-kent"] [Host-Uniq UTF8]
> 
> ... success! The session then goes on to authenticate and set up IP
> addresses etc. Here's the final result...
> 
> tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
>         inet 61.9.179.226 --> 172.31.18.3 netmask 0xff000000
>         Opened by PID 181
> 
> ...done.
> 
> So what do I/we do next with this information? Is it worth changing the
> FreeBSD source to accomodate for dodgy ISP equipment? I can't say what type
> of Access Concentrator it is I'm dealing with but if this Telco is using it
> I'd say others will.
> 
> Of course anyone's welcome to the changes I've made but based on the
> descriptions above I'm sure you could replicate it yourself easily. I only
> changed the position of two lines in the file.
> 
> Thanks again
> Aaron Hill
> 
> _________________________________________________________________________
> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
> 
> Share information about yourself, create your own public profile at
> http://profiles.msn.com.
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message

-- 
      __--_|\  Julian Elischer
     /       \ julian@elischer.org
    (   OZ    ) World tour 2000
---> X_.---._/  presently in:  Budapest
            v


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39F9229D.BB6849D5>