Ubuntu support for the TFTP windowsize option (RFC 7440)

TFTP windowsize option (RFC 7440) provides faster TFTP transfers for network boot environments.

Red Hat 7.5 implemented Client/Server RFC 7440 support ,
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/7.5_release_notes/
UEFI edk2 scheduled Client RFC 7440 support released on Nov 2018

Any plan on getting this feature supported by Ubuntu TFTP packages?

Any plan on getting this feature supported by Ubuntu TFTP packages?

No specific plans of which I’m aware, but please note that most new features in this kind of thing arrive by having been implemented upstream, and Ubuntu picks them up during its six monthly development cycle.

If you look up the specific package you’re talking about, you should be able to find which upstream version included support for the feature you want, and then compare that to the packages shipped in different releases of Ubuntu to understand status for that feature in Ubuntu.

If you could then tell us what that status is please, it would help us to understand what your request means for Ubuntu and thus to answer your question.

2 Likes

TFTP RFC 7440 does not have upstream (tftp-hpa) support yet.
RHEL/CentOS RFC 7440 patch applies over tftp-hpa-5.2.tar.gz and it is publicly available here
https://git.centos.org/tree/rpms!tftp.git/c7
https://git.centos.org/blob/rpms!tftp.git/c7/SOURCES!tftp-rfc7440-windowsize.patch

Ubuntu tftpd-hpa and tftp-hpa packages are both (from trusty to cosmic) based on the tftp-hpa-5.2.tar.gz
https://packages.ubuntu.com/cosmic/tftpd-hpa
https://packages.ubuntu.com/cosmic/tftp-hpa

Applying the RHEL/CentOS patch to Ubuntu codebase and getting immediate RFC 7440 support should be a trivial matter.

Do you know why? Sometimes this is an indicator that there is a good reason the patch is not yet ready for inclusion in a stable release.

It’s trivial to apply a patch, sure, but not necessarily trivial to maintain it, backport to a stable release without causing regressions to existing behaviour, and so forth. We can do it, but generally won’t without a good justification.

TFTP-HPA last known release was 5.2 19 Dec 2011.
Linux distribution including (Ubuntu) code their own patches that (for some reason) are not quickly moved upstream.

RHEL usually produces good code and they already dealt with potential regressions, etc.

The good reason to move forward was already found by RHEL;
to keep up with the new RFC 7440 TFTP standard.
Shouldn’t that also be a good reason for Ubuntu?

That’s not really a reason. Could you perhaps elaborate on why keeping up is a good thing in this case?

I’m not refusing the idea of carrying the patch; I’m just refusing to consider the additional maintenance burden without an actual justification.

For example, you said “faster TFTP transfers for network boot environments” in your original post. In what use case would this make a practical difference for Ubuntu users, and why would it do so? Can you quantify deployment speed improvements? Or will a 125 second deployment become a 124 second deployment, in which case it’s probably not worth the extra maintenance burden?

1 Like

It could be useful to request that patch to be included in Debian as well, it would give it extra eyes/testing and would get into Ubuntu on the next merge then.

@rbasak
Please do all of us a favor:
read the RFC 7440 standard first and we keep talking later.

@seb128
I agree to request the patch to be included in Debian,
I do not agree on waiting for their adoption.

@rbasak
Did you read the standard?
Were your questions answered?

I am working for a large software company.

We were using tftpd-hpa. However, because Windows Deployment Server (WDS) supports RFC 7440, we are migrating to WDS. That makes me sad. This large software company made measurements. Using WDS decreases boot time to 1/5th of what tftpd-hpa does.

Probably your best shot would be asking Peter Anvin to finally implement RFC 7440 upstream.
He reads about HPA on his Syslinux mailing list and he was asked about RFC 7440 support last December.

https://www.syslinux.org/archives/2019-November/026599.html
https://www.syslinux.org/archives/2019-November/026600.html

The funny part is that the initial code is already implemented by RedHat about 2 years ago.