If files are transferred using TCP, use firewall-mangle rules to clamp MSS to your desired value
Although FTP is using TCP for the transfer, I can't seem to get it to work using MSS changes. As a test, I setup 2 routers (one as the FTP server, one fetching a file). Changing the MSS doesn't change anything in this configuration, not on either side of the link. Limiting MTU does work. Testing reveals the smallest L3 MTU I can run is 96 and still get an FTP transfer to start.
Edit: actually, something else is going on. The MSS isn't actually changing using the adjusted suggested code from the wiki:
/ip firewall mangle
add out-interface=ether5 protocol=tcp tcp-flags=syn action=change-mss new-mss=100 chain=forward tcp-mss=101-65535
It appears, MSS cannot be changed on receipt (cannot be changed on input or prerouting stages) so it cannot be changed on the FTP server itself. Please correct me if I am wrong here.
Further, it appears MSS cannot be changed on a router making the fetch request. It only succeeds if the router is in the middle, somewhere between the fetch and FTP devices. I must be missing something, but I haven't found it yet. Please let me know if you have any specific suggestions.