Re: RFR: 8284890: Support for Do not fragment IP socket options [v2]
On Fri, 15 Apr 2022 11:49:29 GMT, Michael McMahon wrote: >> Hi, >> >> Could I get the following PR review please? It adds a new JDK specific >> extended socket option >> called IP_DONTFRAGMENT, which disables IP packet fragmentation in both IPv4 >> and IPv6 >> UDP sockets (NIO DatagramChannels). For IPv4 in particular, it sets the DF >> (Dont Fragment) bit >> in the IP header. There is no equivalent in the IPv6 packet header as >> fragmentation is implemented >> exclusively by the sending and receiving nodes. >> >> Thanks, >> Michael > > Michael McMahon has updated the pull request incrementally with one > additional commit since the last revision: > > builds in github action now Build change looks good. - Marked as reviewed by erikj (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/8245
Re: RFR: 8284539: Configure --with-source-date=version fails on MacOS
On Thu, 14 Apr 2022 16:13:59 GMT, Andrew Leonard wrote: > JDK-8282769 added support for more ISO-8601 formats, but remove handling of > just a date "-MM-DD" being present, which is the case for a configure > using --with-source-date=version which uses the date string from > version-numbers.conf. > Also, the first date parse had an invalid format string "%FZ %TZ", with too > many Zs. > This PR corrects the first date parse to parse a standard ISO-8601 Zulu > date&time: "%FT%TZ" > Then it adds the final check for no time being specified. > > Signed-off-by: Andrew Leonard Marked as reviewed by erikj (Reviewer). make/autoconf/util.m4 line 243: > 241: # BSD date > 242: # ISO-8601 date&time in Zulu 'date'T'time'Z > 243: timestamp=$($DATE -u -j -f "%FT%TZ" "$2" "+%s" 2> /dev/null) You are removing the space between FT and TZ, I'm just curious why and if that is significant. EDIT: Never mind me, this looks good. - PR: https://git.openjdk.java.net/jdk/pull/8247
Re: RFR: 8284890: Support for Do not fragment IP socket options [v2]
On Fri, 15 Apr 2022 10:04:48 GMT, Daniel Jeliński wrote: >> Michael McMahon has updated the pull request incrementally with one >> additional commit since the last revision: >> >> builds in github action now > > src/jdk.net/windows/native/libextnet/WindowsSocketOptions.c line 73: > >> 71: if (family == AF_INET) { >> 72: opt = optval; >> 73: rv = setsockopt(fd, IPPROTO_IP, IP_DONTFRAGMENT, (char *)&opt, >> sizeof(int)); > > Why do we only use `IPV6_MTU_DISCOVER` but not `IP_MTU_DISCOVER`? As far as I > can tell, `IP_DONTFRAGMENT` alone doesn't guarantee that the DF bit will be > set. I did (manually) check that the DF bit is set, though unfortunately, there's no straightforward way to test that in the regression test. We could have the same construction for AF_INET as AF_INET6 and try IP_MTU_DISCOVER first which won't work pre Windows 10/2019. So, I'll make that change. - PR: https://git.openjdk.java.net/jdk/pull/8245
Re: RFR: 8284890: Support for Do not fragment IP socket options [v2]
> Hi, > > Could I get the following PR review please? It adds a new JDK specific > extended socket option > called IP_DONTFRAGMENT, which disables IP packet fragmentation in both IPv4 > and IPv6 > UDP sockets (NIO DatagramChannels). For IPv4 in particular, it sets the DF > (Dont Fragment) bit > in the IP header. There is no equivalent in the IPv6 packet header as > fragmentation is implemented > exclusively by the sending and receiving nodes. > > Thanks, > Michael Michael McMahon has updated the pull request incrementally with one additional commit since the last revision: builds in github action now - Changes: - all: https://git.openjdk.java.net/jdk/pull/8245/files - new: https://git.openjdk.java.net/jdk/pull/8245/files/446dd6cf..14c776b1 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=8245&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=8245&range=00-01 Stats: 4 lines in 1 file changed: 4 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/8245.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/8245/head:pull/8245 PR: https://git.openjdk.java.net/jdk/pull/8245
Re: RFR: 8284890: Support for Do not fragment IP socket options
On Fri, 15 Apr 2022 09:19:48 GMT, Daniel Fuchs wrote: >> Hi, >> >> Could I get the following PR review please? It adds a new JDK specific >> extended socket option >> called IP_DONTFRAGMENT, which disables IP packet fragmentation in both IPv4 >> and IPv6 >> UDP sockets (NIO DatagramChannels). For IPv4 in particular, it sets the DF >> (Dont Fragment) bit >> in the IP header. There is no equivalent in the IPv6 packet header as >> fragmentation is implemented >> exclusively by the sending and receiving nodes. >> >> Thanks, >> Michael > > test/jdk/jdk/net/ExtendedSocketOption/DontFragmentTest.java line 40: > >> 38: >> 39: public class DontFragmentTest { >> 40: > > Should we have a similar test for DatagramSocket / MulticastSocket / > DatagramChannel.socket() ? Good idea - PR: https://git.openjdk.java.net/jdk/pull/8245
Re: RFR: 8284890: Support for Do not fragment IP socket options
On Thu, 14 Apr 2022 16:04:22 GMT, Michael McMahon wrote: > Hi, > > Could I get the following PR review please? It adds a new JDK specific > extended socket option > called IP_DONTFRAGMENT, which disables IP packet fragmentation in both IPv4 > and IPv6 > UDP sockets (NIO DatagramChannels). For IPv4 in particular, it sets the DF > (Dont Fragment) bit > in the IP header. There is no equivalent in the IPv6 packet header as > fragmentation is implemented > exclusively by the sending and receiving nodes. > > Thanks, > Michael src/jdk.net/windows/native/libextnet/WindowsSocketOptions.c line 73: > 71: if (family == AF_INET) { > 72: opt = optval; > 73: rv = setsockopt(fd, IPPROTO_IP, IP_DONTFRAGMENT, (char *)&opt, > sizeof(int)); Why do we only use `IPV6_MTU_DISCOVER` but not `IP_MTU_DISCOVER`? As far as I can tell, `IP_DONTFRAGMENT` alone doesn't guarantee that the DF bit will be set. - PR: https://git.openjdk.java.net/jdk/pull/8245
Re: RFR: 8284890: Support for Do not fragment IP socket options
On Thu, 14 Apr 2022 16:04:22 GMT, Michael McMahon wrote: > Hi, > > Could I get the following PR review please? It adds a new JDK specific > extended socket option > called IP_DONTFRAGMENT, which disables IP packet fragmentation in both IPv4 > and IPv6 > UDP sockets (NIO DatagramChannels). For IPv4 in particular, it sets the DF > (Dont Fragment) bit > in the IP header. There is no equivalent in the IPv6 packet header as > fragmentation is implemented > exclusively by the sending and receiving nodes. > > Thanks, > Michael test/jdk/jdk/net/ExtendedSocketOption/DontFragmentTest.java line 40: > 38: > 39: public class DontFragmentTest { > 40: Should we have a similar test for DatagramSocket / MulticastSocket / DatagramChannel.socket() ? - PR: https://git.openjdk.java.net/jdk/pull/8245
RFR: 8284890: Support for Do not fragment IP socket options
Hi, Could I get the following PR review please? It adds a new JDK specific extended socket option called IP_DONTFRAGMENT, which disables IP packet fragmentation in both IPv4 and IPv6 UDP sockets (NIO DatagramChannels). For IPv4 in particular, it sets the DF (Dont Fragment) bit in the IP header. There is no equivalent in the IPv6 packet header as fragmentation is implemented exclusively by the sending and receiving nodes. Thanks, Michael - Commit messages: - fix whitespace errors - minor spec update - windows 2016 issue - windows issue - windows update - test update - updates - simplified test. Loosened spec - Merge branch 'master' into mtu - fixed test - ... and 11 more: https://git.openjdk.java.net/jdk/compare/40ddb755...446dd6cf Changes: https://git.openjdk.java.net/jdk/pull/8245/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8245&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8284890 Stats: 437 lines in 11 files changed: 434 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/8245.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/8245/head:pull/8245 PR: https://git.openjdk.java.net/jdk/pull/8245