Add support for IP_RECVTOS
A SmartOS LX user discovered our lack of support using an LX zone. See https://github.com/joyent/illumos-joyent/issues/330 for that user's specific problem.
This is a case where to fix it in LX requires getting it to work in illumos native zones first. Luckily, we have a place to start working our way out. See here:
for receive-ancillary-data infrastructure. We will need to at least one bit for the above socket options, maybe two if we wish to keep them disjoint (though there's no TOS in IPv6, and no TCLASS in IPv4).
While not a bite-sized, that there is this data structure to keep track of ancillary data bits, it might not be a "hard" one either.
Updated by Andy Fiddaman about 1 year ago
Running the new test programs (32 and 64-bit) results in passes:
% ./recvmsg.64 [PASS] baseline [PASS] recv TOS [PASS] recv TTL [PASS] recv PKTINFO [PASS] recv TOS,TTL [PASS] recv TTL,PKTINFO [PASS] recv TOS,PKTINFO [PASS] recv TOS,TTL,PKTINFO [PASS] set TOS,TTL [PASS] set/recv TOS,TTL [PASS] set TOS,TTL, recv PKTINFO [PASS] set TOS,TTL, recv TOS,TTL,PKTINFO [PASS] STREAM set TOS [SKIP] STREAM recv TOS - (requires two separate zones) [SKIP] STREAM set/recv TOS - (requires two separate zones)
The STREAM tests that require two zones were also tested successfully.
I also build ISC bind 9.11 in an ONU boot environment and ran its socket DSCP tests successfully, observing the TOS data being received.
Updated by Electric Monk about 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
commit 221e47fb90c5fcfe7add9a33f6c915ee5253ece9 Author: Andy Fiddaman <email@example.com> Date: 2020-10-01T21:28:00.000Z 13175 Add support for IP_RECVTOS 13182 CMSG_ macros should have man pages Reviewed by: Dan McDonald <firstname.lastname@example.org> Reviewed by: Robert Mustacchi <email@example.com> Approved by: Robert Mustacchi <firstname.lastname@example.org>