For any port, group of ports, or static trunk you can use the default minimum bandwidth settings for each outbound priority queue or a customized bandwidth profile. It is also possible to disable the feature entirely.
|
|
NOTE: For application to static trunk interfaces, GMB enforcement is applied individually to each port belonging to the trunk, and not to the trunk as a whole. |
|
|
By default, GMB is configured with a recommended profile for outgoing traffic that prevents higher-priority queues from starving lower-priority traffic. In the eight-queue configuration, the default values per priority queue are:
The value for each of the queues indicates the minimum percentage of port throughput that is guaranteed for that queue. If a given queue does not require its guaranteed minimum in a given service window, any extra bandwidth is allocated to the other queues, beginning with the highest-priority queue.
The actual number of queues can be two, four, or eight, depending on either the system default or the value set by the latest instance of the qos queue-config
command. Per-queue values must be specified starting with queue 1 being the lowest priority and queue 8 being the highest priority. If desired, the highest-priority queue may be put into “strict” mode by specifying <n
-queues>strict
rather than a percentage value. In strict mode, the highest-priority queue gets all the bandwidth it needs, and any remaining bandwidth is shared among the non-strict queues based on their need and their configured bandwidth profiles. If no guaranteed minimum bandwidth is configured (i.e., the settings for all queues are 0), the traffic is serviced strictly by priority. In practice, this may cause complete starvation of some or all lower-priority queues during any periods where the output port traffic is over-subscribed.
This is an Interface context command. It can be called directly from the interface context, or following the interface
command. For most applications, HP recommends having the same GMB profile on all the ports on a 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).<PORT-LIST>
For more details on GMB operation, see Guaranteed minimum bandwidth (GMB).
Syntax
[no] int
<PORT-LIST|TRK-LIST>
bandwidth-min output
Configures the default minimum bandwidth allocation for the outbound priority queue for each port in the PORT-LIST
.
Syntax for non-default GMB settings
[no] int
<PORT-LIST|TRK-list>
bandwidth-min output queue1_% | queue2_% | queue3_% | queue_4% | queue5_% | queue6_% | queue7_% | queue8_%
strict
|
|
NOTE: The The |
|
|
The no
form of the command disables GMB for all ports in the PORT-LIST
. In this state, which is the equivalent of setting all outbound queue minimum guarantees on a port 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 context level, however you must configure one minimum bandwidth percent setting for each outbound queue.
For ports in PORT-LIST
(including static trunks) this command, specifies the minimum outbound guaranteed bandwidth as a percent of the total bandwidth for each outbound queue. The queues receive service in descending order of priority. For example, to configure GMB on port A10 and trunk trk1, you would use a command with bandwidth values similar to the following:
HP Switch# int a10,trk1 bandwidth-min output 2 3 30 10 10 10 15 20
|
|
NOTE: For application to static trunk interface such as trk1 in the above example, 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 can be used as a value for a queue percentage setting.)
Configuring a total of less than 100% across the outbound queue set results in unallocated bandwidth that remains harmlessly unused unless a given queue becomes oversubscribed. In this case, the unallocated bandwidth is apportioned to oversubscribed queues in descending order of priority.
For example, if you configure a minimum of 10% for queues 1 to 7 and 0% for queue 8, the unallocated bandwidth is available to all eight queues in the following prioritized order:
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) |
Queue 8 (high priority) |
|
|
NOTE: In practice, the above priorities are the result of the configured minimum of 10% for queues 1 through 7 and 0% for queue 8. However, the switch does check queue 8 periodically and services it any time the bandwidth needed in a lower-priority queue goes below its minimum. |
|
|
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 in the <PORT-LIST>
.
Also, there is no benefit to setting the high-priority queue (queue 8) to 0 (zero) unless you want the medium queue (queue 4) to be able to support traffic bursts above its guaranteed minimum.
Using Strict mode
Strict mode 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 outbound 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.
Example
For example, suppose you want to configure the following outbound minimum bandwidth availability for ports A1 through A5:
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 A1 through A5 with bandwidth settings:
HP Switch(config) # int a1-a5 bandwidth-min output 2 3 30 10 10 10 15 strict HP Switch(eth-A1-A5) # bandwidth-min output 2 3 30 10 10 10 15 strict
This command displays the per-port GMB configuration in the running-config
file.
Syntax
show bandwidth output
<PORT-LIST|TRK-LIST>
Without PORT-LIST
, this command lists the GMB configuration for all ports on the switch.
With PORT-LIST
, this command lists the GMB configuration for the specified ports.
This command operates the same way in any CLI context. If the command lists
for a port, there are no bandwidth minimums configured for any queue on the port.Disabled
Example
To display the GMB configuration resulting from either of the above commands:
Listing the GMB configuration
(HP_Switch_name#) show bandwidth output a1-a5 Outbound Guaranteed Minimum Bandwidth % Port Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 ------ --- ------ --- ------ --- --- --- ------ A1 2 3 30 10 10 10 15 strict A2 2 3 30 10 10 10 15 strict A3 2 3 30 10 10 10 15 strict A4 2 3 30 10 10 10 15 strict A5 2 3 30 10 10 10 15 strict
The following figure shows how the preceding listing of the GMB configuration would appear in the startup-config
file.
GMB settings listed in the show config
output
(HP Switch#) show config status Running configuration is same as the startup configuration (HP Switch#) show config Startup configuration: ; J9821A configuration Editor; Created on release #KB.15.18.0001 hostnme “HP Switch” module 1 type J9986A snmp-server community “public” Unrestricted vlan 1 name “DEFAULT_VLAN” untagged A1-A24 ip address dhcp-bootp exit interface A1 bandwidth-min output 2 3 30 10 10 10 15 strict exit interface A2 bandwidth-min output 2 3 30 10 10 10 15 strict exit interface A3 bandwidth-min output 2 3 30 10 10 10 15 strict exit interface A4 bandwidth-min output 2 3 30 10 10 10 15 strict exit interface A5 bandwidth-min output 2 3 30 10 10 10 15 strict exit
Output when trunk name specified
HP-5406zl# show bandwidth output Trk1 Outbound Guaranteed Minimum Bandwidth % Port Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 ------ --- ------ --- ------ --- --- --- ------ Trk1 10 15 10 15 10 15 10 15
Output when no port list specified
HP-5406zl# show bandwidth output Outbound Guaranteed Minimum Bandwidth % Port Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 ------ --- ------ --- ------ --- --- --- ------ A1 2 3 30 10 10 10 15 20 A2 10 15 10 15 10 15 10 15 A3 2 3 30 10 10 10 15 20 A4 2 3 30 10 10 10 15 20 A5 2 3 30 10 10 10 15 20 A6 2 3 30 10 10 10 15 20 A7 2 3 30 10 10 10 15 20 A8 2 3 30 10 10 10 15 20 A9 2 3 30 10 10 10 15 20 A10 2 3 30 10 10 10 15 20 A11 2 3 30 10 10 10 15 20 A12 2 3 30 10 10 10 15 20 A13 2 3 30 10 10 10 15 20 A14 2 3 30 10 10 10 15 20 A15 2 3 30 10 10 10 15 20 A16 2 3 30 10 10 10 15 20 A17 2 3 30 10 10 10 15 20 A18 2 3 30 10 10 10 15 20 A19 2 3 30 10 10 10 15 20 A20 2 3 30 10 10 10 15 20 A21 2 3 30 10 10 10 15 20 A22 2 3 30 10 10 10 15 20 A23 2 3 30 10 10 10 15 20 A24 2 3 30 10 10 10 15 20 F1 2 3 30 10 10 10 15 20 F2 2 3 30 10 10 10 15 20 F3 2 3 30 10 10 10 15 20 F4 2 3 30 10 10 10 15 20 F5 2 3 30 10 10 10 15 20 F6 2 3 30 10 10 10 15 20 F7 2 3 30 10 10 10 15 20 F8 2 3 30 10 10 10 15 20 F9 2 3 30 10 10 10 15 20 F10 2 3 30 10 10 10 15 20 F11 2 3 30 10 10 10 15 20 F12 2 3 30 10 10 10 15 20 F13 2 3 30 10 10 10 15 20 F14 2 3 30 10 10 10 15 20 F15 2 3 30 10 10 10 15 20 F16 2 3 30 10 10 10 15 20 F17 2 3 30 10 10 10 15 20 F18 2 3 30 10 10 10 15 20 F19 2 3 30 10 10 10 15 20 F20 2 3 30 10 10 10 15 20 F21 2 3 30 10 10 10 15 20 F22 2 3 30 10 10 10 15 20 F23 2 3 30 10 10 10 15 20 F24 2 3 30 10 10 10 15 20 Trk1 10 15 10 15 10 15 10 15 Trk2 15 10 15 10 15 10 15 10
Validation |
Error/Warning/Prompt |
---|---|
Rate-limit queues out percent command |
|
Valid port number? |
Invalid port number |
Valid trunk interface? |
Invalid trunk interface |
Trunk type supported? |
Unsupported trunk type |
Maximum bandwidth value is greater than the minimum bandwidth configured for a queue? |
Invalid maximum value. |
Bandwidth-min output command |
|
Valid trunk interface? |
Invalid trunk interface |
Trunk type supported? |
Unsupported trunk type |
Minimum bandwidth value is lesser than the maximum bandwidth configured for a queue? |
Invalid minimum value. |
Show rate-limit queues command |
|
Valid port number? |
Invalid port number |
Valid trunk interface? |
Invalid trunk interface |
Trunk type supported? |
Unsupported trunk type |
Show bandwidth output command |
|
Valid trunk interface? |
Invalid trunk interface |
Trunk type supported? |
Unsupported trunk type |
Event |
Message |
---|---|
Invalid port number |
The port number <port num> entered is invalid. |
Invalid trunk interface |
The trunk <trunk name> entered is invalid. |
Unsupported trunk type |
This command is not supported on distributed or dynamic trunks. |
Invalid maximum value |
The maximum bandwidth value <max value > entered should be greater than the minimum bandwidth value <min value> configured. |