A network controller configured to communicate with one or more other network nodes (102, 122, 126, 204), said network controller comprising: a transmitter circuit configured to transmit packets on a plurality of virtual lanes, VLs, said VLs dedicated to one of at least three defined VL priorities and an allocated share of network bandwidth; a bandwidth monitor module comprising a plurality of bandwidth meters, each configured to measure the bandwidth consumed by packets transmitted on the plurality of VLs, to perform a comparison of said measured bandwidth to said allocated share of network bandwidth and to determine whether said measured bandwidth exceeds said allocated share of network bandwidths; and an arbiter module comprising a plurality of arbiter sub-modules (216a-d) each dedicated to one of the at least three VL priorities configured to: adjust said VL priority to a lowest VL-priority responsive to said comparison indicating that said measured bandwidth exceeds said allocated share of network bandwidth, each arbiter sub-module (216a-d) to independently select one of the at least three defined VLs, provide said VL priority responsive to said comparison indicating that said measured bandwidth does not exceed said allocated share of network bandwidth; and to assign a VL to the priority arbiter sub-module corresponding to its priority, wherein the transmitter circuit is further configured to transmit said packets based on the assigned VL priority. a transmitter circuit configured to transmit packets on a plurality of virtual lanes, VLs, said VLs dedicated to one of at least three defined VL priorities and an allocated share of network bandwidth; a bandwidth monitor module comprising a plurality of bandwidth meters, each configured to measure the bandwidth consumed by packets transmitted on the plurality of VLs, to perform a comparison of said measured bandwidth to said allocated share of network bandwidth and to determine whether said measured bandwidth exceeds said allocated share of network bandwidths; and an arbiter module comprising a plurality of arbiter sub-modules (216a-d) each dedicated to one of the at least three VL priorities configured to: adjust said VL priority to a lowest VL-priority responsive to said comparison indicating that said measured bandwidth exceeds said allocated share of network bandwidth, each arbiter sub-module (216a-d) to independently select one of the at least three defined VLs, provide said VL priority responsive to said comparison indicating that said measured bandwidth does not exceed said allocated share of network bandwidth; and to assign a VL to the priority arbiter sub-module corresponding to its priority, wherein the transmitter circuit is further configured to transmit said packets based on the assigned VL priority. adjust said VL priority to a lowest VL-priority responsive to said comparison indicating that said measured bandwidth exceeds said allocated share of network bandwidth, each arbiter sub-module (216a-d) to independently select one of the at least three defined VLs, provide said VL priority responsive to said comparison indicating that said measured bandwidth does not exceed said allocated share of network bandwidth; and to assign a VL to the priority arbiter sub-module corresponding to its priority, wherein the transmitter circuit is further configured to transmit said packets based on the assigned VL priority.