On Thu, 30 Jan 2025 18:43:34 +1100 David Gibson <david(a)gibson.dropbear.id.au> wrote:Hm, ok. I'm way less convinced on both of those points. Which means I'd like to have a clear policy on whether we require versions to match or not. Which we prioritise affects design choices.No, in this case, we don't require versions to match. The protocol is well-defined and won't change. Any change to it will require a different interface. The protocol is one byte that can be TCP_REPAIR_ON, TCP_REPAIR_OFF, TCP_REPAIR_OFF_WP, and one to SCM_MAX_FD sockets as SCM_RIGHTS ancillary message, sent by the server. The client replies with the same byte (and no ancillary message) to signal success, and closes the connection on failure. The server closes the connection on error or completion. This is obviously enough for a privileged helper that has the only function of setting the TCP_REPAIR socket option to TCP_REPAIR_ON, TCP_REPAIR_OFF, or TCP_REPAIR_OFF_WP, on a given set of sockets. As a result, I think that any added complexity is plain wrong. -- Stefano