Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Aug 2001 19:45:09 +0200
From:      "Peter Blok" <>
To:        "'Thomas Pornin'" <>, <>
Cc:        <>
Subject:   RE: PPPoE + Alpha + 32/64 bits
Message-ID:  <000001c11ab1$b5b92d70$8a02a8c0@ntpc>
In-Reply-To: <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
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
Subject: PPPoE + Alpha + 32/64 bits


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

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

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
with "unsubscribe freebsd-alpha" in the body of the message

To Unsubscribe: send mail to
with "unsubscribe freebsd-alpha" in the body of the message

Want to link to this message? Use this URL: <$b5b92d70$8a02a8c0>