1. A method of processing a packet having a plurality of layers, comprising: processing a first layer in accordance with a first protocol; and processing a second layer in accordance with a second protocol in parallel with processing of said first layer when processing of said first layers uncovers sufficient information to support processing of said second layer.