Lantiq vrx200 pppoe @ 1500 bytes

Hi all,
I'm trying to get LEDE to allow 1500 bytes down pppoe (UK, plusnet via BT openreach modem).
At first, LEDE would not allow setting of the eth0 adaptor to 1508, which i had read was the route to using a switch based pppoe solution.
I patched trunk with the code below, which allows the MTU to be set to 1508, and I believe that the buffers in the driver are big enough (0x600 bytes).
But after everything was in place, and MTU set 'correctly', packets larger than 1492 (i.e. a ping of 1464) were dropped unless the MTU on the pppoe-wan interface was set to 1492.
I checked the pppd logs, and they reported negotiating 1500 for MTU and MRU.

What I did not do was sniff ethernet traffic to the BT Openreach modem, but it is reported that this does support 1508 on the wire.
Others seem to have been able to do this fairly easiy... Where do I got from here?

Code changes in lantiq_xrx200.c: (cribbed from already modified vdsl driver)

static int xrx200_change_mtu(struct net_device dev, int mtu)
{
/
Allow up to 1508 bytes, for RFC4638 */
if (mtu < 68 || mtu > ETH_DATA_LEN + 8)
return -EINVAL;
dev->mtu = mtu;
return 0;
}

static const struct net_device_ops xrx200_netdev_ops = {
.ndo_init = xrx200_init,
.ndo_open = xrx200_open,
.ndo_stop = xrx200_close,
.ndo_start_xmit = xrx200_start_xmit,
.ndo_set_mac_address = eth_mac_addr,
.ndo_validate_addr = eth_validate_addr,
.ndo_change_mtu = xrx200_change_mtu,

Simon

1 Like

As a follow-up to this.
I have successfully setup full 1500 mtu using a direct vdsl connection (documented here: https://openwrt.ebilan.co.uk/viewtopic.php?f=7&t=230).
I am now not convinced that the ECI B-Focus 1B between the router and the vdsl had an ethernet MTU of 1508 as stated by some, so that was most likely the issue.
But it would be useful to enable baby-jumbo-frames for this purpose; so if someone has some ideas on how to test the above code, to assess if it is a useful (or even required) modification......

Simon

BT 'ECI b-focus V-2Fub/r Rev.B' definitely can't do mini-jumbo frames on it's ethernet....

Having released my ECI b-focus V-2Fub/r Rev.B from service, I decided to open it and take a look.
Adding serial was fairly easy.
login admin/admin.
ifconfig shows MTU on ethernet as 1500.....
So it definitely can't do mini-jumbo frames required (1508 bytes) for pppoe over ethernet to achieve 1500 byte packets....
And 'ifconfig eth0 mtu 1508' gives the same error as stock Openwrt (on the same chipset?), so it's drivers can't do it either; i.e. the stock firmware cannot be configured to do so.