VLAN Service Queuing (VLAN Shaping)
Each port in a Qumran device can use eight default priority queues.Enabling the QoS feature configures all port priority queues with default egress queuing parameters. To customize the priority queue treatment, use the queuing policy-map infrastructure.
Service queuing maps services to specific VLANs and shapes each VLAN based traffic. Within each VLAN, queues can be grouped and shaped independently.
With service queuing, OcNOS supports up to three levels of hierarchical queuing (HQoS). The port default queues continue to operate with a single-level scheduler.
Configuring VLAN Shaping
The following section explains how to configure basic infrastructure functionality for queuing per services on an interface. These queues support all the possible QoS treatments through egress queuing policy-map configurations. Services can be mapped using a
service-template or
match vlan commands. When a service in a class is matched inside a policy and attached to an interface, four new queues are created for these services. Users can create a maximum 3-level scheduling hierarchy for each service using these policy-maps.
A policy-map attached to an interface is referred to as an L0 level policy-map. Each child policy-map added is at an incremented level, i.e., the child of an L0-level policy-map is an L1-level policy-map, and the child of an L1-level is an L2 policy-map. This user-defined policy-map supports a maximum 3-level hierarchy.
Class-default-q is a self-created class map within a policy map. There are two types of class-default-q class maps (CMAPs):
• When a policy is applied to an interface, class-default-q represents the port default queues. If the operator wants to shape or apply TailDrop or Weighted Random Early Detection (WRED) properties on the port queues, they must apply them to the class-default-q CMAP at Level 0.
• When a child policy is attached to a CMAP with a service match criterion (match service-template/VLAN), the class-default-q CMAP in the child policy represents the queues left unmatched in the rest of the CMAPs of the child policy.
Configuring a Queuing Policy-map
When the QoS feature is enabled, the Qumran device applies a default policy-map of queuing type to all ports. This default policy-map, named default-out-policy, is reserved, and modifying its parameters affects all ports without a customized queuing policy-map. Users can create customized queuing policy-maps and bind them to ports to treat ports differently from default configuration.
Creating a user-defined queuing policy-map
Qumran board allows the creation of customized policy-maps, where users can configure four new queues for each service. If a priority queue class-map is not configured, the default behavior for these new queues is weighted fair queuing. Weighted fair queuing is also the default behavior between new queues and port default queues.
These class-maps match services for which new queues will be created. Users can also create empty class-maps to establish hierarchies and group services accordingly.
Matching criteria of a queuing class-map
A queuing class-map can use four matching criteria:
1. Queue: Selects the queue. Use the command `match queue <0-7>`.
Note:
• For port queues, the valid range is 0-7.
• For service queues, the valid range is 0-3.
2. Service-template: Classifies based on service. Use the command `match service-template NAME` and `no match service-template`.
3. VLAN: Lists VLAN IDs.Use the command
match vlan Note: VLAN matching criteria support applies to customer VLANs on the CE port in Provider Bridge only.
4. Interface: Matches based on interface name. Use the commands `match interface IFNAME` and `no match interface`.
Note: The interface name can be a VLAN interface or a sub-interface.
After configuring the policy-map, set up the queuing class-maps using the command
class type queuing.
Binding/Unbinding a QoS Policy-map on an Interface
Customized queuing policy-maps take affect only when the configuration is bound to a port. To bind or unbind a queuing policy-map to an out-port, use the command
service-policy type queuing.
Binding/Unbinding a QoS Policy-map as a Child Service Policy
To create a hierarchy, configure a policy-map as a child policy. Bind a queuing policy-map to a policy-map as a child policy with the command (no|) service-policy NAME. Here, NAME represents the name of the queuing policy-map.
Note: Attach the child policy to a parent policy-map within a class.
For example:
class-map type queuing data
match queue 0
!
class-map type queuing service1
match service-template ETH-2016
!
class-map type queuing service2
match service-template ETH-2017
!
class-map type queuing signal
match queue 3
!
class-map type queuing voice
match queue 1
!
policy-map type queuing configPolicy1
class type queuing class-default-q
exit
class type queuing data
exit
class type queuing signal
exit
class type queuing voice
exit
!
policy-map type queuing customer1
class type queuing service1
service-policy configPolicy1
class type queuing class-default-q
exit
!
interface xe11
service-policy type queuing output customer1
Here, “customer1” is L0-level policy-map and “configPolicy1” is L1-level policy-map. Policy-map “customer1” is having a class-default-q which is having port default queues. Policy-map “configPolicy1” is having class-default-q which is representing remaining queue i.e. queue 2 as queue3 is mapped to class signal, queue1 is mapped to class voice and queue0 is mapped to class data.
WRED and taildrop configuration is applicable only in the class in which queues are mapped. If in a policy-map having a class matching the service is not having any child policy-map, then all the new queues will be mapped to the same class and WRED and taildrop configuration is valid for this class. If the class matching service is having child policy matching queues, then WRED and taildrop is valid for the child service-policy only.
Policy-map having classes matching the queues can only be configured as a child service-policy inside a class matching service or at L0 class-default-q. It cannot be attached on an interface directly
If the user-defined child service policy is applied matching queues in L0 class-default-q which are mapping port queues, supported match queue range is 0-7.
For service queues, valid range is 0-3 as only 4 new queues are created for each service.Since the queues created are 4, 8 traffic classes are mapped implicitly to 4 queues as shown in
Table 18-11.
Table 18-11: Traffic class to queue mapping
Traffic class | Queue |
---|
0 | 0 |
1, 2, 3 | 1 |
4, 5 | 2 |
6, 7 | 3 |
Ingress mapping profile like cos-to-queue, dscp-to-queue, and exp-to-queue actually maps packet fields (cos/dscp/exp) to 8 traffic classes. These traffic classes are mapped one-to-one when we have 8 queues in case of physical port and to 4 queues in case of services as shown above.
Until the child service-policy is applied on L0 class-default-q (port queues), port queues will follow default mapping profiles.
QoS feature must be enabled to configure policy-maps. This infrastructure contains two entities - class-map and policy-map. Class-map holds the match criteria and class-maps can be bound to policy-map to configure QoS treatment for the matching traffic.
The following section explains the basic configuration details involved to apply queue level treatment on the port.
Note: Please refer to MPLS configuration guide for service-template configurations.
(config)# class-map type queuing customer1
(config-cmap-que)# match service-template customer1Vlan
(config-cmap-que)#exit
(config)# class-map type queuing customer2
(config-cmap-que)# match service-template customer2Vlan
(config-cmap-que)#exit
(config)# class-map type queuing customer3
(config-cmap-que)# match service-template customer3Vlan
(config-cmap-que)#exit
(config)# class-map type queuing customer4
(config-cmap-que)# match service-template customer4Vlan
(config-cmap-que)#exit
(config)#class-map type queuing data
(config-cmap-que)# match queue 0
(config-cmap-que)# exit
(config)#class-map type queuing voice
(config-cmap-que)# match queue 1
(config-cmap-que)#exit
(config)# class-map type queuing signaling
(config-cmap-que)# match queue 3
(config-cmap-que)# exit
(config)#class-map type queuing area1
(config-cmap-que)# exit
(config)#class-map type queuing area2
(config-cmap-que)# exit
(config)#policy-map type queuing traffic_policy
(config-pmap-que)# class type queuing data
(config-pmap-c-que)# shape 10 mbps
(config-pmap-c-que)# exit
(config-pmap-que)# class type queuing voice
(config-pmap-c-que)# shape 2 mbps
(config-pmap-que)# class type queuing signaling
(config-pmap-c-que)# shape 1 mbps
(config-pmap-c-que)# exit
(config-pmap-que)#policy-map type queuing area1_policy
(config-pmap-que)# class type queuing customer1
(config-pmap-c-que)# shape 12 mbps
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-c-que)# exit
(config-pmap-que)# class type queuing customer2
(config-pmap-c-que)# shape 12 mbps
(config-pmap-c-que)# exit
(config-pmap-que)#policy-map type queuing area2_policy
(config-pmap-que)# class type queuing customer3
(config-pmap-c-que)# shape 12 mbps
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-c-que)# exit
(config-pmap-que)# class type queuing customer4
(config-pmap-c-que)# shape 12 mbps
(config-pmap-c-que)# exit
(config-pmap-que)#policy-map type queuing xe16_policy
(config-pmap-que)# class type queuing area1
(config-pmap-c-que)# shape 100 mbps
(config-pmap-c-que)# service-policy area1_policy
(config-pmap-c-que)# exit
(config-pmap-que)# class type queuing area2
(config-pmap-c-que)# shape 100 mbps
(config-pmap-c-que)# service-policy area2_policy
(config-pmap-c-que)# exit
(config-pmap-que)#interface xe16
(config-if)# service-policy type queuing output xe16_policy
(config-if)#exit
Displaying Policy-map Configuration
The following is an example of show policy-map interface command:
(config)#show policy-map interface xe16
Interface xe16
Type QoS statistics status : enabled
Service-policy (queuing) output: xe16_policy
Interface Bandwidth 1000000 kbps
-----------------------------------
Class-map (queuing): area1
shape 100 mbps
wfq-queue weight 1
Service-policy (queuing) output: area1_policy
-----------------------------------
Class-map (queuing): customer1
match service-template customer1Vlan
shape 12 mbps
wfq-queue weight 1
Service-policy (queuing) output: traffic_policy
-----------------------------------
Class-map (queuing): class-default-q
shape 12000 kbps (inherited)
wfq-queue weight 1
queue-limit 15040 bytes/10 ms (default)
match queue 1
Class-map (queuing): data
shape 10 mbps
wfq-queue weight 1
queue-limit 12544 bytes/10 ms (default)
match queue 0
Output
Total : 66681 packets, 66681000 bytes
Green : 66681 packets, 66681000 bytes
Yellow : 0 packets, 0 bytes
Class-map (queuing): signaling
shape 1 mbps
wfq-queue weight 1
queue-limit 9472 bytes/76 ms (default)
match queue 3
Class-map (queuing): voice
shape 2 mbps
wfq-queue weight 1
queue-limit 9472 bytes/38 ms (default)
match queue 2
Class-map (queuing): customer2
match service-template customer2Vlan
shape 12 mbps
wfq-queue weight 1
queue-limit 15040 bytes/10 ms (default)
match queue 0
match queue 1
match queue 2
match queue 3
Class-map (queuing): area2
shape 100 mbps
wfq-queue weight 1
Service-policy (queuing) output: area2_policy
-----------------------------------
Class-map (queuing): customer3
match service-template customer3Vlan
shape 12 mbps
wfq-queue weight 1
queue-limit 15040 bytes/10 ms (default)
match queue 0
match queue 1
match queue 2
match queue 3
Class-map (queuing): customer4
match service-template customer4Vlan
shape 12 mbps
wfq-queue weight 1
Service-policy (queuing) output: traffic_policy
-----------------------------------
Class-map (queuing): class-default-q
shape 12000 kbps (inherited)
wfq-queue weight 1
queue-limit 15040 bytes/10 ms (default)
match queue 1
Class-map (queuing): data
shape 10 mbps
wfq-queue weight 1
queue-limit 12544 bytes/10 ms (default)
match queue 0
Class-map (queuing): signaling
shape 1 mbps
wfq-queue weight 1
queue-limit 9472 bytes/76 ms (default)
match queue 3
Class-map (queuing): voice
shape 2 mbps
wfq-queue weight 1
queue-limit 9472 bytes/38 ms (default)
match queue 2
Class-map (queuing): class-default-q
shape 1000000 kbps (inherited)
wfq-queue weight 1
queue-limit 1253376 bytes/10 ms (default)
match queue 0
match queue 1
match queue 2
match queue 3
match queue 4
match queue 5
match queue 6
match queue 7
QoS Configuration on User-defined Policy-map
All the queuing configurations such as WRED, taildrop, WFQ, shaping are same for user-defined policy as they are in default-policy-map except the priority queue configuration.
In default-policy-map, max priority supported is 8 i.e. 0-7, while in user-defined policy-map, max priority level is 4, i.e.0-3.
Priority class will always have priority over weighted class in default policy. But in user-defined policy, when all the 4 priorities are assigned with weighted classes, priority 0 class will be in fair queuing with the total weighted queues. If 3 or less than 3 priority class are present with weighted classes, than priority class will have priority over weighted class.
For example:
(config-pmap-que)#policy-map type queuing area2_policy
(config-pmap-que)# class type queuing customer1
(config-pmap-c-que)# priority level 0
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer2
(config-pmap-c-que)# priority level 1
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer3
(config-pmap-c-que)# priority level 2
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer4
(config-pmap-c-que)# priority level 3
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer5
(config-pmap-c-que)# wfq-queue weight 1
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer6
(config-pmap-c-que)# wfq-queue weight 2
(config-pmap-c-que)# service-policy traffic_policy
In this case, customer4 will have the highest priority, while 50% of the remaining bandwidth after distributing among priority classes will be used by Customer1, and the remaining 50% will be shared by Customer5 and Customer6 (FQ between priority 0 and weighted class).
If there are only three priority classes, for example:
(config-pmap-que)#policy-map type queuing area2_policy
(config-pmap-que)# class type queuing customer1
(config-pmap-c-que)# priority level 0
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer2
(config-pmap-c-que)# priority level 1
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer3
(config-pmap-c-que)# priority level 2
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer4
(config-pmap-c-que)# wfq-queue weight 1
(config-pmap-c-que)# service-policy traffic_policy
(config-pmap-que)# class type queuing customer5
(config-pmap-c-que)# wfq-queue weight 2
(config-pmap-c-que)# service-policy traffic_policy
Here, Customer3 has the highest priority. Customer1 has priority 0 and will have priority over Custimer4 and Customer5.
Configuration Considerations
• Max 3 level of user defined hierarchy is supported.
• Class-default-q is a self-created class map as part a policy map. It cannot be created nor be destroyed. It will be displayed (on whichever level applicable) only when user access it. Executing command "no class-default-q", will un-configure all the configurations of class-default-q.
• User can configure all queuing parameters like weight, priority, queue-limit, wred and shape in a class inside policy.
• Queue-limit and wred is only applicable in class matching queues.
• Same service should not be matched twice in the same hierarchy at any level.
• Policy-map with classes matching queues can only be attached to the policy-map having classes with match service or L0 class-default-q class.
• Child service policy is not allowed in class matching queues unless it is L0 class-default-q.
• If a service-policy is configured as a child policy in any hierarchy, then it cannot be attached on an interface directly and vice-versa.
• All the classes inside a policy-map should have same matching criteria but not same matching criteria value.
• Class-default-q class will only be present at L0 level or at the last level in a hierarchy. Class-default-q class will be matching port default queues if the class is of L0. Class-default-a class will be matching remaining queues in the newly created queue bundle if not matched in a class.
• Valid match queue range for classifying port-queues is 0-7. For service queue it is 0-3.
• Update is possible in the policy-map except the update of match criteria. Once the class with some match criteria is used in a policy-map, it cannot be updated.
• Max 4 priority queues are supported in non-default queuing policy-map.
• VLAN shaping is only supported for L2VPN, L3VPN, and provider-bridging services.
• Attaching user-defined policy will impact the ongoing traffic which may leads to session flaps if any, configured on that interface.
Service Queuing refers to mapping services to specific vlans and shaping each vlan based traffic. Within the vlan, queues can be grouped and shaped independently.
Matching of traffic can be based on different parameters such as service-template, VLAN, sub interface/VLAN interface.
Below, are different configuration for L2VPN, VPLS/VPWS services, L3VPN with sub and VLAN interfaces, and a provider bridge configuration.
L2VPN-VPLS
Figure 18-2 displays a six node topology configured with end to end connectivity from Router 1 to Router 6. The end to end connectivity is established by configuring OSPF, iBGP and LDP configuration in all the routers. We should be able to ping each device from other device from topology. Configure L2VPN- VPLS services on RTR1 and RTR6 and create Qos configuration on RTR6 and verify service queuing.
Simple Topology
Configure Sub-interface on RTR1
1. Create VPLS Instance V30.
RTR1(config)#mpls vpls V30 30
RTR1(config-vpls)#service-tpid dot1.ad
RTR1(config-vpls)#signaling ldp
RTR1(config-vpls-sig)#vpls-type vlan
RTR1(config-vpls-sig)#vpls-peer 6.6.6.6
RTR1(config-vpls-sig)#exit-signaling
RTR1(config-vpls)#exit
2. Create VPLS Instance V40.
RTR1(config)#mpls vpls V40 40
RTR1(config-vpls)#service-tpid dot1.ad
RTR1(config-vpls)#signaling ldp
RTR1(config-vpls-sig)#vpls-type vlan
RTR1(config-vpls-sig)#vpls-peer 6.6.6.6
RTR1(config-vpls-sig)#exit-signaling
RTR1(config-vpls)#exit
3. Configure sub-interface xe13.101.
RTR1(config)#interface xe13.101 switchport
RTR1(config-if)#load-interval 30
RTR1(config-if)#encapsulation dot1q 30 inner-dot1q 2030
RTR1(config-if)#rewrite pop
RTR1(config-if)#access-if-vpls
RTR1(config_if_vpls)#mpls-vpls V30
RTR1(config_if_vpls)#exit-if-vpls
4. Configure sub-interface xe13.102.
RTR1(config)#interface xe13.102 switchport
RTR1(config-if)#load-interval 30
RTR1(config-if)#encapsulation dot1q 40 inner-dot1q 2040
RTR1(config-if)#rewrite pop
RTR1(config-if)#access-if-vpls
RTR1(config_if_vpls)#mpls-vpls V40
RTR1(config_if_vpls)#exit-if-vpls
Configure Sub-interface on RTR6
1. Create VPLS instance V30.
RTR6(config)#mpls vpls V30 30
RTR6(config-vpls)#service-tpid dot1.ad
RTR6(config-vpls)#signaling ldp
RTR6(config-vpls-sig)#vpls-type vlan
RTR6(config-vpls-sig)#vpls-peer 1.1.1.1
RTR6(config-vpls-sig)#exit-signaling
RTR6(config-vpls)#exit
2. Create VPLS instance V40.
RTR6(config)#mpls vpls V40 40
RTR6(config-vpls)#service-tpid dot1.ad
RTR6(config-vpls)#signaling ldp
RTR6(config-vpls-sig)#vpls-type vlan
RTR6(config-vpls-sig)#vpls-peer 1.1.1.1
RTR6(config-vpls-sig)#exit-signaling
RTR6(config-vpls)#exit
3. Configure sub-interface xe13.102.
RTR1(config)#interface xe13.102 switchport
RTR1(config-if)#load-interval 30
RTR1(config-if)#encapsulation dot1q 40 inner-dot1q 2040
RTR1(config_if)#rewrite pop
RTR1(config-if)#access-if-vpls
RTR1(config_if_vpls)#mpls-vpls V40
4. Configure class maps for queuing.
RTR6(config)#class-map type queuing que0
RTR6(config-cmap-que)#match queue 0
RTR6(config-cmap-que)#class-map type queuing que1
RTR6(config-cmap-que)#match queue 1
RTR6(config-cmap-que)#class-map type queuing que2
RTR6(config-cmap-que)#match queue 2
RTR6(config-cmap-que)#class-map type queuing que3
RTR6(config-cmap-que)#match queue 3
RTR6(config-cmap-que)#class-map type queuing service30
RTR6(config-cmap-que)#match service-template VPLS-30
RTR6(config-cmap-que)#class-map type queuing service40
RTR6(config-cmap-que)#match service-template VPLS-40
5. Create and configure policy maps.
RTR6(config)#policy-map type queuing queue
RTR6(config-pmap-que)#class type queuing que0
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#class type queuing que1
RTR6(config-pmap-que)#shape 100 mbps
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#class type queuing que2
RTR6(config-pmap-que)#shape 100 mbps
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#class type queuing que3
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#policy-map type queuing service
RTR6(config-pmap-que)#class type queuing service30
RTR6(config-pmap-que)#shape 1000 mbps
RTR6(config-pmap-c-que)#service-policy queue
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#class type queuing service40
RTR6(config-pmap-c-que)#service-policy queue
RTR6(config-pmap-c-que)#exit
6. Configure interface xe13.
RTR6(config)#interface xe13
RTR6(config-if)#service-policy type queuing output service
RTR6(config-if)#shape rate 3000 mbps
RTR6(config-if)#exit
Validation
RTR6
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+ +
| Class-map | Rate (in mbps) |
+--------------------------------+ +
xe13
q0 956.796
q2 1032.543
q4 1044.794
q6 1030.280
RTR6#
RTR6#show running-config qos qos enable
!
class-map type queuing que0 match queue 0
!
class-map type queuing que1 match queue 1
!
class-map type queuing que2 match queue 2
!
class-map type queuing que3 match queue 3
!
class-map type queuing service30 match service-template VPLS-30
!
class-map type queuing service40 match service-template VPLS-40
!
!
policy-map type queuing queue class type queuing que0
exit
class type queuing que1 exit
class type queuing que2 exit
class type queuing que3 exit
!
policy-map type queuing service class type queuing service30
service-policy queue
exit
class type queuing service40 service-policy queue
exit
!
interface xe13
service-policy type queuing output service
!
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+ +
| Class-map | Rate (in mbps) |
+--------------------------------+ +
que0
(q0)
510.806
que1
(q1)
514.803
que2
(q2)
507.316
que3
(q3)
521.820
ervice40
que0 (q0) 438.860
que1
(q1)
530.446
que2
(q2)
518.338
que3
(q3)
517.863
L2VPN- VPWS
Figure 18-3 displays a six node topology configured ith end to end connectivity from Router 1 to Router 6. The end to end connectivity is established by configuring OSPF, iBGP and LDP configuration in all the routers. We should be able to ping each device from other device from topology. Configure L2VPN- VPWS services on RTR1 and RTR6 and create Qos configuration on RTR6 and verify service queuing.
Simple Topology
Configure Sub-interface on RTR1
1. Create MPLS L2 circuits.
• For VPWS10:
RTR1(config)#mpls l2-circuit VPWS10 10 6.6.6.6
RTR1(config-pseudowire)#exit
• For VPWS20:
RTR1(config)#mpls l2-circuit VPWS20 20 6.6.6.6
RTR1(config-pseudowire)#exit
2. Configure sub-interface xe14.101.
RTR1(config)#interface xe14.101 switchport
RTR1(config-if)#encapsulation dot1q 101
RTR1(config-if)#load-interval 30
RTR1(config-if)#access-if-vpws
RTR1(config-acc-if-vpws)#mpls-l2-circuit VPWS10 primary
RTR1(config-acc-if-vpws)#exit
3. Configure sub-interface xe14.102.
RTR1(config)#interface xe14.102 switchport
RTR1(config-if)#encapsulation dot1q 102
RTR1(config-if)#load-interval 30
RTR1(config-if)#access-if-vpws
RTR1(config-acc-if-vpws)#mpls-l2-circuit VPWS20 primary
RTR1(config-acc-if-vpws)#exit
Configure Sub-interface on RTR6
1. Create MPLS L2 circuits.
• For VPWS10:
RTR6(config)#mpls l2-circuit VPWS10 10 1.1.1.1
RTR6(config-pseudowire)#exit
• For VPWS20:
RTR6(config)#mpls l2-circuit VPWS20 20 1.1.1.1
RTR6(config-pseudowire)#exit
2. Configure sub-interface xe14.101.
RTR6(config)#interface xe14.101 switchport
RTR6(config-if)#encapsulation dot1q 101
RTR6(config-if)#load-interval 30
RTR6(config-if)#access-if-vpws
RTR6(config-acc-if-vpws)#mpls-l2-circuit VPWS10 primary
RTR6(config-acc-if-vpws)#exit
3. Configure sub-interface xe14.102.
RTR6(config)#interface xe14.102 switchport
RTR6(config-if)#encapsulation dot1q 102
RTR6(config-if)#load-interval 30
RTR6(config-if)#access-if-vpws
RTR6(config-acc-if-vpws)#mpls-l2-circuit VPWS20 primary
RTR6(config-acc-if-vpws)#exit
4. Enable QoS.
RTR6(config)#qos enable
5. Create class maps for queuing.
RTR6(config)#class-map type queuing que0
RTR6(config-cmap-que)#match queue 0
RTR6(config-cmap-que)#class-map type queuing que1
RTR6(config-cmap-que)#match queue 1
RTR6(config-cmap-que)#class-map type queuing que2
RTR6(config-cmap-que)#match queue 2
RTR6(config-cmap-que)#class-map type queuing que3
RTR6(config-cmap-que)#match queue 3
RTR6(config-cmap-que)#class-map type queuing service10
RTR6(config-cmap-que)#match service-template VPWS-10
RTR6(config-cmap-que)#class-map type queuing service20
RTR6(config-cmap-que)#match service-template VPWS-20
6. Create and configure policy maps.
RTR6(config)#policy-map type queuing queue
RTR6(config-pmap-que)#class type queuing que0
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#class type queuing que1
RTR6(config-pmap-que)#exit
RTR6(config-pmap-que)#class type queuing que2
RTR6(config-pmap-que)#priority level 0
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#class type queuing que3
RTR6(config-pmap-c-que)#exit
7. Create service policy.
RTR6(config)#policy-map type queuing service
RTR6(config-pmap-que)#class type queuing service10
RTR6(config-pmap-que)#priority level 0
RTR6(config-pmap-c-que)#service-policy queue
RTR6(config-pmap-c-que)#exit
RTR6(config-pmap-que)#class type queuing service20
RTR6(config-pmap-que)#service-policy queue
RTR6(config-pmap-que)#exit
8. Configure interface xe13.
RTR6(config)#interface xe13
RTR6(config-if)#service-policy type queuing output service
RTR6(config-if)#shape rate 1000 mbps
RTR6(config-if)#exit
Validation
RTR6
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+ +
| Class-map | Rate (in mbps) |
+--------------------------------+ +
xe13
q0
406.907
q2
413.234
q4
411.703
q6 415.307
RTR6#show running-config qos qos enable
!
class-map type queuing que0 match queue 0
!
class-map type queuing que1 match queue 1
!
class-map type queuing que2 match queue 2
!
class-map type queuing que3 match queue 3
!
class-map type queuing service10 match service-template VPWS-10
!
class-map type queuing service20 match service-template VPWS-20
!
!
policy-map type queuing queue class type queuing que0
exit
class type queuing que1 exit
class type queuing que2 exit
class type queuing que3 exit
!
policy-map type queuing service class type queuing service10
service-policy queue exit
class type queuing service20 service-policy queue
exit
!
interface xe13
service-policy type queuing output service
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+ +
| Class-map | Rate (in mbps) |
+--------------------------------+ +
xe0
q7
0.178
xe1
q7
0.170
xe2
q7
0.178
xe3
q7
0.186
xe6
q7
0.170
xe7
q7
0.186
xe8
q7
0.170
xe9
q7
0.178
xe13
class-default-q
(q0)
207.461
class-default-q
(q2)
207.031
class-default-q
(q4)
207.158
class-default-q
(q6)
197.740
service10
que0 (q0)
107.698
que1 (q1)
106.338
que2 (q2)
103.133
que3 (q3)
105.985
service20
que0
(q0)
103.376
que1
(q1)
102.938
que2
(q2)
101.485
que3
(q3)
101.537
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+ +
| Class-map | Rate (in mbps) |
+--------------------------------+ +
xe13
class-default-q
(q0)
80.431
class-default-q
(q2)
79.903
class-default-q
(q4)
79.780
class-default-q
(q6)
79.605
service10
que0 (q0)
100.546
que1 (q1)
105.640
que2 (q2)
103.802
que3 (q3)
103.724
service20
que0
(q0)
70.014
que1
(q1)
69.665
que2
(q2)
108.427
que3
(q3)
70.090
RTR1
RTR1#configure terminal | Enter into configuration mode |
RTR1(config)#mpls l2-circuit VPWS10 10 6.6.6.6 | Create MPLS l2 circuit with VPWS10 with ID 10 and end point 6.6.6.6 |
(config-pseudowire)#exit | Exit pseudowire config mode. |
RTR1(config)#mpls l2-circuit VPWS20 20 6.6.6.6 | Create MPLS l2 circuit with VPWS20 with ID 20 and end point 6.6.6.6 |
(config-pseudowire)#exit | Exit pseudowire config mode. |
RTR1(config)#service-template VPWS-10 | Create service template VPWS-10 |
RTR1(config-svc)#match outer-vlan 10 | Match outer vlan 10 |
RTR1(config-svc)#rewrite ingress translate 1000 outgoing-tpid dot1.q | Rewrite ingress translate 1010 with outgoing tpid as dot1q |
RTR1(config-svc)#exit | Exit |
RTR1(config)# | |
RTR1(config-svc)#service-template VPWS-20 | Create service template VPWS-20 |
RTR1(config-svc)# match outer-vlan 20 | Match outer vlan 20 |
RTR1(config-svc)# rewrite ingress translate 1020 outgoing-tpid dot1.q | Rewrite ingress translate 1020 with outgoing tpid as dot1q |
RTR1(config-svc)#exit | Exit |
RTR1(config)#interface xe14 | Configure interface xe14 |
RTR1(config-if)#switchport | Configure as layer 2 port |
RTR1(config-if)#load-interval 30 | Configure load interval as 30 |
RTR1(config-if)#mpls-l2-circuit VPWS10 service-template VPWS-10 | Attach l2circuit VPWS10 with service template VPWS-10 |
RTR1(config-if)#mpls-l2-circuit VPWS20 service-template VPWS-20 | Attach l2circuit VPWS20 with service template VPWS-20 |
RTR1(config-if)#exit | exit |
RTR6
RTR6#configure terminal | Enter into configuration mode |
RTR6(config)#mpls l2-circuit VPWS10 10 1.1.1.1 | Create MPLS l2 circuit with VPWS10 with ID 10 and end point 1.1.1.1 |
(config-pseudowire)#exit | Exit pseudowire config mode. |
RTR6(config)#mpls l2-circuit VPWS20 20 1.1.1.1 | Create MPLS l2 circuit with VPWS20 with ID 20 and end point 1.1.1.1 |
(config-pseudowire)#exit | Exit pseudowire config mode. |
RTR6(config)#service-template VPWS-10 | Create service template VPWS-10 |
RTR6(config-svc)# match outer-vlan 10 | Match outer vlan 10 |
RTR6(config-svc)# rewrite ingress translate 1000 outgoing-tpid dot1.q | Rewrite ingress translate 1010 with outgoing tpid as dot1q |
RTR6(config-svc)#exit | Exit |
RTR6(config-svc)#service-template VPWS-20 | Create service template VPWS-20 |
RTR6(config-svc)#match outer-vlan 20 | Match outer VLAN 20 |
RTR6(config-svc)#rewrite ingress translate 1020 outgoing-tpid dot1.q | Rewrite ingress translate 1020 with outgoing tpid as dot1q |
RTR6(config-svc)#exit | Exit |
RTR6(config)#interface xe14 | Configure interface xe14 |
RTR6(config-if)#switchport | Configure as layer 2 port |
RTR6(config-if)#load-interval 30 | Configure load interval as 30 |
RTR6(config-if)#mpls-l2-circuit VPWS10 service-template VPWS-10 | Attach l2circuit VPWS10 with service template VPWS-10 |
RTR6(config-if)#mpls-l2-circuit VPWS20 service-template VPWS-20 | Attach l2circuit VPWS20 with service template VPWS-20 |
RTR6(config-if)#exit | exit |
RTR6(config)#qos enable | Enable Qos |
RTR6(config)#class-map type queuing que0 | Create class map of type queuing with name que0 |
RTR6(config-cmap-que)# match queue 0 | Match for queue 0 |
RTR6(config-cmap-que)#class-map type queuing que1 | Create class map of type queuing with name que1 |
RTR6(config-cmap-que)#match queue 1 | Match for queue 1 |
RTR6(config-cmap-que)#class-map type queuing que2 | Create class map of type queuing with name que2 |
RTR6(config-cmap-que)#match queue 2 | Match for queue 2 |
RTR6(config-cmap-que)#class-map type queuing que3 | Create class map of type queuing with name que3 |
RTR6(config-cmap-que)#match queue 3 | Match for queue 3 |
RTR6(config-cmap-que)#class-map type queuing service10 | Create class map of type queuing with name VPWS-10 |
RTR6(config-cmap-que)#match service-template VPWS-10 | Match for service template VPWS-10 |
RTR6(config-cmap-que)#class-map type queuing service20 | Create class map of type queuing with name VPWS-20 |
RTR6(config-cmap-que)#match service-template VPWS-20 | Match for service template VPWS-20 |
RTR6(config-cmap-que)#policy-map type queuing queue | Create policy map with name queue |
RTR6(config-pmap-que)#class type queuing que0 | Add class map que0 to above policy map |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing que1 | Add class map que1 to above policy map |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing que2 | Add class map que2 to above policy map |
RTR6(config-pmap-que)#priority level 0 | configure Priority level 0 |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing que3 | Add class map que3 to above policy map |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#policy-map type queuing service | Create policy map with name service |
RTR6(config-pmap-que)#class type queuing service10 | Add class map service10 to above policy map |
RTR6(config-pmap-que)#priority level 0 | Change priority level 0 |
RTR6(config-pmap-c-que)#service-policy queue | Add policy map queue as service-policy |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing service20 | Add class map service20 to above policy map |
RTR6(config-pmap-c-que)#service-policy queue | Add policy map queue as service-policy |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#interface xe13 | Configure interface xe13 |
RTR6(config-if)#service-policy type queuing output service | Attach the policy map service to the interface |
RTR6(config-if)#shape rate 1000 mbps | Shape rate traffic to 1000 mbps |
RTR6(config-if)#exit | Exit |
Validation
RTR6:
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
q0 406.907
q2 413.234
q4 411.703
q6 415.307
RTR6#show running-config qos
qos enable
!
class-map type queuing que0
match queue 0
!
class-map type queuing que1
match queue 1
!
class-map type queuing que2
match queue 2
!
class-map type queuing que3
match queue 3
!
class-map type queuing service10
match service-template VPWS-10
!
class-map type queuing service20
match service-template VPWS-20
!
!
policy-map type queuing queue
class type queuing que0
exit
class type queuing que1
exit
class type queuing que2
exit
class type queuing que3
exit
!
policy-map type queuing service
class type queuing service10
service-policy queue
exit
class type queuing service20
service-policy queue
exit
!
interface xe13
service-policy type queuing output service
!
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe0
q7 0.178
xe1
q7 0.170
xe2
q7 0.178
xe3
q7 0.186
xe6
q7 0.170
xe7
q7 0.186
xe8
q7 0.170
xe9
q7 0.178
xe13
class-default-q (q0) 207.461
class-default-q (q2) 207.031
class-default-q (q4) 207.158
class-default-q (q6) 197.740
service10
que0 (q0) 107.698
que1 (q1) 106.338
que2 (q2) 103.133
que3 (q3) 105.985
service20
que0 (q0) 103.376
que1 (q1) 102.938
que2 (q2) 101.485
que3 (q3) 101.537
RTR6#show running-config qos
qos enable
!
class-map type queuing que0
match queue 0
!
class-map type queuing que1
match queue 1
!
class-map type queuing que2
match queue 2
!
class-map type queuing que3
match queue 3
!
class-map type queuing service10
match service-template VPWS-10
!
class-map type queuing service20
match service-template VPWS-20
!
!
policy-map type queuing queue
class type queuing que0
exit
class type queuing que1
exit
class type queuing que2
priority level 0
exit
class type queuing que3
exit
!
policy-map type queuing service
class type queuing service10
priority level 0
service-policy queue
exit
class type queuing service20
service-policy queue
exit
!
interface xe13
service-policy type queuing output service
shape rate 1000 mbps
!
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
class-default-q (q0) 80.431
class-default-q (q2) 79.903
class-default-q (q4) 79.780
class-default-q (q6) 79.605
service10
que0 (q0) 100.546
que1 (q1) 105.640
que2 (q2) 103.802
que3 (q3) 103.724
service20
que0 (q0) 70.014
que1 (q1) 69.665
que2 (q2) 108.427
que3 (q3) 70.090
L3VPN- Sub/VLAN interfaces
Figure 18-4 displays a six node topology configured with end to end connectivity from Router 1 to Router 6. The end to end connectivity is established by configuring OSPF, iBGP and LDP configuration in all the routers. We should be able to ping each device from other device from topology. Configure L3VPN with sub interface and VLAN interface configurations on RTR1 and RTR6 and create Qos configuration on RTR6 and verify service queuing.
Simple Topology
RTR1
RTR1(config)#ip vrf 3 | Create new vrf with name 3 |
RTR1(config-vrf)#rd 2:3 | Create route distinguisher for vrf 3 |
RTR1(config-vrf)#route-target both 1:3 | Create route target for vrf 3 |
RTR1(config-vrf)#ip vrf 4 | Create new vrf with name 4 |
RTR1(config-vrf)#rd 2:4 | Create route distinguisher for vrf 4 |
RTR1(config-vrf)#route-target both 1:4 | Create route target for vrf 4 |
RTR1(config-vrf)#ip vrf 5 | Create new vrf with name 5 |
RTR1(config-vrf)#rd 2:5 | Create route distinguisher for vrf 5 |
RTR1(config-vrf)#route-target both 1:5 | Create route target for vrf 5 |
RTR1(config-vrf)#ip vrf 6 | Create new vrf with name 6 |
RTR1(config-vrf)#rd 2:6 | Create route distinguisher for vrf 6 |
RTR1(config-vrf)#route-target both 1:6 | Create route target for vrf 6 |
RTR1(config-vrf)#exit | Exit |
RTR1(config)#interface lo.3 | Configure loopback lo.3 |
RTR1(config-if)#ip vrf forwarding 3 | Attach VRF 3 to loopback lo.3 interface |
RTR1(config-if)#interface lo.4 | Configure loopback lo.4 |
RTR1(config-if)#ip vrf forwarding 4 | Attach VRF 4 to loopback lo.4 interface |
RTR1(config-if)#interface lo.5 | Configure loopback lo.5 |
RTR1(config-if)#ip vrf forwarding 5 | Attach VRF 5 to loopback lo.5 interface |
RTR1(config-if)#interface lo.6 | Configure loopback lo.6 |
RTR1(config-if)#ip vrf forwarding 6 | Attach vrf 6 to loopback lo.6 interface |
RTR1(config-if)#exit | Exit |
RTR1(config)#interface ce52.203 | Create sub interface for ce52 port |
RTR1(config-if)#ip vrf forwarding 3 | Attach vrf 3 to sub int ce52.203 |
RTR1(config-if)#ip address 201.203.1.1/24 | Assign ip address 201.203.1.1/24 |
RTR1(config-if)#encapsulation dot1q 203 | Encapsulate dot1q VLAN with id 203 |
RTR1(config-if)#interface ce52.204 | Create sub interface for ce52 port |
RTR1(config-if)#ip vrf forwarding 4 | Attach vrf 4 to sub int ce52.204 |
RTR1(config-if)#ip address 201.204.1.1/24 | Assign ip address 201.204.1.1/24 |
RTR1(config-if)#encapsulation dot1q 204 | Encapsulate dot1q VLAN with id 204 |
RTR1(config-if)#interface vlan1.205 | Create VLAN interface with id 205 |
RTR1(config-if)#ip vrf forwarding 5 | Attach VRF 5 to vlan1.205 |
RTR1(config-if)#ip address 201.205.1.1/24 | Assign IP address of 201.205.1.1/24 |
RTR1(config-if)#mtu 9216 | Configure MTU of size 9216 |
RTR1(config-if)#interface vlan1.206 | Create VLAN interface with id 206 |
RTR1(config-if)#ip vrf forwarding 6 | Attach VRF 6 to vlan1.206 |
RTR1(config-if)#ip address 201.206.1.1/24 | Assign ip address of 201.206.1.1/24 |
RTR1(config-if)#mtu 9216 | Configure MTU of size 9216 |
RTR1(config)#router bgp 64512 | Configure router BGP 66512 |
RTR1(config-router)#address-family vpnv4 unicast | Enter into vpnv4 unicast address family |
RTR1(config-router-af)#neighbor 6.6.6.6 activate | Activate neighbor on vpnv4 unicast |
RTR1(config-router-af)#exit-address-family | Exit |
RTR1(config-router)#address-family ipv4 vrf 3 | Enter into ipv4 vrf3 address family |
RTR1(config-router-af)#redistribute connected | Redistribute connected networks into vrf 3 |
RTR1(config-router-af)#exit-address-family | Exit |
RTR1(config-router)#address-family ipv4 vrf 4 | Enter into ipv4 vrf4 address family |
RTR1(config-router-af)#redistribute connected | Redistribute connected networks into vrf 4 |
RTR1(config-router-af)#exit-address-family | Exit |
RTR1(config-router)#address-family ipv4 vrf 5 | Enter into ipv4 vrf5 address family |
RTR1(config-router-af)#redistribute connected | Redistribute connected networks into vrf 5 |
RTR1(config-router-af)#exit-address-family | Exit |
RTR1(config-router)#address-family ipv4 vrf 6 | Enter into ipv4 vrf6 address family |
RTR1(config-router-af)#redistribute connected | Redistribute connected networks into vrf 6 |
RTR1(config-router-af)#exit-address-family | Exit |
RTR1(config-router)#exit | Exit |
RTR1(config)#interface ce52 | Configure interface ce52 |
RTR1(config-if)#load-interval 30 | Configure load interval 30 |
RTR1(config-if)#interface ce50 | Configure interface ce50 |
RTR1(config-if)#switchport | Configure port as layer 2 port |
RTR1(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR1(config-if)#switchport mode trunk | Configure interface as trunk port |
RTR1(config-if)#switchport trunk allowed vlan add 205, 206 | Allow only VLANs 205 and 206 |
RTR1(config-if)#load-interval 30 | Configure load interval 30 |
RTR6
RTR6(config)#ip vrf 3 | Create new vrf with name 3 |
RTR6(config-vrf)#rd 1:3 | Create route distinguisher for VRF 3 |
RTR6(config-vrf)#route-target both 1:3 | Create route target for VRF 3 |
RTR6(config-vrf)#ip vrf 4 | Create new VRF with name 4 |
RTR6(config-vrf)#rd 1:4 | Create route distinguisher for VRF 4 |
RTR6(config-vrf)#route-target both 1:4 | Create route target for VRF 4 |
RTR6(config-vrf)#ip vrf 5 | Create new VRF with name 5 |
RTR6(config-vrf)#rd 1:5 | Create route distinguisher for VRF 5 |
RTR6(config-vrf)#route-target both 1:5 | Create route target for VRF 5 |
RTR6(config-vrf)#ip vrf 6 | Create new VRF with name 6 |
RTR6(config-vrf)#rd 1:6 | Create route distinguisher for VRF 6 |
RTR6(config-vrf)#route-target both 1:6 | Create route target for VRF 6 |
RTR6(config-vrf)#exit | Exit |
RTR6(config)#interface lo.3 | Configure loopback lo.3 |
RTR6(config-if)#ip vrf forwarding 3 | Attach vrf 3 to loopback lo.3 interface |
RTR6(config-if)#interface lo.4 | Configure loopback lo.4 |
RTR6(config-if)#ip vrf forwarding 4 | Attach vrf 4 to loopback lo.4 interface |
RTR6(config-if)#interface lo.5 | Configure loopback lo.5 |
RTR6(config-if)#ip vrf forwarding 5 | Attach vrf 5 to loopback lo.5 interface |
RTR6(config-if)#interface lo.6 | Configure loopback lo.6 |
RTR6(config-if)#ip vrf forwarding 6 | Attach VRF 6 to loopback lo.6 interface |
RTR6(config-if)#interface xe13.103 | Create sub interface for xe13 port |
RTR6(config-if)#ip vrf forwarding 3 | Attach VRF 3 to sub int xe13.103 |
RTR6(config-if)#ip address 101.103.1.1/24 | Assign ip address 101.103.1.1/24 |
RTR6(config-if)#encapsulation dot1q 103 | Encapsulate dot1q VLAN with id 103 |
RTR6(config-if)#interface xe13.104 | Create sub interface for xe13.104 port |
RTR6(config-if)#ip vrf forwarding 4 | Attach VRF 4 to sub int xe13.104 |
RTR6(config-if)#ip address 101.104.1.1/24 | Assign IP address 101.104.1.1/24 |
RTR6(config-if)#encapsulation dot1q 104 | Encapsulate dot1q VLAN with id 104 |
RTR6(config-if)#interface vlan1.105 | Create VLAN interface with id 105 |
RTR6(config-if)#ip vrf forwarding 5 | Attach VRF 5 to vlan1.105 |
RTR6(config-if)#ip address 101.105.1.1/24 | Assign ip address of 101.105.1.1/24 |
RTR6(config-if)#mtu 9216 | Configure MTU of size 9216 |
RTR6(config-if)#interface vlan1.106 | Create VLAN interface with id 106 |
RTR6(config-if)#ip vrf forwarding 6 | Attach VRF 6 to vlan1.106 |
RTR6(config-if)#ip address 101.106.1.1/24 | Assign IP address of 101.106.1.1/24 |
RTR6(config-if)#mtu 9216 | Configure mtu of size 9216 |
RTR6(config-if)#exit | Exit |
RTR6(config)#router bgp 64512 | Configure BGP 64512 |
RTR6(config-router)#address-family vpnv4 unicast | Enter into vpnv4 unicast address family |
RTR6(config-router-af)#neighbor 1.1.1.1 activate | Activate neighbor on vpnv4 unicast |
RTR6(config-router-af)#exit-address-family | Exit |
RTR6(config-router)#address-family ipv4 vrf 3 | Enter into ipv4 vrf3 address family |
RTR6(config-router-af)#redistribute connected | Redistribute connected networks into VRF 3 |
RTR6(config-router-af)#exit-address-family | Exit |
RTR6(config-router)#address-family ipv4 vrf 4 | Enter into ipv4 vrf4 address family |
RTR6(config-router-af)#redistribute connected | Redistribute connected networks into vrf 4 |
RTR6(config-router-af)#exit-address-family | Exit |
RTR6(config-router)#address-family ipv4 vrf 5 | Enter into ipv4 vrf5 address family |
RTR6(config-router-af)#redistribute connected | Redistribute connected networks into vrf 5 |
RTR6(config-router-af)#exit-address-family | Exit |
RTR6(config-router)#address-family ipv4 vrf 6 | Enter into ipv4 vrf6 address family |
RTR6(config-router-af)#redistribute connected | Redistribute connected networks into vrf 6 |
RTR6(config-router-af)#exit-address-family | Exit |
RTR6(config-router)#exit | Exit |
RTR6(config)#interface xe13 | Configure interface xe13 |
RTR6(config-if)#load-interval 30 | Configure load interval 30 |
RTR6(config-if)#interface xe14 | Configure interface xe14 |
RTR6(config-if)#switchport | Configure port as layer 2 port |
RTR6(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR6(config-if)#switchport mode trunk | Configure interface as trunk port |
RTR6(config-if)#switchport trunk allowed vlan add 105,106 | Allow only vlans105 and 106 |
RTR6(config-if)#load-interval 30 | Configure load interval 30 |
RTR6(config-if)#exit | Exit |
Validation
Validation for sub interfaces
RTR6:
RTR6#show running-config qos
qos enable
!
class-map type queuing que0
match queue 0
!
class-map type queuing que1
match queue 1
!
class-map type queuing que2
match queue 2
!
class-map type queuing que3
match queue 3
!
class-map type queuing xe13.103
match interface xe13.103
!
class-map type queuing xe13.104
match interface xe13.104
!
!
policy-map type queuing queuePolicy
class type queuing que0
exit
class type queuing que1
exit
class type queuing que2
exit
class type queuing que3
exit
!
policy-map type queuing service
class type queuing xe13.103
service-policy queuePolicy
exit
class type queuing xe13.104
service-policy queuePolicy
exit
interface xe13
service-policy type queuing output service
!
RTR6#
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
xe13.103
que0 (q0) 499.345
que1 (q1) 507.020
que2 (q2) 510.231
que3 (q3) 503.312
xe13.104
que0 (q0) 502.730
que1 (q1) 497.862
que2 (q2) 508.641
que3 (q3) 489.681
RTR6#
RTR6# show running-config qos
qos enable
!
class-map type queuing que0
match queue 0
!
class-map type queuing que1
match queue 1
!
class-map type queuing que2
match queue 2
!
class-map type queuing que3
match queue 3
!
class-map type queuing xe13.103
match interface xe13.103
!
class-map type queuing xe13.104
match interface xe13.104
!
!
!
policy-map type queuing queuePolicy
class type queuing que0
exit
class type queuing que1
exit
class type queuing que2
exit
class type queuing que3
exit
!
policy-map type queuing service
class type queuing xe13.103
service-policy queuePolicy
exit
class type queuing xe13.104
priority level 0
service-policy queuePolicy
exit
!
interface xe13
service-policy type queuing output service
shape rate 4000 mbps
!
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
xe13.103
que0 (q0) 82.403
que1 (q1) 83.355
que2 (q2) 82.881
que3 (q3) 83.354
xe13.104
que0 (q0) 498.243
que1 (q1) 502.950
que2 (q2) 510.054
que3 (q3) 494.921
Validation for vlan interfaces
RTR6:
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
q0 1988.796
q1 1976.734
q5 1997.010
q6 2022.276
q7 0.012
RTR6#show running-config qos
qos enable
!
class-map type queuing que0
match queue 0
!
class-map type queuing que1
match queue 1
!
class-map type queuing que2
match queue 2
!
class-map type queuing que3
match queue 3
!
class-map type queuing vlan1.105
match interface vlan1.105
!
class-map type queuing vlan1.106
match interface vlan1.106
!
!
policy-map type queuing queuePolicy
class type queuing que0
shape 100 mbps
exit
class type queuing que1
exit
class type queuing que2
shape 150 mbps
exit
class type queuing que3
exit
!
policy-map type queuing service
class type queuing vlan1.105
service-policy queuePolicy
exit
class type queuing vlan1.106
wfq-queue weight 4
service-policy queuePolicy
exit
!
interface xe13
service-policy type queuing output service
shape rate 6000 mbps
!
RTR6# show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
vlan1.105
que0 (q0) 99.882
que1 (q1) 508.907
que2 (q2) 150.103
que3 (q3) 505.349
vlan1.106
que0 (q0) 100.148
que1 (q1) 505.652
que2 (q2) 149.896
que3 (q3) 501.783
Provider Bridge
Figure 18-5 displays a six node topology configured with end to end connectivity from Router 1 to Router 6. The end to end connectivity is established by configuring OSPF, iBGP and LDP configuration in all the routers. We should be able to ping each device from other device from topology.
Simple Topology
RTR1
RTR1#configure terminal | Enter into configure terminal mode |
RTR1(config)#bridge 1 protocol provider-rstp edge | Configure bridge 1 protocol as provider RSTP edge |
RTR1(config)#vlan database | Configure VLAN database |
RTR1(config-vlan)#vlan 201-300 type customer bridge 1 state enable | Configure customer VLANs from 201-300 |
RTR1(config-vlan)#vlan 301-400 type service point-point bridge 1 state enable | Configure service VLANs from 301-400 |
RTR1(config-vlan)#cvlan registration table map1 bridge 1 | Create cvlan registration table |
RTR1(config-cvlan-registration)#cvlan 201 svlan 301 | Map 201 cvlan to 301 svlan |
RTR1(config-cvlan-registration)#cvlan 202 svlan 302 | Map 202 cvlan to 302 svlan |
RTR1(config-cvlan-registration)#cvlan 203 svlan 303 | Map 203 cvlan to 303 svlan |
RTR1(config-cvlan-registration)#cvlan 204 svlan 304 | Map 204 cvlan to 304 svlan |
RTR1(config-cvlan-registration)#cvlan 205 svlan 305 | Map 205 cvlan to 305 svlan |
RTR1(config-cvlan-registration)#interface po12 | Configure interface po12 |
RTR1(config-if)#switchport | Configure as layer 2 port |
RTR1(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR1(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR1(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed VLAN from 301-400 |
RTR1(config-if)#load-interval 30 | Configure load interval 30 |
RTR1(config-if)#interface po13 | Configure interface po13 |
RTR1(config-if)#switchport | Configure as layer 2 port |
RTR1(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR1(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR1(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR1(config-if)#load-interval 30 | Configure load interval 30 |
RTR1(config-if)#interface xe1 | Configure xe1 |
RTR1(config-if)#channel-group 12 mode active | Add xe1 to po12 |
RTR1(config-if)#interface xe2 | Configure xe2 |
RTR1(config-if)#channel-group 12 mode active | Add xe2 to po12 |
RTR1(config-if)#interface xe3 | Configure xe3 |
RTR1(config-if)#channel-group 13 mode active | Add xe3 to po13 |
RTR1(config-if)#interface xe4 | Configure xe4 |
RTR1(config-if)#channel-group 13 mode active | Add xe4 to po13 |
RTR1(config-if)#interface xe15 | Configure interface xe15 |
RTR1(config-if)#switchport | Configure as layer 2 port |
RTR1(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR1(config-if)#switchport mode customer-edge trunk | Configure switchport mode as customer edge trunk |
RTR1(config-if)#switchport customer-edge trunk allowed vlan add 201-300 | Configure allowed vlan from 201-300 |
RTR1(config-if)#switchport customer-edge vlan registration map1 | Attach VLAN registration table map 1 to xe15 |
RTR1(config-if)#load-interval 30 | Configure load interval 30 |
RTR1(config-if)#exit | Exit |
RTR2
RTR2#configure terminal | Configure terminal |
RTR2(config)#bridge 1 protocol provider-rstp | Configure bridge 1 protocol as provider rstp edge |
RTR2(config)#vlan database | VLAN database |
RTR2(config-vlan)#vlan 301-400 type service point-point bridge 1 state enable | Configure service vlans from 301-400 |
RTR2(config-vlan)#interface po12 | Configure interface po12 |
RTR2(config-if)#switchport | Configure as layer 2 port |
RTR2(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR2(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR2(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR2(config-if)#load-interval 30 | Configure load interval 30 |
RTR2(config-if)#interface po24 | Configure interface po24 |
RTR2(config-if)#switchport | Configure as layer 2 port |
RTR2(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR2(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR2(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR2(config-if)#load-interval 30 | Configure load interval 30 |
RTR2(config-if)#interface po25 | Configure interface po25 |
RTR2(config-if)#switchport | Configure as layer 2 port |
RTR2(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR2(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR2(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR2(config-if)#load-interval 30 | Configure load interval 30 |
RTR2(config-if)#interface xe1 | Configure xe1 |
RTR2(config-if)#channel-group 12 mode active | Add xe1 to po12 |
RTR2(config-if)#interface xe2 | Configure xe2 |
RTR2(config-if)#channel-group 12 mode active | Add xe2 to po12 |
RTR2(config-if)#interface xe8 | Configure xe8 |
RTR2(config-if)#channel-group 25 mode active | Add xe8 to po25 |
RTR2(config-if)#interface xe9 | Configure xe9 |
RTR2(config-if)#channel-group 25 mode active | Add xe9 to po25 |
RTR2(config-if)#interface xe14 | Configure xe14 |
RTR2(config-if)#channel-group 24 mode active | Add xe14 to po24 |
RTR2(config-if)#interface xe15 | Configure xe15 |
RTR2(config-if)#channel-group 24 mode active | Add xe15 to po24 |
RTR2(config)#exit | Exit |
RTR3
RTR3#config term | Configure terminal |
RTR3(config)#bridge 1 protocol provider-rstp | Configure bridge 1 protocol as provider rstp edge |
RTR3(config)#vlan database | Configure VLAN database |
RTR3(config-vlan)#vlan 301-400 type service point-point bridge 1 state enable | Configure service VLANS from 301-400 |
RTR3(config-vlan)#interface po13 | Configure interface po13 |
RTR3(config-if)# switchport | Configure as layer 2 port |
RTR3(config-if)# bridge-group 1 | Configure interface in bridge group 1 |
RTR3(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR3(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR3(config-if)#load-interval 30 | Configure load interval 30 |
RTR3(config-if)#interface po34 | Configure interface po34 |
RTR3(config-if)#switchport | Configure as layer 2 port |
RTR3(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR3(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR3(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR3(config-if)#load-interval 30 | Configure load interval 30 |
RTR3(config-if)#interface po35 | Configure interface po35 |
RTR3(config-if)#switchport | Configure as layer 2 port |
RTR3(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR3(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR3(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR3(config-if)#load-interval 30 | Configure load interval 30 |
RTR3(config-if)#interface xe3 | Configure xe3 |
RTR3(config-if)#channel-group 13 mode active | Add xe3 to po13 |
RTR3(config-if)#interface xe4 | Configure xe4 |
RTR3(config-if)# channel-group 13 mode active | Add xe4 to po13 |
RTR3(config-if)#interface xe7 | Configure xe7 |
RTR3(config-if)#channel-group 34 mode active | Add xe7 to po34 |
RTR3(config-if)#interface xe8 | Configure xe8 |
RTR3(config-if)#channel-group 34 mode active | Add xe8 to po34 |
RTR3(config-if)#interface xe14 | Configure xe14 |
RTR3(config-if)#channel-group 35 mode active | Add xe14 to po35 |
RTR3(config-if)#interface xe15 | Configure xe15 |
RTR3(config-if)#channel-group 35 mode active | Add xe15 to po35 |
RTR3(config-if)#exit | Exit |
RTR4
RTR4#config term | Configure terminal |
RTR4(config)#bridge 1 protocol provider-rstp | Configure bridge 1 protocol as provider rstp edge |
RTR4(config)#vlan database | Configure vlan database |
RTR4(config-vlan)#vlan 301-400 type service point-point bridge 1 state enable | Configure service vlans from 301-400 |
RTR4(config-vlan)#interface po24 | Configure interface po24 |
RTR4(config-if)#switchport | Configure as layer 2 port |
RTR4(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR4(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR4(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed VLAN from 301-400 |
RTR4(config-if)#load-interval 30 | Configure load interval 30 |
RTR4(config-if)#interface po34 | Configure interface po34 |
RTR4(config-if)#switchport | Configure as layer 2 port |
RTR4(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR4(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR4(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR4(config-if)#load-interval 30 | Configure load interval 30 |
RTR4(config-if)#interface po46 | Configure interface po46 |
RTR4(config-if)#switchport | Configure as layer 2 port |
RTR4(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR4(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR4(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR4(config-if)#load-interval 30 | Configure load interval 30 |
RTR4(config-if)#interface xe0 | Configure xe0 |
RTR4(config-if)#channel-group 46 mode active | Add xe0 to po46 |
RTR4(config-if)#interface xe1 | Configure xe1 |
RTR4(config-if)#channel-group 46 mode active | Add xe1 to po46 |
RTR4(config-if)#interface xe2 | Configure xe2 |
RTR4(config-if)#channel-group 46 mode active | Add xe2 to po46 |
RTR4(config-if)#interface xe3 | Configure xe3 |
RTR4(config-if)#channel-group 46 mode active | Add xe3 to po46 |
RTR4(config-if)#interface xe7 | Configure xe7 |
RTR4(config-if)#channel-group 34 mode active | Add xe7 to po34 |
RTR4(config-if)#interface xe8 | Configure xe8 |
RTR4(config-if)#channel-group 34 mode active | Add xe8 to po34 |
RTR4(config-if)#interface xe14 | Configure xe14 |
RTR4(config-if)#channel-group 24 mode active | Add xe14 to po24 |
RTR4(config-if)#interface xe15 | Configure xe15 |
RTR4(config-if)#channel-group 24 mode active | Add xe15 to po24 |
RTR4(config-if)#end | End |
RTR5
RTR5#config term | Configure terminal |
RTR5(config)#bridge 1 protocol provider-rstp | Configure bridge 1 protocol as provider rstp edge |
RTR5(config)#vlan database | Configure vlan database |
RTR5(config-vlan)#vlan 301-305 type service point-point bridge 1 state enable | Configure service vlans from 301-305 |
RTR5(config-vlan)#interface po25 | Configure interface po25 |
RTR5(config-if)#switchport | Configure as layer 2 port |
RTR5(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR5(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR5(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR5(config-if)#load-interval 30 | Configure load interval 30 |
RTR5(config-if)#interface po35 | Configure interface po35 |
RTR5(config-if)#switchport | Configure as layer 2 port |
RTR5(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR5(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR5(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR5(config-if)#load-interval 30 | Configure load interval 30 |
RTR5(config-if)#interface po56 | Configure interface po56 |
RTR5(config-if)#switchport | Configure as layer 2 port |
RTR5(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR5(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR5(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR5(config-if)#load-interval 30 | Configure load interval 30 |
RTR5(config-if)#interface xe2 | Configure xe2 |
RTR5(config-if)#channel-group 25 mode active | Add xe2 to po25 |
RTR5(config-if)#interface xe3 | Configure xe3 |
RTR5(config-if)#channel-group 25 mode active | Add xe3 to po25 |
RTR5(config-if)#interface xe6 | Configure xe6 |
RTR5(config-if)#channel-group 56 mode active | Add xe6 to po56 |
RTR5(config-if)#interface xe7 | Configure xe7 |
RTR5(config-if)#channel-group 56 mode active | Add xe7 to po56 |
RTR5(config-if)#interface xe8 | Configure xe8 |
RTR5(config-if)#channel-group 56 mode active | Add xe8 to po56 |
RTR5(config-if)#interface xe9 | Configure xe9 |
RTR5(config-if)#channel-group 56 mode active | Add xe9 to po56 |
RTR5(config-if)#interface xe14 | Configure xe14 |
RTR5(config-if)#channel-group 35 mode active | Add xe14 to po35 |
RTR5(config-if)#interface xe15 | Configure xe15 |
RTR5(config-if)#channel-group 35 mode active | Add xe15 to po35 |
RTR5(config-if)#end | End |
RTR6
RTR6#config terminal | Configure terminal |
RTR6(config)#bridge 1 protocol provider-rstp edge | Configure bridge 1 protocol as provider rstp edge |
RTR6(config)#vlan database | Configure vlan database |
RTR6(config-vlan)#vlan 201-300 type customer bridge 1 state enable | Configure customer VLANS from 201-300 |
RTR6(config-vlan)#vlan 301-400 type service point-point bridge 1 state enable | Configure service VLANs from 301-400 |
RTR6(config-vlan)#cvlan registration table map1 bridge 1 | Create cvlan registration table |
RTR6(config-cvlan-registration)#cvlan 201 svlan 301 | Map 201 cvlan to 301 svlan |
RTR6(config-cvlan-registration)#cvlan 202 svlan 302 | Map 202 cvlan to 302 svlan |
RTR6(config-cvlan-registration)#cvlan 203 svlan 303 | Map 203 cvlan to 303 svlan |
RTR6(config-cvlan-registration)#cvlan 204 svlan 304 | Map 204 cvlan to 304 svlan |
RTR6(config-cvlan-registration)#cvlan 205 svlan 305 | Map 205 cvlan to 305 svlan |
RTR6(config-cvlan-registration)#interface po46 | Configure interface po46 |
RTR6(config-if)#switchport | Configure as layer 2 port |
RTR6(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR6(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR6(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR6(config-if)#load-interval 30 | Configure load interval 30 |
RTR6(config-if)#interface po56 | Configure interface po56 |
RTR6(config-if)#switchport | Configure as layer 2 port |
RTR6(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR6(config-if)#switchport mode provider-network | Configure switchport mode as provider network |
RTR6(config-if)#switchport provider-network allowed vlan add 301-400 | Configure allowed vlan from 301-400 |
RTR6(config-if)#load-interval 30 | Configure load interval 30 |
RTR6(config-if)#interface xe0 | Configure xe0 |
RTR6(config-if)#channel-group 46 mode active | Add xe0 to po46 |
RTR6(config-if)#interface xe1 | Configure xe1 |
RTR6(config-if)#channel-group 46 mode active | Add xe1 to po46 |
RTR6(config-if)#interface xe2 | Configure xe2 |
RTR6(config-if)#channel-group 46 mode active | Add xe2 to po46 |
RTR6(config-if)#interface xe3 | Configure xe3 |
RTR6(config-if)#channel-group 46 mode active | Add xe3 to po46 |
RTR6(config-if)#interface xe6 | Configure xe6 |
RTR6(config-if)#channel-group 56 mode active | Add xe6 to po56 |
RTR6(config-if)#interface xe7 | Configure xe7 |
RTR6(config-if)#channel-group 56 mode active | Add xe7 to po56 |
RTR6(config-if)#interface xe8 | Configure xe8 |
RTR6(config-if)#channel-group 56 mode active | Add xe8 to po56 |
RTR6(config-if)#interface xe9 | Configure xe9 |
RTR6(config-if)#channel-group 56 mode active | Add xe9 to po56 |
RTR6(config-if)#interface xe15 | Configure interface xe15 |
RTR6(config-if)#switchport | Configure as layer 2 port |
RTR6(config-if)#bridge-group 1 | Configure interface in bridge group 1 |
RTR6(config-if)#switchport mode customer-edge trunk | Configure switchport mode as customer edge trunk |
RTR6(config-if)#switchport customer-edge trunk allowed vlan add 201-300 | Configure allowed vlan from 201-300 |
RTR6(config-if)#switchport customer-edge vlan registration map1 | Attach vlan registration table map 1 to xe15 |
RTR6(config-if)#load-interval 30 | Configure load interval 30 |
RTR6(config)#class-map type queuing que0 | Create Class map type queuing que0 |
RTR6(config-cmap-que)#match queue 0 | Match for queue 0 |
RTR6(config-cmap-que)#class-map type queuing que1 | Create Class map type queuing que0 |
RTR6(config-cmap-que)#match queue 1 | Match for queue 1 |
RTR6(config-cmap-que)#class-map type queuing que2 | Create Class map type queuing que1 |
RTR6(config-cmap-que)#match queue 2 | Match for queue 2 |
RTR6(config-cmap-que)#class-map type queuing que3 | Create Class map type queuing que2 |
RTR6(config-cmap-que)#match queue 3 | Match for queue 3 |
RTR6(config-cmap-que)#class-map type queuing vlan201 | Create class map type queuing vlan201 |
RTR6(config-cmap-que)#match vlan 201 | Match for VLAN 201 |
RTR6(config-cmap-que)#class-map type queuing vlan202 | Create class map type queuing vlan202 |
RTR6(config-cmap-que)#match vlan 202 | Match for VLAN 202 |
RTR6(config-cmap-que)#class-map type queuing vlan203 | Create class map type queuing vlan203 |
RTR6(config-cmap-que)#match vlan 203 | Match for VLAN 203 |
RTR6(config-cmap-que)#class-map type queuing vlan204 | Create class map type queuing vlan204 |
RTR6(config-cmap-que)#match vlan 204 | Match for VLAN 204 |
RTR6(config-cmap-que)#policy-map type queuing queue | Create policy map of type queuing with name queue |
RTR6(config-pmap-que)#class type queuing que0 | Attach class map que0 |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing que1 | Attach class map que1 |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing que2 | Attach class map que2 |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing que3 | Attach class map que3 |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#policy-map type queuing vlan | Create policy map of type queuing with name vlan |
RTR6(config-pmap-que)#class type queuing vlan201 | Attach class map vlan201 |
RTR6(config-pmap-c-que)#service-policy queue | Attach service policy queue |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing vlan202 | Attach class map vlan202 |
RTR6(config-pmap-c-que)#shape 100 mbps | Shape traffic to 100 mbps |
RTR6(config-pmap-c-que)#service-policy queue | Attach service policy queue |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing vlan203 | Attach class map vlan203 |
RTR6(config-pmap-c-que)#service-policy queue | Attach service policy queue |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#class type queuing vlan204 | Attach class map vlan204 |
RTR6(config-pmap-c-que)#service-policy queue | Attach service policy queue |
RTR6(config-pmap-c-que)#exit | Exit |
RTR6(config-pmap-que)#interface xe13 | Configure interface xe13 |
RTR6(config-if)#service-policy type queuing output vlan | Attach service policy vlan to interface xe13 |
RTR6(config-if)#shape rate 1000 mbps | Shape rate 1000 mbps |
RTR6(config-if)#exit | Exit |
Validation
RTR6:
RTR6#show running-config qos
qos enable
!
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
q0 407.399
q2 415.419
q4 398.478
q6 411.140
RTR6#show running-config qos
qos enable
!
class-map type queuing que0
match queue 0
!
class-map type queuing que1
match queue 1
!
class-map type queuing que2
match queue 2
!
class-map type queuing que3
match queue 3
!
class-map type queuing vlan201
match vlan 201
!
class-map type queuing vlan202
match vlan 202
!
class-map type queuing vlan203
match vlan 203
!
class-map type queuing vlan204
match vlan 204
!
!
policy-map type queuing queue
class type queuing que0
exit
class type queuing que1
exit
class type queuing que2
exit
class type queuing que3
exit
!
policy-map type queuing vlan
class type queuing vlan201
service-policy queue
exit
class type queuing vlan202
service-policy queue
exit
class type queuing vlan203
service-policy queue
exit
class type queuing vlan204
service-policy queue
exit
!
interface xe13
service-policy type queuing output vlan
!
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
vlan201
que0 (q0) 98.957
que1 (q1) 106.502
que2 (q2) 103.779
que3 (q3) 100.639
vlan202
que0 (q0) 102.953
que1 (q1) 96.453
que2 (q2) 103.694
que3 (q3) 100.486
vlan203
que0 (q0) 100.919
que1 (q1) 95.551
que2 (q2) 103.445
que3 (q3) 105.183
vlan204
que0 (q0) 101.593
que1 (q1) 101.609
que2 (q2) 102.030
que3 (q3) 102.992
RTR6#show running-config qos
qos enable
!
class-map type queuing que0
match queue 0
!
class-map type queuing que1
match queue 1
!
class-map type queuing que2
match queue 2
!
class-map type queuing que3
match queue 3
!
class-map type queuing vlan201
match vlan 201
!
class-map type queuing vlan202
match vlan 202
!
class-map type queuing vlan203
match vlan 203
!
class-map type queuing vlan204
match vlan 204
!
!
policy-map type queuing queue
class type queuing que0
exit
class type queuing que1
exit
class type queuing que2
exit
class type queuing que3
exit
!
policy-map type queuing vlan
class type queuing vlan201
service-policy queue
exit
class type queuing vlan202
shape 100 mbps
service-policy queue
exit
class type queuing vlan203
service-policy queue
exit
class type queuing vlan204
service-policy queue
exit
!
interface xe13
service-policy type queuing output vlan
shape rate 1000 mbps
!
RTR6#show policy-map statistics type queuing rate mbps
+--------------------------------+--------------------+
| Class-map | Rate (in mbps) |
+--------------------------------+--------------------+
xe13
vlan201
que0 (q0) 75.224
que1 (q1) 74.814
que2 (q2) 75.476
que3 (q3) 75.298
vlan202
que0 (q0) 25.327
que1 (q1) 25.068
que2 (q2) 24.684
que3 (q3) 25.379
vlan203
que0 (q0) 75.943
que1 (q1) 75.859
que2 (q2) 75.492
que3 (q3) 75.115
vlan204
que0 (q0) 75.513
que1 (q1) 75.295
que2 (q2) 75.907
que3 (q3) 76.048