blog
    MQC-based Frame Relay Tra ...
    24 January 08

    MQC-based Frame Relay Traffic Shaping

    Posted byPetr Lapukhov
    facebooktwitterlinkedin
    news-featured

    This is a "modern" way to configure FRTS, using MQC commands only to accomplish the task. With MQC approach, an unified interface has been introduced to configure all QoS settings, irrelevant of underlying technology.

    In summary:

    - Legacy command frame-relay traffic-shaping is incompatible with MQC-based FRTS (you can't mix them)
    - Fancy queueing could not be used as a PVC-queueing strategy: CBWFQ is the only option available
    - Per-VC CBWFQ is configured via hierarchical policy-maps configuration: Parent policy sets shaping values, while child policy implements CBWFQ
    - You may apply policy-map per-interface (subinterface) or per-VC, using match fr-dlci under class-map submode

    Example: Shape PVC to 384Kbps and provide LLQ treatment for voice bearer packets on PVC queue

    class-map VOICE
    match ip dscp ef
    !
    class-map DATA
    match ip dscp cs1

    !
    ! "Child" policy-map, used to implement CBWFQ
    !

    policy-map CBWFQ
    class VOICE
    priority 64
    class DATA
    bandwidth 128
    class class-default
    fair-queue

    !
    ! "Parent" policy map, used for PVC shaping
    !

    policy-map SHAPE_384K
    class class-default
    shape average 384000
    shape adaptive 192000
    service-policy CBWFQ

    interface Serial 0/0/0:0.1
    ip address 177.0.112.1 255.255.255.0
    service-policy output SHAPE_384K
    frame-relay interface-dlci 112

    Verification: check out policy map settings

    Rack1R1#show policy-map interface serial 0/0/0:0.1

    Serial0/0/0:0.1

    Service-policy output: SHAPE_384K

    Class-map: class-default (match-any)
    1942 packets, 1590741 bytes
    5 minute offered rate 48000 bps, drop rate 0 bps
    Match: any
    Traffic Shaping
    Target/Average Byte Sustain Excess Interval Increment
    Rate Limit bits/int bits/int (ms) (bytes)
    384000/384000 2400 9600 9600 25 1200

    Adapt Queue Packets Bytes Packets Bytes Shaping
    Active Depth Delayed Delayed Active
    - 0 1936 1581717 0 0 no

    Service-policy : CBWFQ

    Class-map: VOICE (match-all)
    0 packets, 0 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
    Match: protocol rtp
    Match: ip dscp ef (46)
    Queueing
    Strict Priority
    Output Queue: Conversation 40
    Bandwidth 64 (kbps) Burst 1600 (Bytes)
    (pkts matched/bytes matched) 0/0
    (total drops/bytes drops) 0/0

    Class-map: DATA (match-all)
    0 packets, 0 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
    Match: ip dscp cs1 (8)
    Queueing
    Output Queue: Conversation 41
    Bandwidth 128 (kbps) Max Threshold 64 (packets)
    (pkts matched/bytes matched) 0/0
    (depth/total drops/no-buffer drops) 0/0/0

    Class-map: class-default (match-any)
    1942 packets, 1590741 bytes
    5 minute offered rate 48000 bps, drop rate 0 bps
    Match: any
    Queueing
    Flow Based Fair Queueing
    Maximum Number of Hashed Queues 32
    (total queued/total drops/no-buffer drops) 0/0/0

    The amount of bandwidth, available for allocation to CBWFQ classes, is taken from shape adaptive value. If the latter is not configured, shape average
    value is used instead. Note, that as you configure bandwidth settings for classes, their values are not subtracted from remaining bandwidth. This is in contraty with
    "classic" CBWFQ, applied to a physical interface (not subinterface or PVC)

    Verification (with the example above):

    Rack1R1#conf t
    Enter configuration commands, one per line. End with CNTL/Z.
    Rack1R1(config)#policy-map CBWFQ
    Rack1R1(config-pmap)#class class-default
    Rack1R1(config-pmap-c)#no fair-queue
    Rack1R1(config-pmap-c)#bandwidth 256
    I/f shape class class-default requested bandwidth 256 (kbps), available only 192 (kbps)

    Note that available bandwidth is set to shape adaptive value, even though we have priority configured under class VOICE and bandwidth
    settings under class DATA

    - You can't apply FRF.12 fragmentation with MQC commands - it should be applied at physical interface level. By doing so, FRF.12 is effectively enabled for all PVCs
    - Physical interface queue could be set to any of WFQ/CQ/PQ or CBWFQ (not restricted to FIFO as with FRTS legacy) - though this is rarely needed

    Example: Shape PVC DLCI 112 to 384Kpbs and enable FRF.12 fragmentation for all PVCs

    class-map VOICE
    match ip dscp ef
    !
    class-map DATA
    match ip dscp cs1

    !
    ! Match the specific DLCI
    !
    class-map DLCI_112
    match fr-dlci 112

    !
    ! "Child" policy-map, used to implement CBWFQ
    !

    policy-map CBWFQ
    class VOICE
    priority 64
    class DATA
    bandwidth 128
    class class-default
    fair-queue

    !
    ! "Parent" policy map, used for PVC shaping
    ! With multiple classes, we can match different DLCIs
    ! all at the same physical interface (where they belongs)
    !

    policy-map INTERFACE_POLICY
    class DLCI_112
    shape average 384000
    shape adaptive 192000
    service-policy CBWFQ

    !
    ! Apply the parent policy map at physical interface level
    ! Also, configure FRF.12 "global" settings here
    !

    interface Serial 0/0/0:0
    service-policy output INTERFACE_POLICY
    frame-relay fragment 640 end-to-end

    Verification:

    Rack1R1#show policy-map interface serial 0/0/0:0

    Serial0/0/0:0

    Service-policy output: INTERFACE_POLICY

    Class-map: DLCI_112 (match-all)
    1040 packets, 95287 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
    Match: fr-dlci 112
    Traffic Shaping
    Target/Average Byte Sustain Excess Interval Increment
    Rate Limit bits/int bits/int (ms) (bytes)
    384000/384000 2400 9600 9600 25 1200

    Adapt Queue Packets Bytes Packets Bytes Shaping
    Active Depth Delayed Delayed Active
    - 0 1040 95287 4 1373 no

    Service-policy : CBWFQ

    Class-map: VOICE (match-all)
    0 packets, 0 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
    Match: protocol rtp
    Match: ip dscp ef (46)
    Queueing
    Strict Priority
    Output Queue: Conversation 40
    Bandwidth 64 (kbps) Burst 1600 (Bytes)
    (pkts matched/bytes matched) 0/0
    (total drops/bytes drops) 0/0

    Class-map: DATA (match-all)
    0 packets, 0 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
    Match: ip dscp cs1 (8)
    Match: fr-dlci 112
    Queueing
    Output Queue: Conversation 41
    Bandwidth 128 (kbps) Max Threshold 64 (packets)
    (pkts matched/bytes matched) 0/0
    (depth/total drops/no-buffer drops) 0/0/0

    Class-map: class-default (match-any)
    1040 packets, 95287 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
    Match: any
    Queueing
    Flow Based Fair Queueing
    Maximum Number of Hashed Queues 32
    (total queued/total drops/no-buffer drops) 0/0/0

    Class-map: class-default (match-any)
    2594 packets, 153695 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
    Match: any

    Verify fragmentation settings:

    Rack1R1#show interface serial 0/0/0:0
    Serial0/0/0:0 is up, line protocol is up
    Hardware is GT96K Serial
    MTU 1500 bytes, BW 1536 Kbit, DLY 20000 usec,
    reliability 255/255, txload 1/255, rxload 1/255
    Encapsulation FRAME-RELAY, loopback not set
    Keepalive set (10 sec)
    LMI enq sent 21224, LMI stat recvd 21224, LMI upd recvd 0, DTE LMI up
    LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
    LMI DLCI 1023 LMI type is CISCO frame relay DTE
    FR SVC disabled, LAPF state down
    Fragmentation type: end-to-end, size 640, PQ interleaves 0 <--------- Fragment Size
    Broadcast queue 0/64, broadcasts sent/dropped 63160/0, interface broadcasts 56080
    Last input 00:00:03, output 00:00:02, output hang never
    Last clearing of "show interface" counters 2d10h
    Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 6
    Queueing strategy: weighted fair
    Output queue: 0/1000/64/0 (size/max total/threshold/drops)
    Conversations 0/1/256 (active/max active/max total)
    Reserved Conversations 0/0 (allocated/max allocated)
    Available Bandwidth 1152 kilobits/sec
    5 minute input rate 0 bits/sec, 1 packets/sec
    5 minute output rate 0 bits/sec, 1 packets/sec
    272202 packets input, 27557680 bytes, 0 no buffer
    Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
    15 input errors, 15 CRC, 8 frame, 0 overrun, 0 ignored, 5 abort
    333676 packets output, 42152431 bytes, 0 underruns
    0 output errors, 0 collisions, 16 interface resets
    0 output buffer failures, 0 output buffers swapped out
    0 carrier transitions
    Timeslot(s) Used:1-24, SCC: 0, Transmitter delay is 0 flags

    Hey! Don’t miss anything - subscribe to our newsletter!

    © 2022 INE. All Rights Reserved. All logos, trademarks and registered trademarks are the property of their respective owners.
    instagram Logofacebook Logotwitter Logolinkedin Logoyoutube Logo