A method in a first network device for applying Quality-of-Service, QoS, on a virtual interface over a multi-path transport topology, the method comprising: receiving a packet (413-B) of the virtual interface, from an ingress network processing unit, NPU, , by a service home network processing unit, NPU, , wherein the virtual interface is provisioned with a virtual interface QoS, and wherein the virtual interface comprises a hierarchy of sub interfaces, wherein the service home NPU is implemented at the first network device , and wherein a physical NPU and the ingress NPU are implemented at a second network device communicatively coupled to the first network device; selecting a virtual adjacency from a plurality of virtual adjacencies maintained by the first network device based on metadata contained in virtual adjacency identifier, ID, included in the packet (413-B), wherein each virtual adjacency is associated with the virtual interface or a sub interface of the virtual interface, and wherein each virtual adjacency comprises a queue manager and a set of virtual interface queues ; using the queue manager of the selected virtual adjacency to select a queue from the set of virtual interface queues of the selected virtual adjacency based on a priority of the packet, and store the packet in the selected queue; performing hierarchical scheduling based on the virtual interface QoS to select the queue from all sets of virtual interface queues of all virtual adjacencies; and sending the packet (413-C) from the selected queue and a transport link identifier, ID, to a physical network processing unit, NPU, that is to forward the packet over a physical transport link identified by the transport link ID, to cause the physical NPU to apply a QoS on the packet based on the transport link ID receiving a packet (413-B) of the virtual interface, from an ingress network processing unit, NPU, , by a service home network processing unit, NPU, , wherein the virtual interface is provisioned with a virtual interface QoS, and wherein the virtual interface comprises a hierarchy of sub interfaces, wherein the service home NPU is implemented at the first network device , and wherein a physical NPU and the ingress NPU are implemented at a second network device communicatively coupled to the first network device; selecting a virtual adjacency from a plurality of virtual adjacencies maintained by the first network device based on metadata contained in virtual adjacency identifier, ID, included in the packet (413-B), wherein each virtual adjacency is associated with the virtual interface or a sub interface of the virtual interface, and wherein each virtual adjacency comprises a queue manager and a set of virtual interface queues ; using the queue manager of the selected virtual adjacency to select a queue from the set of virtual interface queues of the selected virtual adjacency based on a priority of the packet, and store the packet in the selected queue; select a queue from the set of virtual interface queues of the selected virtual adjacency based on a priority of the packet, and store the packet in the selected queue; performing hierarchical scheduling based on the virtual interface QoS to select the queue from all sets of virtual interface queues of all virtual adjacencies; and sending the packet (413-C) from the selected queue and a transport link identifier, ID, to a physical network processing unit, NPU, that is to forward the packet over a physical transport link identified by the transport link ID, to cause the physical NPU to apply a QoS on the packet based on the transport link ID <EOS>