A method performed by a data processing system, said data processing system comprising: an application, a software interface and a network protocol stack and the data processing system being coupled to a network by a network interface device, the method comprising: the application forming one or more parts of a message for transmission; characterised by: the application causing the network protocol stack to generate a message template by means of a first request to the software interface, said first request comprising a reference to data constituting said one or more parts of said message; the software interface, on receiving the first request, causing the network protocol stack to include said one or more parts of the message in the message template and, in accordance with a predetermined set of protocols, form at least in part one or more protocol headers of the message; and subsequently: the application forming one or more further parts of the message; the application causing the network protocol stack to include the one or more further parts of the message in the message template by means of one or more further requests to the software interface and, once the message template includes all of the one or more further parts of the message, process the message in accordance with the predetermined set of protocols so as to complete said protocol headers of the message; and the network protocol stack causing the network interface device to obtain the completed message and transmit it over the network. the application forming one or more parts of a message for transmission; characterised by: the application causing the network protocol stack to generate a message template by means of a first request to the software interface, said first request comprising a reference to data constituting said one or more parts of said message; the software interface, on receiving the first request, causing the network protocol stack to include said one or more parts of the message in the message template and, in accordance with a predetermined set of protocols, form at least in part one or more protocol headers of the message; the application causing the network protocol stack to generate a message template by means of a first request to the software interface, said first request comprising a reference to data constituting said one or more parts of said message; the software interface, on receiving the first request, causing the network protocol stack to include said one or more parts of the message in the message template and, in accordance with a predetermined set of protocols, form at least in part one or more protocol headers of the message; the application forming one or more further parts of the message; the application causing the network protocol stack to include the one or more further parts of the message in the message template by means of one or more further requests to the software interface and, once the message template includes all of the one or more further parts of the message, process the message in accordance with the predetermined set of protocols so as to complete said protocol headers of the message; and the network protocol stack causing the network interface device to obtain the completed message and transmit it over the network.