A method for receiving packet data by means of a data processing system having a plurality of processing cores and supporting a network interface device (301; 401) and a set of at least two software domains (303; 409), each of said software domains (303; 409) comprising one of: a virtualised operating system, part of a monolithic operating system, an application and a network stack, wherein each of said software domains (303; 409) has a privilege level below that of a kernel of the data processing system or a hypervisor (315; 403) of the data processing system, the method characterised by each software domain (303; 409): (a) carrying a plurality of data flows; (b) supporting at least two delivery channels between the network interface device (301; 401) and the respective software domain (303; 409); and (c) being operable to perform receive processing of received packet data at at least two processing cores of the data processing system, the method comprising: receiving at the network interface device (301; 401) packet data that is part of a particular data flow; selecting in dependence on one or more characteristics of the packet data a delivery channel of a particular one of the software domains (303; 409), said delivery channel being associated with a particular one of the at least two processing cores of the data processing system, wherein said at least two delivery channels are associated with different processing cores of said at least two processing cores; and mapping the incoming packet data into the said selected delivery channel such that receive processing of the packet data is performed in the software domain (303; 409) by the same processing core that performed receive processing for preceding packets of that data flow, wherein the selecting step comprises: matching a first subset of the one or more characteristics of the packet data to a set of stored characteristics so as to identify the particular software domain; choosing, in dependence on a second subset of the one or more characteristics of the packet data, the delivery channel within the particular software domain, wherein the matching step is performed by means of a filter and the choosing step is performed by means of a hash function, wherein the filter comprises a flag associated with one of the software domains, said flag indicating whether receive side scaling is enabled for said one of the software domains. receiving at the network interface device (301; 401) packet data that is part of a particular data flow; selecting in dependence on one or more characteristics of the packet data a delivery channel of a particular one of the software domains (303; 409), said delivery channel being associated with a particular one of the at least two processing cores of the data processing system, wherein said at least two delivery channels are associated with different processing cores of said at least two processing cores; and mapping the incoming packet data into the said selected delivery channel such that receive processing of the packet data is performed in the software domain (303; 409) by the same processing core that performed receive processing for preceding packets of that data flow, wherein the selecting step comprises: matching a first subset of the one or more characteristics of the packet data to a set of stored characteristics so as to identify the particular software domain; choosing, in dependence on a second subset of the one or more characteristics of the packet data, the delivery channel within the particular software domain, wherein the matching step is performed by means of a filter and the choosing step is performed by means of a hash function, wherein the filter comprises a flag associated with one of the software domains, said flag indicating whether receive side scaling is enabled for said one of the software domains. matching a first subset of the one or more characteristics of the packet data to a set of stored characteristics so as to identify the particular software domain; choosing, in dependence on a second subset of the one or more characteristics of the packet data, the delivery channel within the particular software domain, wherein the matching step is performed by means of a filter and the choosing step is performed by means of a hash function, wherein the filter comprises a flag associated with one of the software domains, said flag indicating whether receive side scaling is enabled for said one of the software domains.