Packet scheduling and queue management strategies are key issues of DiffServ per-hop behaviours. This paper proposes a queue management system that, in conjunction with scheduling mechanisms, is able to support class differentiation. The general principles and the architecture of the queue management system are presented. The proposal is supported by a prototype that was subject to several tests, in terms of packet drops and burst tolerance. The test results are presented and analysed, allowing an assessment of the usefulness and effectiveness of the underlying ideas.