Mark Bednarczyk's blog

Web maintenance 4/10 10pm CST

Maintenance Window Notification

Date: April 10, 2010
Time: 10:00 PM CST – 1:00 AM CST April 11, 2010
Purpose: Backup Power Systems Testing & Network Equipment Upgrades

Bug#2981951 - intermittent crashes in scanner

Latest SVN changes

The trunk has been replaced by contents of branch-1.4. The contents of the old trunk are saved as a tag under jnetpcap/tags/2.0/trunk-2.0-analysis. Analysis features in the trunk have been deprecated for now, until I can start full development in 2.0.

So what we have here is a clean 1.4 based trunk that contains only libpcap wrapper and decoder functionality. I also upgraded the libpcap/winpcap support to the new libpcap 1.0.0 API. You will notice that under root/lib directory now exists WpdPack_4_1_1 directory with latest winpcap SDK containing the libpcap 1.0.0 API.

In summary:

jnetpcap/tags/2.0/trunk-2.0-deprecated-analysis - contents of old trunk
jnetpcap/tags/2.0/branch-2.0-1st-attempt-09 - new memory management (1st attempt)
jnetpcap/trunk - main trunk now has contents of branch-1.4

Moved/deleted/renamed:
jnetpcap/branches/branch-2.0 - moved to branch-2.0-1st-attempt-09
jnetpcap/branches/branch-1.4 - moved to trunk

Major collocation/hosting power outage this morning


Our Phoenix Data Center experienced a power outage this morning. Power was restored, however, a PDU was affected leaving some of the Data Center still down. Electrical Engineers are working to restore the remaining Data Center.

Started on 1.4.b0001

I started work on 1.4.b0001. The new branch-1.4 is based branch-1.3. Its using exact same code base, but will have few new features added and expanded platform support. Any bugs that will be discovered in 1.3, the fixes will be incorporated into 1.4 as well.

Here is what I'm working on right at the moment:

1) Adding the "lazy decode" feature.

2) Adding JPacketBufferHandler feature.

Lazy decode is when packet scan/decoding is triggered only when the packet contents are first accessed and not when the packet is created. This will delay packet decoding to a time when its actually needed. This will allow packet decoding to be delayed by the user, to be performed in other threads and not the capture thread.

The JPacketBufferHandler is a new dispatcher handler that is designed for efficiency and minimization of java overhead during capture. This new handler uses a new container object JPacketBuffer which is designed to allocate large user memory buffer to store multiple packets. The default allocation size is 1MB and allows storage of anywhere between 500 to 10,000 packets depending on the packet size. Both the pcap header and the packet contents are stored in the buffer. The native dispatcher copies incoming packets from libpcap into this buffer until its full. Only when the buffer is full is the buffer dispatched to java handler with all of the captured packets. The JPacketBuffer container provides an iterator to access packets within the buffer. This minimizes interaction with java as hundreds if not thousands of packets can be efficiently stored in the buffer before any interaction with java has to occur. After the buffer is dispatched to java, a new buffer is allocated to receive more packets.

Syndicate content