Nmap Development mailing list archives

Call for testers: nsock poll(2)-engine


From: Henri Doreau <henri.doreau () gmail com>
Date: Sun, 19 Feb 2012 16:23:38 +0100

Hello,

I've developed a new IO engine for nsock, based on poll(2) (UNIX like
systems) or WSAPoll (Windows systems - thanks to Arnaud Bellec for
helping there). I would appreciate some feedback on it, especially
from people running non-linux platforms (BSDs, Mac OS, Windows...).

To get the code:
svn co https://svn.nmap.org/nmap-exp/henri/nmap-pollengine

Possible stress tests:
   # Basic operations
   nmap -sVC <targets>
   # High speed TCP connect
   nping --tcp-connect -c 2000 --rate 2000 localhost
   # PCAP code
   nmap --traceroute --script firewalk,qscan,ipidseq <targets>

Also the new engine is always enabled under windows (due to a
hardcoded #define HAVE_POLL 1 in nsock/include/nsock_winconfig.h)
which might break compilation on platforms that don't provide the
WSAPoll function. Although this is probably trivial, I have absolutely
no idea how to add a conditional check (ala configure) to the visual
studio project files and don't have any Windows box to experiment. If
someone well versed in Windows development could give it a try that
would be much appreciated.

The new engine should bring a considerable scalability gain, since it
removes the current limitation of FD_SETSIZE (usually 1024; 64 on
windows) concurrent sockets on all platforms but Linux (for which we
already have an epoll(7)-based engine).

The new engine is defined first in the engines list, and should
therefore be selected by default, even on epoll-aware systems. This is
for testing purposes.

Regards.

-- 
Henri
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/


Current thread: