On April 13th 2007 Novell released a new Winsock patch for NetWare, wsock6l. In that Readme, was this line:
Technical Support Information:
Included a new module called WS2NRM.NLM which is a replacement for winsock NRM diagnostics. Only needs to be loaded to troubleshoot winsock related issue through NRM.
And didn’t tell anything else about this new thing. I found out about it on a recent support call. What it does is enable a new diagnostic page in the Novell Remote Manager for NetWare to track Winsock2 issues. This is handy!
Why is it handy, you may ask? Because it has the ability to give detailed information about winsock2 sockets. In my case I was having trouble with mod_edir hammering servers with NOT_LOGGED_IN connections. With this I was able to see the state of those connections from a Winsock point of view. It manifested as a whole bunch of open sockets assigned to LIBC.
You can get to those counters by clicking on the “Winsock 2 Resources link”. It’ll list all the modules using Winsock2 resources, one of which is Libc. Click on the module to get the open sockets assigned to that module.
In this case the connections were being charged against LIBC instead of either MOD_EDIR or APACHE2 because MOD_EDIR called NXCreatePathContext to contact remote servers, a LIBC function. Therefore LIBC got charged for the connection.
In order to add it to NRM you just have to load WS2NRM.NLM, and removing it is as simple as unloading WS2NRM. I’ve found it an interesting troubleshooting tool, and it isn’t much known about. Have fun!