PVC Interface Priority Queueing – PIPQ
New technology i just learned about! Its called PIPQ, and stands for PVC Interface Priority Queueing.
As the name implies, its a Queueing method, and its only for frame-relay.
It basically functions in the same way as a PQ scheme, in that it has 4 queues, high, medium, normal and low.
Where it differs is that instead of putting packets into each queue, you “put PVC’s” into each queue, or rather, you designate into which queue this specific PVC should belong to.
When packets are then ready to be moved from to the transmit ring, you dequeue based on high, medium, normal and low priority. And that means taking packets going to PVC’s in the high priority queue first, then medium etc.
Thats basically all there is to it. Very basic QoS, but QoS never the less.
Its really simple to configure, so lets try it out.
The scenario is that you have a multipoint interface, with three PVC’s configured. Two going to your business partners, while the third is a link to your datacenter. Business partner 1 is a very good partner, while partner 2 has been lacking in their appreciation for Cisco gear :).The datacenter one is critical to your business needs, so you want to make sure that one gets preferential treatment.
DLCI assignment:
102 – Business partner 1.
103 – Business partner 2.
104 – Data center link.
We want to assign them to the following queues:
104 – High.
102 – Medium.
103 – Low.
Step 1)
Create some map-classes to map the queue to each PVC:
R1(config)#map-class frame 102-class R1(config-map-class)#frame-relay interface-queue priority medium R1(config-map-class)#map-class frame 103-class R1(config-map-class)#frame-relay interface-queue priority low R1(config-map-class)#map-class frame 104-class R1(config-map-class)#frame-relay interface-queue priority high
Step 2)
Apply these classes to the individual PVC’s:
R1(config-if)#frame-relay interface-dlci 102 R1(config-fr-dlci)#class 102-class R1(config-fr-dlci)#frame-relay interface-dlci 103 R1(config-fr-dlci)#class 103-class R1(config-fr-dlci)#frame-relay interface-dlci 104 R1(config-fr-dlci)#class 104-class
Step 3)
Enable PIPQ on the main interface:
R1(config-if)#frame-relay interface-queue priority
Step 4)
Verify the priority on each PVC. Note that PVC’s in the normal queue wont show up in this command:
R1(config-if)#do sh frame pvc 102 PVC Statistics for interface Serial0/0 (Frame Relay DTE) DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = INACTIVE, INTERFACE = Serial0/0 input pkts 0 output pkts 0 in bytes 0 out bytes 0 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 0 out bcast bytes 0 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 00:01:03, last time pvc status changed 00:01:03 priority medium R1(config-if)# R1(config-if)#do sh frame pvc 103 PVC Statistics for interface Serial0/0 (Frame Relay DTE) DLCI = 103, DLCI USAGE = LOCAL, PVC STATUS = INACTIVE, INTERFACE = Serial0/0 input pkts 0 output pkts 0 in bytes 0 out bytes 0 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 0 out bcast bytes 0 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 00:01:21, last time pvc status changed 00:01:21 priority low R1(config-if)#do sh frame pvc 104 PVC Statistics for interface Serial0/0 (Frame Relay DTE) DLCI = 104, DLCI USAGE = LOCAL, PVC STATUS = INACTIVE, INTERFACE = Serial0/0 input pkts 0 output pkts 0 in bytes 0 out bytes 0 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 0 out bcast bytes 0 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 00:01:35, last time pvc status changed 00:01:35 priority high
And finally:
R1#sh queueing priority Current DLCI priority queue configuration: Interface High Medium Normal Low limit limit limit limit Serial0/0 20 40 60 80
And thats all there is to it. Cool huh?
Take Care!