Fragmentation, Traffic Shaping, LLQ / IP RTP Priority

From: gladston@br.ibm.com
Date: Mon May 09 2005 - 10:53:04 GMT-3


Have you seen this?
Show policy-map indicates that ICMP is going through Priority, but sh queueing indicates it is going through normal queue.

R5 is configured for VoIP over Frame Relay with Quality of Service (Fragmentation, Traffic Shaping, LLQ / IP RTP Priority)

For testing purpose, I added ICMP to a priority class.

It was not supposed that priority traffic was sent to priority queue of dual queue?
(or even if the traffic has high priority, when it has packet size bigger than fragment configured on frame-relay, it goes to normal dual queue?)

Rack2R5#sh queueing interface ser 0/0
Interface Serial0/0 queueing strategy: priority

Output queue utilization (queue/count)
        high/280 medium/0 normal/3191 low/0
Rack2R5#
Rack2R5#sh queueing interface ser 0/0
Interface Serial0/0 queueing strategy: priority

Output queue utilization (queue/count)
        high/280 medium/0 normal/3201 low/0
Rack2R5#
Rack2R5#sh queueing interface ser 0/0
Interface Serial0/0 queueing strategy: priority

Output queue utilization (queue/count)
        high/281 medium/0 normal/3221 low/0
Rack2R5#
Rack2R5#sh policy-map int ser 0/0 | b ICMP
    Class-map: ICMP (match-all)
      385 packets, 37634 bytes
      5 minute offered rate 2000 bps, drop rate 0 bps
      Match: access-group 104
      Queueing
        Strict Priority
        Output Queue: Conversation 24
        Bandwidth 11 (kbps) Burst 275 (Bytes)
        (pkts matched/bytes matched) 385/37634
        (total drops/bytes drops) 56/5824

    Class-map: class-default (match-any)
      665 packets, 39777 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
      Queueing
        Flow Based Fair Queueing
        Maximum Number of Hashed Queues 16
        (total queued/total drops/no-buffer drops) 0/0/0
Rack2R5#
Rack2R5#sh policy-map int ser 0/0 | b ICMP
    Class-map: ICMP (match-all)
      403 packets, 39506 bytes
      5 minute offered rate 1000 bps, drop rate 0 bps
      Match: access-group 104
      Queueing
        Strict Priority
        Output Queue: Conversation 24
        Bandwidth 11 (kbps) Burst 275 (Bytes)
        (pkts matched/bytes matched) 403/39506
        (total drops/bytes drops) 59/6136

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

Now, testing it with a ping of 70bytes (less than fragment value configured), it does not increment
any queue at all on sh queueing:

Rack2R5#sh queueing interface ser 0/0
Interface Serial0/0 queueing strategy: priority

Output queue utilization (queue/count)
        high/305 medium/0 normal/4190 low/0
Rack2R5#sh queueing interface ser 0/0
Interface Serial0/0 queueing strategy: priority

Output queue utilization (queue/count)
        high/305 medium/0 normal/4190 low/0
Rack2R5#sh queueing interface ser 0/0
Interface Serial0/0 queueing strategy: priority

Output queue utilization (queue/count)
        high/305 medium/0 normal/4190 low/0
Rack2R5#sh queueing interface ser 0/0
Interface Serial0/0 queueing strategy: priority

Output queue utilization (queue/count)
        high/305 medium/0 normal/4190 low/0
Rack2R5#
Rack2R5#sh policy-map int ser 0/0 | b ICMP
    Class-map: ICMP (match-all)
      1935 packets, 166974 bytes
      5 minute offered rate 6000 bps, drop rate 0 bps
      Match: access-group 104
      Queueing
        Strict Priority
        Output Queue: Conversation 24
        Bandwidth 11 (kbps) Burst 275 (Bytes)
        (pkts matched/bytes matched) 1935/166974
        (total drops/bytes drops) 137/14248

    Class-map: class-default (match-any)
      711 packets, 42539 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
      Queueing
        Flow Based Fair Queueing
        Maximum Number of Hashed Queues 16
        (total queued/total drops/no-buffer drops) 0/0/0
