For the archives sake, we finally solved this. pppoe(4) never requests
an mru during lcp negotiation (and acks any reasonable mru offered).
In our case we were being offered an mru (1492) by the BT AC (BRAS)
which we ack'd. With the mru agreed at both ends of the link our auth
with the BT bras succeeded.

We were *not* being offered an mru by our ISP's AC. Therefore, because
pppoe(4) never requests one, no mru was negotiated for the link. This
caused our subsequent auth  response to be ignored by our ISP's AC.
(Is that a bug at the ISP's equipment or a bug in pppoe(4)?)

I hacked sppp(4) to nak any lcp configure request it received that
didn't include an mru option, setting the option value in the nak to
mru = 1492. This ensures the mru is always negotiated and now our auth
to our ISP succeeds. I believe ppp(8) does something similar too
(hence why ppp(8) worked for us where pppoe(4) didn't).

I'm not sure if pppoe(4) should always attempt mru negotiation but
I'll cook up a patch anyway most likely using the configured mtu of
the pppoe interface as the initial mru option value.

Reply via email to