Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Aug 2001 13:07:20 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        Peter Blok <pblok@inter.NL.net>
Cc:        "'Thomas Pornin'" <Thomas.Pornin@ens.fr>, freebsd-net@freebsd.org, freebsd-alpha@freebsd.org
Subject:   RE: PPPoE + Alpha + 32/64 bits
Message-ID:  <Pine.BSF.4.21.0108011306410.41008-100000@InterJet.elischer.org>
In-Reply-To: <000001c11ab1$b5b92d70$8a02a8c0@ntpc>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
I think he was using ppp, not mpd.  he's doing adsl/pppoe and
not pptp.


On Wed, 1 Aug 2001, Peter Blok wrote:

> What did you patch in the mpd daemon. I found a lot endian issues with it,
> but due to work pressure I didn't finish it.
> 
> -----Original Message-----
> From: owner-freebsd-alpha@FreeBSD.ORG
> [mailto:owner-freebsd-alpha@FreeBSD.ORG]On Behalf Of Thomas Pornin
> Sent: Wednesday, August 01, 2001 17:36
> To: freebsd-net@freebsd.org
> Cc: freebsd-alpha@freebsd.org
> Subject: PPPoE + Alpha + 32/64 bits
> 
> 
> Hello,
> 
> I recently connected my FreeBSD/Alpha (4.3-RELEASE) to an ADSL link
> using an Alcatel Speed Touch Home modem. As is, it was not working;
> after some digging, I found that there is a bug either in the ng_pppoe
> support, or in the modem.
> 
> The problem is in the pppoe_finduniq() function. In order to identify
> sessions, the PPPoE code sends a tag with the first packet it sends to
> the modem; this tag is in fact a 64-bit pointer to some data structure
> in kernel space. When a packet of type PADO_CODE or PADS_CODE is
> received, the tag is compared with known pointers.
> 
> However, only 32 bits are present in the return tag. So, if the original
> pointer is 0xfffffc00003b3d00, the tag contains only 0x003b3d00, which
> are the first four bytes of data (in little-endian representation). If
> I modify the pppoe_finduniq() function to accept matches on these four
> bytes, the connection is established, and remains fully functionnal
> afterwards.
> 
> Some details: The Alpha is little-endian, but the data in the packets is
> big-endian. If the original pointer is 0xfffffc00003b3d00, the rebuilt
> tag from the response packet is actually 0x003b3d0000000000. I do not
> know if the 8-bytes tag is sent correctly, or if the modem is buggy, or
> whatever.
> 
> Machine configuration:
> AXPpci33 at 166 MHz, 32 MB ram
> ethernet PCI adapter RealTek 8029 10baseT (ed0)
> modem Alcatel Speed Touch Home (ethernet)
> FreeBSD 4.3-RELEASE (with a small patch to enable ed0)
> 
> Feel free to ask for any detail.
> 
> 
> 	--Thomas Pornin
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-alpha" in the body of the message
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message
> 


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: <http://docs.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0108011306410.41008-100000>