Adaptive Shaping could only be configured to shape traffic rates when frame-relay congestion notifications where received “Yes – (BECN – or fecn-adapt, q922 test frame)”, this could result that delay sensitive traffic experience more delay or simple get dropped, until the router waits for the signal in order to slow down to the adaptive rate.
We all recall from our CCNA studys, that in-band congestion signaling [like FECNs, BECNs, (and DE) in the Q.922 header] where set by the Frame-relay Switch to notify end devices that they should start their configured congestion avoidance procedures, recall that if a router receives any BECN during a TC interval, the router decreases the tx rate 25%, and the router will continue to decrement with each BECN (limited to TC intervals) until the traffic rate hits the configured adaptive (minCIR) rate. After the rate had decreased the router takes 16 times intervals of receiving no BECN to start increasing by (Be + Bc)/16, per TC interval.
Now, Cisco, created the Frame-relay Voice-Adaptive Traffic Shaping (FR-VATS) feature, FR-VATS just monitors the LLQ Queue for traffic, and the concept is really simple. When there is traffic on this Priority queue, FR-VATS shapes to the minCIR, for the other non priority classes, leaving the traffic in Priority class to be inserted directly into the Dual Fifo High Priority Queue, just before the TXRing. Also other features like fragmentation and interleaving could be configured to work in conjunction with VATS, similarly, if there is no traffic in the LLQ Queue for a configurable deactivation time (30 sec by default) the FR-VATS shaper resumes shaping to CIR (not the minCIR), in other words, no more shapers working at night for Bulk Traffic Class 🙂
a sample configuration could be
R2(config)#class-map PREC5 R2(config-cmap)#ma ip prec 5 R2(config-cmap)#exit R2(config)# class-map PREC0 R2(config-cmap)#ma ip prec 0 R2(config-cmap)#ma access-gr 106 R2(config-cmap)#do show ip access-list Extended IP access list 106 10 permit icmp any any (6141842 matches) R2(config-cmap)# R2(config-cmap)#policy-map VATS R2(config-pmap)#class PREC5 R2(config-pmap-c)#priority 10 R2(config-pmap-c)#exit R2(config-pmap)#class PREC0 R2(config-pmap-c)#band 10 R2(config-pmap-c)#exit R2(config-pmap)#exit R2(config)#policy-map SHAPPER R2(config-pmap)#class class-default R2(config-pmap-c)#shape average 128000 1005 R2(config-pmap-c)#shape adaptive 10050 R2(config-pmap-c)#shape fr-voice-adapt deactivation 30 R2(config-pmap-c)#service-policy VATS R2(config-pmap-c)#exit R2(config-pmap)#map-class frame-relay BINDINGS R2(config-map-class)#service-policy out SHAPPER R2(config-map-class)#exit R2(config)#int s0/1 R2(config-if)#frame-relay framentation voice-adaptive deactivation 30 R2(config-if)#frame-relay fragment 80 end-to-end R2(config-if)#frame-relay interface-dlci 666 R2(config-fr-dlci)#class BINDINGS
Note: end to end fragmentation is on the interface and not in the class map. (no difference at all)
In Summary, VATS feature is automatically trigged throttling back CIR to minCIR for the non priority traffic, if packets enters the LLQ Queue.