A Software Defined Network, SDN, communications system including a first SDN manager, a second Software Defined Protocol, SDP, manager, and a plurality of SDP network nodes (209 - 215) each of the SDP network nodes comprising a software protocol engine with a SDP node management unit therein, wherein - the first SDN manager is configured to determine a path, wherein the path is a sequence of SDP network nodes for a traffic flow from a source to a destination, wherein the first SDN manager is configured to provide an information to configure a forwarding information base, FIB, that is used to forward packets to virtual network nodes within a SDP network node in the path of the traffic flow, wherein the FIB is stored in the SDP network nodes, - the second SDP manager is configured to determine protocols for the traffic flow and set up SDP network nodes along the path to implement the protocols, wherein the second SDP manager is further configured to provide processing instructions including software descriptions for implementing the protocols to the SDP network nodes, if one of the SDP network nodes does not support the protocols for the traffic flow, - the second SDP manager is further configured to decide which SDP network nodes should implement which software protocol stack for which end-to-end flow, wherein the second SDP manager is further configured to set up forwarding tables to map flow identifiers to a software protocol stack, wherein the second SDP manager is further configured to set up the protocol stack by sending instructions for protocol stack configuration, - the SDP node management unit is configured to receive instructions from the second SDP manager, wherein the SDP node management unit is further configured to configure the software protocol engine in accordance with the instructions from the second SDP manager, with some of the instructions referring to associations of packet flows with protocol stacks. - the first SDN manager is configured to determine a path, wherein the path is a sequence of SDP network nodes for a traffic flow from a source to a destination, wherein the first SDN manager is configured to provide an information to configure a forwarding information base, FIB, that is used to forward packets to virtual network nodes within a SDP network node in the path of the traffic flow, wherein the FIB is stored in the SDP network nodes, - the second SDP manager is configured to determine protocols for the traffic flow and set up SDP network nodes along the path to implement the protocols, wherein the second SDP manager is further configured to provide processing instructions including software descriptions for implementing the protocols to the SDP network nodes, if one of the SDP network nodes does not support the protocols for the traffic flow, - the second SDP manager is further configured to decide which SDP network nodes should implement which software protocol stack for which end-to-end flow, wherein the second SDP manager is further configured to set up forwarding tables to map flow identifiers to a software protocol stack, wherein the second SDP manager is further configured to set up the protocol stack by sending instructions for protocol stack configuration, - the SDP node management unit is configured to receive instructions from the second SDP manager, wherein the SDP node management unit is further configured to configure the software protocol engine in accordance with the instructions from the second SDP manager, with some of the instructions referring to associations of packet flows with protocol stacks.