<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 9, 2019, at 10:34 AM, Pete Heist <<a href="mailto:pete@heistp.net" class="">pete@heistp.net</a>> wrote:</div><div class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class="">It is not because of it's additional support for a partial checksum<br class="">that I favor trying to make UDP-lite more deployable.<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Aha, ok! In that case I’ll put it on the list for first just supporting UDP-lite with a regular full checksum. It should be easy (said the sailor, unawares of the kraken). The partial checksum for measuring corruption can be down the road.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""></div></blockquote></div><div class=""><br class=""></div><div class="">Unfortunately this isn’t a one-liner in Go, as the value 0 is hardcoded for the protocol argument passed in to the socket function.</div><div class=""><br class=""></div><div class="">It should be possible with a raw socket and making the UDP packet myself (not hard), but that requires either root privileges or cap_net_raw and looking at all proto 136 packets, which I don’t love. I’m still asking around and either way I’ll get it done at some point or another. Maybe the Go team would take a patch to add “udplite” as a new “network” argument, but I doubt it, as OS support is limited pretty much to Linux and FreeBSD.</div></div></body></html>