On the 5900 platform, any change in the interface queue configuration had to be configured at the interface level.
When a network administrator wants to use FCoE, the interface queue configuration is used by DCBX to configure the server CNA with the proper number of Queues and weights. If multiple servers need to be connected, each server-facing interface had to be configured. And even when interface range commands can be used, the actual interface configuration was getting more complicated due to the number of additional commands per interface.
With the R2416 release of Comware7, the concept of Queue Management Profiles has been introduced to simplify this configuration. This is similar to the way e.g. the existing 12500 series are doing the queue configuration.
Default configuration
Let’s configure a single 10G interface to use just 2 Queues, with a 40/60% weight distribution. Queue 0 could be used for DATA, Queue 1 could be used by Storage (iSCSI/FCOE).
The default Queue configuration
[device1] display qos queue int ten 1/0/49 Interface: Ten-GigabitEthernet1/0/49 Output queue: Weighted Round Robin queuing Queue ID Group Byte-count ----------------------------------------- be 1 1 af1 1 2 af2 1 3 af3 1 4 af4 1 5 ef 1 9 cs6 1 13 cs7 1 15
Now we change the interface queue configuration (all non-used queues are assigned to the SP group, since this will ensure their weight will no be included in the announced DCBX weights. Keep in mind that a local dot1p to local precedence map would map all traffic to queues 0 and 1, ensuring no data would actually be processed by the other queues marked as SP)
[device1]int ten 1/0/49 # Review the existing configuration (which is default) [device1-Ten-GigabitEthernet1/0/49] display this # interface Ten-GigabitEthernet1/0/49 port link-mode bridge # return [device1-Ten-GigabitEthernet1/0/49] ## Make some Queue configuration changes [device1-Ten-GigabitEthernet1/0/49]qos wrr 0 group 1 byte 4 [device1-Ten-GigabitEthernet1/0/49]qos wrr 1 group 1 byte 6 [device1-Ten-GigabitEthernet1/0/49]qos wrr 2 group sp [device1-Ten-GigabitEthernet1/0/49]qos wrr 3 group sp [device1-Ten-GigabitEthernet1/0/49]qos wrr 4 group sp [device1-Ten-GigabitEthernet1/0/49]qos wrr 5 group sp [device1-Ten-GigabitEthernet1/0/49]qos wrr 6 group sp [device1-Ten-GigabitEthernet1/0/49]qos wrr 7 group sp [device1-Ten-GigabitEthernet1/0/49]
The updated interface queue status and configuration:
[device1-Ten-GigabitEthernet1/0/49]dis qos queue int ten 1/0/49 Interface: Ten-GigabitEthernet1/0/49 Output queue: Weighted Round Robin queuing Queue ID Group Byte-count ----------------------------------------- be 1 4 af1 1 6 af2 sp NA af3 sp NA af4 sp NA ef sp NA cs6 sp NA cs7 sp NA [device1-Ten-GigabitEthernet1/0/49] [device1-Ten-GigabitEthernet1/0/49] display this # interface Ten-GigabitEthernet1/0/49 port link-mode bridge qos wrr be group 1 byte-count 4 qos wrr af1 group 1 byte-count 6 qos wrr af2 group sp qos wrr af3 group sp qos wrr af4 group sp qos wrr ef group sp qos wrr cs6 group sp qos wrr cs7 group sp # return [device1-Ten-GigabitEthernet1/0/49]
This means that for each configured interface, the qos commands are added to the interface configuration. This will be simplified with the QMProfiles.
For the configuration example, the Interface Ten 1/0/49 is set to default again, so the QMProfile can be applied.
[device1-Ten-GigabitEthernet1/0/49]default This command will restore the default settings. Continue? [Y/N]:y [device1-Ten-GigabitEthernet1/0/49]display this # interface Ten-GigabitEthernet1/0/49 port link-mode bridge # return
New QMProfile configuration
Let’s create a new QMProfile with name “server”
[device1] qos qmprofile server [device1-qmprofile-server]
The Default QMProfile configuration, which shows all queue are set to SP by default:
[device1-qmprofile-server] display qos qmprofile configuration Queue management profile: server (ID 1) Queue ID Type Group Schedule-unit Schedule-value Bandwidth --------------------------------------------------------------------------- be SP N/A N/A N/A N/A af1 SP N/A N/A N/A N/A af2 SP N/A N/A N/A N/A af3 SP N/A N/A N/A N/A af4 SP N/A N/A N/A N/A ef SP N/A N/A N/A N/A cs6 SP N/A N/A N/A N/A cs7 SP N/A N/A N/A N/A [device1-qmprofile-server]
Make some changes (only Queue 0 and 1 need changes, since all other Queues are marked as SP by default). Different values are taken only to demonstrate the different output.
[device1-qmprofile-server] queue 0 wrr group 1 byte-count 5 [device1-qmprofile-server] queue 1 wrr group 1 byte-count 10 [device1-qmprofile-server]
And review the updated QMprofile
[device1-qmprofile-server] display qos qmprofile configuration Queue management profile: server (ID 1) Queue ID Type Group Schedule-unit Schedule-value Bandwidth --------------------------------------------------------------------------- be WRR 1 byte-count 5 N/A af1 WRR 1 byte-count 10 N/A af2 SP N/A N/A N/A N/A af3 SP N/A N/A N/A N/A af4 SP N/A N/A N/A N/A ef SP N/A N/A N/A N/A cs6 SP N/A N/A N/A N/A cs7 SP N/A N/A N/A N/A [device1-qmprofile-server] quit
Now apply this QMProfile, example applies it to a range of some interfaces
[device1] int range ten 1/0/50 to ten 1/0/52 [device1-if-range] qos apply qmprofile server [device1-if-range] quit ## Review the simplified interface configuration [device1] display current int ten 1/0/50 # interface Ten-GigabitEthernet1/0/50 port link-mode bridge qos apply qmprofile server # return [device1]
Review of Interface queue status
The operational Queue configuration has now been updated
[device1] display qos queue int ten 1/0/50 Interface: Ten-GigabitEthernet1/0/50 Output queue: Weighted Round Robin queuing Queue ID Group Byte-count ----------------------------------------- be 1 5 af1 1 10 af2 sp NA af3 sp NA af4 sp NA ef sp NA cs6 sp NA cs7 sp NA [device1]
Change propagation of the QMProfile
And any change made to the QMProfile…
[device1] qos qmprofile server [device1-qmprofile-server] display this # qos qmprofile server queue be wrr group 1 byte-count 5 queue af1 wrr group 1 byte-count 10 # return [device1-qmprofile-server] queue 0 wrr group 1 byte 3 [device1-qmprofile-server] [device1-qmprofile-server] display this # qos qmprofile server queue be wrr group 1 byte-count 3 queue af1 wrr group 1 byte-count 10 # return [device1-qmprofile-server]
Is now applied to the interfaces
[device1-qmprofile-server] display qos queue int ten 1/0/50 Interface: Ten-GigabitEthernet1/0/50 Output queue: Weighted Round Robin queuing Queue ID Group Byte-count ----------------------------------------- be 1 3 af1 1 10 af2 sp NA af3 sp NA af4 sp NA ef sp NA cs6 sp NA cs7 sp NA