Rack2R5#sh policy-map int ser 0/0 | b ICMP
    Class-map: ICMP (match-all)
      2014 packets, 172820 bytes
      5 minute offered rate 8000 bps, drop rate 0 bps
      Match: access-group 104
      Queueing
        Strict Priority
        Output Queue: Conversation 24
        Bandwidth 11 (kbps) Burst 275 (Bytes)
        (pkts matched/bytes matched) 2014/172820
        (total drops/bytes drops) 137/14248

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

Here is the config:

class-map match-all ICMP
  match access-group 104
 class-map match-all voice-signaling
  match access-group 103
 class-map match-all voice-traffic
  match access-group 102
!
policy-map voice-policy
  class voice-signaling
   bandwidth 8
  class voice-traffic
   priority 45
  class ICMP
   priority 11
  class class-default
   fair-queue
!
interface Serial0/0
 bandwidth 64
 ip address 142.20.125.5 255.255.255.224
 ip access-group ICMPTRACKER in
 ip pim sparse-dense-mode
 encapsulation frame-relay
 ip ospf authentication-key cisco
 ipv6 address 2001:125::5/64
 frame-relay traffic-shaping
 frame-relay map ipv6 2001:125::1 501 broadcast
 frame-relay map ipv6 2001:125::2 502 broadcast
 frame-relay map ip 142.20.125.1 501 broadcast
 frame-relay map ip 142.20.125.2 502 broadcast
 frame-relay interface-dlci 501
  class Frame-qos-to-r1
 frame-relay interface-dlci 502
  class Frame-qos-to-r2
 no frame-relay inverse-arp
 frame-relay ip rtp header-compression
!
map-class frame-relay Frame-qos-to-r1
 frame-relay cir 64000
 frame-relay bc 640
 frame-relay be 0
 frame-relay mincir 64000
 service-policy output voice-policy
 frame-relay fragment 80
!
access-list 102 permit udp any any range 16384 32767
access-list 103 permit tcp any eq 1720 any
access-list 103 permit tcp any any eq 1720
access-list 104 permit icmp any any
access-list 104 permit tcp any any eq telnet

Complete config:

 class-map match-all ICMP
  match access-group 104
 class-map match-all voice-signaling
  match access-group 103
 class-map match-all voice-traffic
  match access-group 102
 class-map match-all premium
  match protocol rtp
!
!
 policy-map Premium-gold-normal
  class normal
   bandwidth 1125
   set precedence 5
  class gold
   bandwidth 2250
   set precedence 4
  class premium
   bandwidth 3375
 policy-map voice-policy
  class voice-signaling
   bandwidth 8
  class voice-traffic
   priority 45
  class ICMP
   priority 11
  class class-default
   fair-queue
!
!
dlsw local-peer peer-id 142.20.5.1
dlsw remote-peer 0 tcp 142.20.3.1
dlsw bridge-group 1
!
!
interface Loopback0
 ip address 142.20.5.1 255.255.255.0
 ip pim sparse-dense-mode
!
interface Loopback10
 ip address 142.16.55.1 255.255.255.0
!
interface Loopback50
 ip address 190.100.2.1 255.255.255.255
!
interface Tunnel512
 ip unnumbered Loopback0
 ip pim sparse-dense-mode
 tunnel source Loopback0
 tunnel destination 150.100.10.9
!
interface Ethernet0/0
 ip address 142.20.56.5 255.255.255.0
 ip pim sparse-dense-mode
 service-policy output Premium-gold-normal
 half-duplex
!
interface Serial0/0
 bandwidth 64
 ip address 142.20.125.5 255.255.255.224
 ip access-group ICMPTRACKER in
 ip pim sparse-dense-mode
 encapsulation frame-relay
 ip ospf authentication-key cisco
 ipv6 address 2001:125::5/64
 frame-relay traffic-shaping
 frame-relay map ipv6 2001:125::1 501 broadcast
 frame-relay map ipv6 2001:125::2 502 broadcast
 frame-relay map ip 142.20.125.1 501 broadcast
 frame-relay map ip 142.20.125.2 502 broadcast
 frame-relay interface-dlci 501
  class Frame-qos-to-r1
 frame-relay interface-dlci 502
  class Frame-qos-to-r2
 no frame-relay inverse-arp
 frame-relay ip rtp header-compression
