Using ethernet address instead of tcp source port.  Allows larger address space and therefore easier delegation (eg., thread 1 pushes matches for ethernet with highest byte 00, thread 2 01, etc.).
Had a bug in translating to mac addresses: was using integers when dealing with longs.