Configuring GMB for outbound traffic
For any port, group of ports, or static trunk, you can configure either the default minimum bandwidth settings for each outbound priority queue or a customized bandwidth allocation. For most applications, Hewlett Packard Enterprise recommends configuring GMB with the same values on all ports on the switch so that the outbound traffic profile is consistent for all outbound traffic. However, there may be instances where it may be advantageous to configure special profiles on connections to servers or to the network infrastructure (such as links to routers, other switches, or to the network core).
Syntax:
[no] int <port-list|trk_#> bandwidth-min output
Configures the default minimum bandwidth allocation for the outbound priority queue for each port or static trunk in the
<port-list|trk_#>
. In the eight-queue configuration, the default values per priority queue are:
Queue 1 (low priority): 2%
Queue 2 (low priority): 3%
Queue 3 (normal priority): 30%
Queue 4 (normal priority): 10%
Queue 5 (medium priority): 10%
Queue 6 (medium priority): 10%
Queue 7 (high priority): 15%
Queue 8 (high priority): 20%
The
no
form of the command disables GMB for all ports and trunks in the
<port-list>
. In this state, which is the equivalent of setting all outbound queues on a port or static trunk to
0 (zero), a high level of higher-priority traffic can starve lower-priority queues, which can slow or halt lower-priority traffic in the network.
You can configure bandwidth minimums from either the global configuration level (as shown above) or from the port or static trunk context level. For information on outbound port queues, see Per-port outbound priority queues.
Syntax:
[no] int <<port-list|trk_#>> bandwidth-min output [0-100|strict] [0-100]
Select a minimum bandwidth.
For ports and trunks in
<port-list|trk_#>
, specifies the minimum outbound bandwidth as a percent of the total bandwidth for each outbound queue. The queues receive service in descending order of priority of each port.
For application to static trunk interfaces (2920 and 5400R only), GMB enforcement is applied individually to each port belonging to the trunk, and not to the trunk as a whole.
You must specify a bandwidth percent value for all except the highest priority queue, which may instead be set to "strict" mode. The sum of the bandwidth percentages below the top queue cannot exceed 100%. (0 is a value for a queue percentage setting.)
- Queue 8 (high priority)
- Queue 7 (high priority)
- Queue 6 (medium priority)
- Queue 5 (medium priority)
- Queue 4 (normal priority)
- Queue 3 (normal priority)
- Queue 2 (low priority)
- Queue 1 (low priority)
A setting of
0 (zero percent) on a queue means that no bandwidth minimum is specifically reserved for that queue for each of the ports (including trunked ports) in the
<port-list|trk_#>
.
Also, there is no benefit to setting the high-priority queue (queue 8) to 0 (zero) unless you want the medium queue (queues 5 and 6) to be able to support traffic bursts above its guaranteed minimum.
[strict]
: Provides the ability to configure the highest priority queue as
strict
. Per-queue values must be specified in priority order, with queue 1 having the lowest priority and queue 8 (or 4, or 2) having the highest priority (the highest queue is determined by how many queues are configured on the switch. Two, four, and eight queues are permitted (see the
qos queue-config
command). The strict queue is provided all the bandwidth it needs. Any remaining bandwidth is shared among the non-strict queues based on need and configured bandwidth profiles (the profiles are applied to the leftover bandwidth in this case). The total sum of percentages for non-strict queues must not exceed 100.
Configuring 0% for a queue can result in that queue being starved if any higher queue becomes over-subscribed and is then given all unused bandwidth.
The switch applies the bandwidth calculation to the link speed the port or trunk is currently using. For example, if a 10/100 Mbs port negotiates to 10 Mbps on the link, it bases its GMB calculations on 10 Mbps, not 100 Mbps.
Use
show bandwidth output <<port-list|trk_#>>
to display the current GMB configuration. (The
show config
and
show running
commands do not include GMB configuration data.)
Example:
For example, suppose you want to configure the following outbound minimum bandwidth availability for ports 1 and 2:
Priority of outbound port queue |
Minimum bandwidth % |
Effect on outbound bandwidth allocation |
---|---|---|
8 |
20% |
Queue 8 has the first priority use of all outbound bandwidth not specifically allocated to queues 1 to 7. If, For example, bandwidth allocated to queue 5 is not being used and queues 7 and 8 become oversubscribed, queue 8 has first-priority use of the unused bandwidth allocated to queue 5. |
7 |
15% |
Queue 7 has a GMB of 15% available for outbound traffic. If queue 7 becomes oversubscribed and queue 8 is not already using all of the unallocated bandwidth, queue 7 can use the unallocated bandwidth. Also, any unused bandwidth allocated to queues 6 to queue 1 is available to queue 7 if queue 8 has not already claimed it. |
6 |
10% |
Queue 6 has a GMB of 10% and, if oversubscribed, is subordinate to queues 8 and 7 in priority for any unused outbound bandwidth available on the port. |
5 |
10% |
Queue 5 has a GMB of 10% and, if oversubscribed, is subordinate to queues 8, 7, and 6 for any unused outbound bandwidth available on the port. |
4 |
10% |
Queue 4 has a GMB of 10% and, if oversubscribed, is subordinate to queues, 8, 7, 6, and 5 for any unused outbound bandwidth available on the port. |
3 |
30% |
Queue 3 has a GMB of 30% and, if oversubscribed, is subordinate to queues, 8, 7, 6, 5, and 4 for any unused outbound bandwidth available on the port. |
2 |
3% |
Queue 2 has a GMB of 3% and, if oversubscribed, is subordinate to queues, 8, 7, 6, 5, 4, and 3 for any unused outbound bandwidth available on the port. |
1 |
2% |
Queue 1 has a GMB of 2% and, if oversubscribed, is subordinate to all the other queues for any unused outbound bandwidth available on the port. |
Either of the following commands configures ports 1 through 5 with bandwidth settings:
Switch(config) # int 1-5 bandwidth-min output 2 3 30 10 10 10 15 strict
Switch(interface 1–5) # bandwidth-min output 2 3 30 10 10 10 15 strict