Page MenuHomeFreeBSD

Add new port: net/tcprtt: reliably measure the TCP handshake round trip time using stats(9)
ClosedPublic

Authored by trasz on Jun 15 2019, 3:45 PM.

Details

Summary

Add new port: net/tcprtt

The tcprtt utility reliably measures the TCP handshake round trip time
using the new stats(3) statistics framework.

Note that this depends on https://reviews.freebsd.org/D20655.

Sponsored By: Klara Inc, Netflix
Obtained from: Netflix

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

trasz created this revision.Jun 15 2019, 3:45 PM
trasz edited the summary of this revision. (Show Details)Jun 15 2019, 3:46 PM
trasz edited the summary of this revision. (Show Details)Jun 15 2019, 10:13 PM
trasz retitled this revision from Add new port: net/tcprttt to Add new port: net/tcprtt.
matthew requested changes to this revision.Jun 19 2019, 5:57 AM

I'm getting compilation failures due to missing sys/qmath.h on 12.0 and 11.2

tcprtt.c:32:10: fatal error: 'sys/qmath.h' file not found
#include <sys/qmath.h>
         ^~~~~~~~~~~~~
1 error generated.
*** [tcprtt.o] Error code 1

make[1]: stopped in /wrkdirs/usr/ports/net/tcprtt/work/tcprtt-1.0
1 error

make[1]: stopped in /wrkdirs/usr/ports/net/tcprtt/work/tcprtt-1.0
net/tcprtt/files/Makefile
1 ↗(On Diff #58672)

I'm wondering about the split of actions between this Makefile and the ports Makefile. It seems odd to have the
build stage controlled here, but the install stage from elsewhere.

This revision now requires changes to proceed.Jun 19 2019, 5:57 AM

Given this:

Note that this depends on https://reviews.freebsd.org/D20655.

Presumably this port will be limited to CURRENT once D20655 gets committed, and then waiting on MFC to a release branch
before it can be packaged for wider distribution? I'm not sure about adding a port that only works on CURRENT. That's
a question for portmgr@

However it should have tests against ${OSVERSION} to ensure we don't waste time trying to build it on OS versions where
it is never going to work...

linimon retitled this revision from Add new port: net/tcprtt to Add new port: net/tcprtt: reliably measure the TCP handshake round trip time using stats(9) .Jun 20 2019, 9:46 AM
mat added a comment.Jun 20 2019, 10:48 AM

The source files should not be put in the "files" directory, if one day you need to add support files, like *.in files, it will clutter everything. It would be preferable to put them in a src directory.

trasz updated this revision to Diff 59578.Jul 9 2019, 7:51 PM
trasz marked an inline comment as done.
trasz retitled this revision from Add new port: net/tcprtt: reliably measure the TCP handshake round trip time using stats(9) to Add new port: net/tcprtt: reliably measure the TCP handshake round trip time using stats(9).

Move sources to GitHub, add __FreeBSD_version check.

Since I don't know what the version will be, the number
will probably change before committing.

trasz edited the summary of this revision. (Show Details)Jul 14 2019, 7:06 PM
allanjude edited the summary of this revision. (Show Details)Aug 13 2019, 6:06 PM
trasz updated this revision to Diff 63498.Oct 20 2019, 6:14 PM
trasz edited the summary of this revision. (Show Details)

Fix build with upstreamed changes.

trasz updated this revision to Diff 63549.Oct 22 2019, 5:07 PM

Update after fix from thj@.

allanjude added inline comments.
net/tcprtt/Makefile
20 ↗(On Diff #63549)

stats.h is committed now, so we should update this to the correct number

trasz added inline comments.Nov 25 2019, 12:46 PM
net/tcprtt/Makefile
20 ↗(On Diff #63549)

This also needs the TCP part of the stats(3) framework, which is not committed yet.

This revision was not accepted when it landed; it landed in state Needs Review.Dec 2 2019, 9:33 PM
Closed by commit rP518879: Add new port: net/tcprtt (authored by trasz). · Explain Why
This revision was automatically updated to reflect the committed changes.