PPPoE buglet...

Gleb Smirnoff glebius at cell.sick.ru
Wed Mar 17 04:41:38 PST 2004


On Wed, Mar 17, 2004 at 11:52:53AM +0000, David Malone wrote:
D> I spent a while trying to get PPPoE going through a Netopia smart
D> modem last night. To cut a long story short, the values for
D> PTT_RELAY_SID in src/sys/netgraph/ng_pppoe.h are wrong (at least
D> when compared with tcpdump, linux and the RFC). We have:
D> 
D> #if BYTE_ORDER == BIG_ENDIAN
D> #define PTT_RELAY_SID   (0x0106)
D> #else
D> #define PTT_RELAY_SID   (0x0601)
D> #endif
D> 
D> but we should have:
D> 
D> #if BYTE_ORDER == BIG_ENDIAN
D> #define PTT_RELAY_SID   (0x0110)
D> #else
D> #define PTT_RELAY_SID   (0x1001)
D> #endif

Yes. This was noticed more than a year ago in kern/44936.

D> Anyone object to my fixing it? The only thing I can think of that
D> it might break would be people using ng_pppoe as a PPPoE relay with
D> only ng_pppoe PPPoE clients.

AFAIK, ng_pppoe is not able to act as a relay. Consequently, it never
inserts incorrect tag. Thus no one uses incorrect tag and ng_pppoe
never inserts it, the statement "case PTT_RELAY_SID" never returns true.
Therefore, currently PTT_RELAY_SID is not used at all.

So, fixing it won't break anything. And ng_pppoe based ACs will be able
to work with relay agents, which is good.

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE


More information about the freebsd-net mailing list