IOS QOS service policy pass-through on a tunnel interface
I have some SIP phones on one network that go through an IPIP tunnel to get to the server.
I've setup QOS rules to watch for appropriate VOIP traffic as follows:
class-map match-any class-voice
description Voice
match dscp af11
match dscp cs4
match dscp cs3
!
policy-map qos-out
class class-voice
priority 100
!
interface Tunnel1
description Tunnel to VOIP Server
ip address 10.10.0.2 255.255.255.252
tunnel source FastEthernet0/1
tunnel destination 172.16.100.100
tunnel mode ipip
!
interface FastEthernet0/1
description Internet
bandwidth 1000
ip address dhcp
service-policy output qos-out
My trouble is that the class-map isn't getting matched because I can't assign the policy to the Tunnel1, only FastEthernet0/1.
Surely there must be something to make this work... what should I do?
I am in very doubt that priority queues can be applied to tunnel interfaces in so way. QoS functions are applicable to the objects where actual competition for bandwidth occurs - physical interfaces.
If your tunnel is used only for SIP or other high priority traffic you can match it whole and add to your class-map as follow:
ip access-list extended sip-tunnel
permit ipinip any host 172.16.100.100
!
class-map match-any class-voice
description Voice
match dscp af11
match dscp cs4
match dscp cs3
match access-group name sip-tunnel
!
UPD: In some cases DSCP field from original packet is copied to tunnel header. You can check this option for your particular case (Cisco + IOS + ipinip). In success you do not need the last match and initial config should work fine.