As the next generation network is supposed to support diverse service requirements, managing Quality of Service (QoS) is a crucial part of it. QoS guarantees have long been deemed too complicated until the emergence of software-defined networking (SDN) and widely adopted standard OpenFlow. Recently, Programming Protocol-independent Packet Processors (P4) has gained much attention because of its features like programmable data plane and independent protocol and platform. It is anticipated that the high flexibility of P4 can enhance the QoS control for production networks. In this paper, we show a design of bandwidth management for QoS with SDN and P4-programmable switch. The design classifies packets into different categories based on their QoS demands and usages, which are then disaggregated by a two-level priority queue. Experiments with P4 switch shows that the proposed design not only effectively limits the maximum allowed rate but also guarantees the minimum bandwidth of each traffic flow. As such, the design can maximize bandwidth utilization and serves a building block for network slicing.