A network interface device comprising: a plurality of components (122, 124) configured to process a flow of data in a data path one after another; and a control component configured to: i) allocate one or more of said plurality of components to process a respective flow of data in response to a request; and ii) generate and provide one or more control messages in said data path, the one or more control messages being provided to the one or more of said plurality of components (122, 124) in the data path one after another, the one or more control messages comprising an address of one or more of the plurality of components (122, 124) such that the one or more control messages change a configuration of one or more of said plurality of components (122, 124), wherein each of said plurality of components is configured to update its configuration in response to the one or more control messages such that data received after the control message in said respective flow of data is processed by the respective component with its updated configuration, wherein the one or more control messages are output from a component of the plurality of components (122, 124) to a subsequent one of the plurality of components (122, 124) in a direction of the respective flow of data in the sequence of the data path, wherein the control component is configured to receive the one or more control messages output by the plurality of components (122, 124), wherein at least one of the one or more control messages provided by the control component is configured to cause the one or more of said plurality of components to define a data pipeline for the respective flow of data, and wherein each component identified in the request is configured to, on receiving said one or more control messages, respond to said request and to update status information associated with that component in said one or more control messages. a plurality of components (122, 124) configured to process a flow of data in a data path one after another; and a control component configured to: i) allocate one or more of said plurality of components to process a respective flow of data in response to a request; and ii) generate and provide one or more control messages in said data path, the one or more control messages being provided to the one or more of said plurality of components (122, 124) in the data path one after another, the one or more control messages comprising an address of one or more of the plurality of components (122, 124) such that the one or more control messages change a configuration of one or more of said plurality of components (122, 124), wherein each of said plurality of components is configured to update its configuration in response to the one or more control messages such that data received after the control message in said respective flow of data is processed by the respective component with its updated configuration, i) allocate one or more of said plurality of components to process a respective flow of data in response to a request; and ii) generate and provide one or more control messages in said data path, the one or more control messages being provided to the one or more of said plurality of components (122, 124) in the data path one after another, the one or more control messages comprising an address of one or more of the plurality of components (122, 124) such that the one or more control messages change a configuration of one or more of said plurality of components (122, 124), wherein each of said plurality of components is configured to update its configuration in response to the one or more control messages such that data received after the control message in said respective flow of data is processed by the respective component with its updated configuration, wherein the one or more control messages are output from a component of the plurality of components (122, 124) to a subsequent one of the plurality of components (122, 124) in a direction of the respective flow of data in the sequence of the data path, wherein the control component is configured to receive the one or more control messages output by the plurality of components (122, 124), wherein at least one of the one or more control messages provided by the control component is configured to cause the one or more of said plurality of components to define a data pipeline for the respective flow of data, and wherein each component identified in the request is configured to, on receiving said one or more control messages, respond to said request and to update status information associated with that component in said one or more control messages.