A network interface card comprising: an interface configured to interface with a network, said interface configured to receive data from the network and put data onto said network; and an application specific integrated circuit comprising: i) a plurality of data processing pipelines (114a-h), and ii) a field programmable gate array configured as a further data processing pipeline that is arranged in a path parallel to the plurality of data processing pipelines (114a-h), wherein at least one data processing pipeline is configured to process data received from the network and at least one data processing pipeline is configured to process data to be put onto said network; a network switch configured to receive data from the interface and to provide an output to a respective pipeline of the plurality of data processing pipelines (114a-h) which process data received from the network; and a transaction ordering function configured to receive outputs from the data processing pipelines which process data received from the network, and to ensure that the outputs received from the data processing pipelines are provided to a host device in an order that the data was received in, at the interface, wherein said field programmable gate array is arranged to be reconfigurable while said network interface card is in use, and wherein said network interface card is configured to cause the data being handled by the field programmable gate array to be: i) explicitly dropped by the network interface card when said field programmable gate array is being reconfigured while in use, or ii) temporarily routed to one or more of the plurality of data processing pipelines (114a-h) when said field programmable gate array is being reconfigured while in use. an interface configured to interface with a network, said interface configured to receive data from the network and put data onto said network; and an application specific integrated circuit comprising: i) a plurality of data processing pipelines (114a-h), and ii) a field programmable gate array configured as a further data processing pipeline that is arranged in a path parallel to the plurality of data processing pipelines (114a-h), wherein at least one data processing pipeline is configured to process data received from the network and at least one data processing pipeline is configured to process data to be put onto said network; i) a plurality of data processing pipelines (114a-h), and ii) a field programmable gate array configured as a further data processing pipeline that is arranged in a path parallel to the plurality of data processing pipelines (114a-h), a network switch configured to receive data from the interface and to provide an output to a respective pipeline of the plurality of data processing pipelines (114a-h) which process data received from the network; and a transaction ordering function configured to receive outputs from the data processing pipelines which process data received from the network, and to ensure that the outputs received from the data processing pipelines are provided to a host device in an order that the data was received in, at the interface, wherein said field programmable gate array is arranged to be reconfigurable while said network interface card is in use, and wherein said network interface card is configured to cause the data being handled by the field programmable gate array to be: i) explicitly dropped by the network interface card when said field programmable gate array is being reconfigured while in use, or ii) temporarily routed to one or more of the plurality of data processing pipelines (114a-h) when said field programmable gate array is being reconfigured while in use.