Hello everyone!
In the last days I built a patch available at:
http://backsla.sh
Please consider integration into main line! (-:
Patch in details:
* eagle-usb module
o satisfy dropping routine with correct "mru" calculation
o set MTU of eagle network interface to mru (6553x) in case of PPPoA
o kick default change_mtu handler (it would restrict changing
the MTU e.g. with ifconfig to something bigger 1500)
* pppoa userspace helper
o resize buffer to 4000 bytes (small enough for static buffer)
o if packet read fills buffer, drop it and syslog error
(packet was probably bigger)
o let pppd send PPP data until buffer full
o ...an error message gets more information...
o check from the eagle-usb module invented length field exactly, this
"header field" is on the kicklist anyway... (-:
o remove two unused and wrong macros
* new resulting limits
o The RX path is probably most limited between the driver and
userspace. The relevant buffer was 1536 Bytes in size. The patch
doesn't change it. In case of PPPoA, PPP packets larger than 1520
Bytes cant be delivered to userspace. This results in a PPP mru of
1518 Bytes.
o The limiting factor in the TX path is a buffer storing all ATM cells
belonging to one AAL5 payload. It is 1802 Bytes. The patch doesn't
change it. This allows a maximum AAL5 payload of 1624. In case of
PPPoA VC-muxed this is also the PPP packet size fitting into the
buffer. With PPPoA LLC it's 4 Bytes less: 1620. The resulting PPP
mtu is 1622 respectively 1618.
o mtu=mru=1500 is no problem. I couldn't test bigger values. My PPP
peer accepts requests for bigger packets (e.g. mru 1510), but doesn't
use it (e.g. ICMP echo replys from PPP partner get yet split into IP
fragments <= 1500 Bytes). Sending IP > 1500 Byte result in no
response (tested with ICMP echo requests). Please note that PPP has
no option to suggest bigger MTUs to the peer. We can only allow it
to send bigger packets with the mru option. The partner needs to
voluntarily offer a mru for his side. Mine doesn't, so it defaults
to 1500 Bytes. From the PPP view my partner works correct.
More information about this difficulty also at http://backsla.sh/
and posted in http://forum.eagle-usb.org (english, spanish section)
Bye,
Robert