add multi-queue support, fix a few bugs
use real packet header for sending packets