interface a data packet comprising a header containing multiple fields having respective values to identify responsively to a value of at least one of the fields a corresponding entry in a header modification table and to modify the header in accordance with the identified entry the data packet with the modified header is transmitted through a second interface selected from among the host interface and the network interface application_number US 201514729127 A description when network protocols and functions require changes to header fields u2014 such as in nat or mpls routing as mentioned above u2014 these functions are typically carried out by routers or network switches to implement such functions the router or switch must often store large tables in memory and apply complex high speed logic to the packets alternatively header modification functions may be carried out by a cpu running suitable software in a network appliance both of these solutions however have limitations in terms of cost and scalability embodiments of the present invention that are described herein implement header modification functions in a nic this approach has the benefit of exploiting existing nic interface logic as well as taking advantage of the direct memory access dma capabilities of the nic in order to store header modification tables of effectively unlimited size in the host memory implementation of a number of simple header modification primitives in the nic can then be used in combination with appropriate tables stored by the host computer to offload certain network protocols and functions to the nic when configured in this manner the nic can perform desired header modifications not only on.