sonewconn() logs messages when a listen socket's queue overflows. These messages can be helpful to systems administrators in determining when a user process is not able to keep up with its listen queue.
Currently, sonewconn() tracks overflows on a global basis. It will only log one message every 60 seconds, regardless of how many sockets experience overflows. And, when it next logs at the end of the 60 seconds, it records a single message referencing a single PCB with the total number of overflows across all sockets.
This change switches to per-socket overflow tracking. The code will now log one message every 60 seconds per socket. And, the code will provide per-socket queue length and overflow counts.
(Note that this change becomes much more useful when combined with D24272.)