!
interface BRI0/0
 ip address 142.20.45.6 255.255.255.252
 encapsulation ppp
 ip ospf message-digest-key 1 md5 cisco
 dialer idle-timeout 30
 dialer map ip 142.20.45.5 name Rack2R4 broadcast 4441111111
 dialer-group 1
 isdn switch-type basic-ni
 isdn spid1 555111111100 5551111111
 isdn spid2 555222222200 5552222222
 ppp authentication chap
!
interface Serial0/1
 no ip address
 shutdown
!
interface Ethernet1/0
 ip address 142.20.65.5 255.255.255.0
 service-policy output Premium-gold-normal
 half-duplex
!
router eigrp 10
 variance 11
 redistribute connected metric 10000 1000 255 1 1500 route-map connected->eigrp
 redistribute ospf 1 metric 10000 1000 255 1 1500
 network 142.20.56.0 0.0.0.255
 network 142.20.65.0 0.0.0.255
 auto-summary
!
router ospf 1
 router-id 142.20.5.1
 log-adjacency-changes
 area 0 authentication
 area 113 authentication message-digest
 area 113 virtual-link 142.20.4.1 authentication-key cisco
 redistribute connected subnets route-map connected->ospf
 redistribute eigrp 10 subnets
 network 142.20.5.0 0.0.0.255 area 0
 network 142.20.45.4 0.0.0.3 area 113
 network 142.20.125.0 0.0.0.31 area 0
 neighbor 142.20.125.1
 neighbor 142.20.125.2
!
router bgp 65202
 no synchronization
 bgp router-id 142.20.5.1
 bgp log-neighbor-changes
 bgp confederation identifier 20
 bgp confederation peers 65206
 network 190.100.2.0 mask 255.255.255.255
 neighbor 142.20.6.1 remote-as 65206
 neighbor 142.20.6.1 ebgp-multihop 5
 neighbor 142.20.6.1 update-source Loopback0
 neighbor 142.20.125.1 remote-as 65202
 no auto-summary
!
ip http server
ip classless
!
ip pim send-rp-discovery Loopback0 scope 10
!
!
ip access-list extended ICMPTRACKER
 permit icmp any any echo
 permit icmp any any echo log-input
 permit ip any any
!
!
map-class frame-relay Frame-qos-to-r1
 frame-relay cir 64000
 frame-relay bc 640
 frame-relay be 0
 frame-relay mincir 64000
 service-policy output voice-policy
 frame-relay fragment 80
!
map-class frame-relay Frame-qos-to-r2
access-list 102 permit udp any any range 16384 32767
access-list 103 permit tcp any eq 1720 any
access-list 103 permit tcp any any eq 1720
access-list 104 permit icmp any any
access-list 104 permit tcp any any eq telnet
access-list 150 permit udp any eq tftp any
dialer-list 1 protocol ip permit
!
route-map connected->eigrp permit 10
 match interface Serial0/0 BRI0/0 Loopback0
!
route-map connected->ospf permit 10
 description injects lo0 because change on default behaviour of redistribute eigrp->ospf
 match interface Loopback10 Loopback0 Ethernet0/0 Ethernet1/0
!
!
bridge 1 protocol ieee
call rsvp-sync
!
!
mgcp profile default
!
dial-peer cor custom
!
!
!
alias exec c conf t
alias exec s show run
alias exec sib show ip interface brief
alias exec sl sh logg
alias exec cl clear logg
alias exec sb show ip bgp
alias exec sibs show ip bgp su
alias exec cb clear ip bgp * soft
alias exec sir show ip route
alias exec so show ip os ne
alias exec sip show ip protocols
alias exec cir clear ip route *
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
line vty 0 4
 password cisco
 login
!
!
end



This archive was generated by hypermail 2.1.4 : Fri Jun 03 2005 - 10:11:57 GMT-3