Hi Elvis, This is a code version issue. In 12.4(22)T Cisco introduce Hierarchical Queueing Framework (HQF). I haven't tried it myself but I think if you put the shapers in a child policy, then applied the child to a parent which was then applied to the tunneil interface you'd be OK.
You refer to link send by Andy,
I copy & pasted from link, when migration to 12.4(20)T or later
In HQF, you can apply the shaping to a generic routing encapsulation (GRE) tunnel by using a hierarchical service policy after encapsulation. This means that the shape rate is based on packets with tunnel encapsulation and L2 encapsulation.
When configuring the shape feature in the parent policy applied to the tunnel interface, you can use the class-default class only. You cannot configure a user-defined class in the parent policy.
A typical hierarchical policy applied to a GRE tunnel interface is shown below:
Service-policy output parent
shape average 10000000
Note Some QoS deployments include a service policy with queueing features applied at the tunnel or a virtual interface and a service policy with queueing features applied at the physical interface. In Cisco IOS Release 12.4(20)T, you can apply a service policy with queuing features only at one of these interfaces. When migrating to Cisco IOS Release 12.4(20)T, a router configuration containing service policies at both interfaces will only keep the one applied to the physical interface.