Patent ID: 7822875

Claim:
A method comprising: parsing a data packet into data packet information based on one or more packet attributes; forwarding the parsed data packet information to a memory buffer and a user modifiable lookup table; selecting information contained in the user modifiable lookup table based on the parsed data packet information; assembling packet rewrite information based on the selected lookup table information, the parsed data packet information, and user programmable information; and modifying the data packet according to the packet rewrite information, wherein the step of assembling packet rewrite information comprises: selecting a packet rewrite instruction template located in a memory based on index information contained in the selected lookup table information; selecting a packet rewrite data template located in a memory based on index information contained in the selected lookup table information; assembling, by a multiplexer, packet rewrite data based on the selected lookup table information, the data packet information, the user programmable information, and the packet rewrite data template; and assembling the packet rewrite information based on the packet rewrite data and the packet rewrite instruction template.