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

Reply via email to