Addressing The Memory Bottleneck In Packet Processing Systems