! ############################################################# ! ## first define an ACL for each remote WAN site ! ip access-list extended QOS-ACL_SITE001 permit ip {site IP's} ! ip access-list extended QOS-ACL_SITE002 permit ip {site IP's} ! ! ! ! ############################################################# ! # next create a class-map to match each site ! class-map match-any QOS-CM_CLASSIFY_SITE001 match access-group name QOS-ACL_SITE001 ! class-map match-any QOS-CM_CLASSIFY_SITE002 match access-group name QOS-ACL_SITE002 ! ! ! ! ############################################################# ! # create a class-map to match previously DSCP marked (with CS0 to CS5) traffic ! class-map match-any QOS-CM_MATCH_CS5 description MATCH IP TRAFFIC MARKED WITH CS5 match dscp cs5 class-map match-any QOS-CM_MATCH_CS4 description MATCH IP TRAFFIC MARKED WITH CS4 match dscp cs4 class-map match-any QOS-CM_MATCH_CS3 description MATCH IP TRAFFIC MARKED WITH CS3 match dscp cs3 class-map match-any QOS-CM_MATCH_CS2 description MATCH IP TRAFFIC MARKED WITH CS2 match dscp cs2 class-map match-any QOS-CM_MATCH_CS1 description MATCH IP TRAFFIC MARKED WITH CS1 match dscp cs1 ! ! ! ! ############################################################# ! # Create 'child' policy-maps for every remote site WAN bandwidth I may want to queue traffic to. ! # In the following example, I've only defined a 512Kb and 1Mb WAN bandwdith but I would have other WAN sizes in the final config ! # You'll also note that for now I've applied the basic 'bandwidth {kbps}' command rather than the 'bandwidth percent' commands ! policy-map QOS-PM_QUEUE_512KB_SITES description PRIORITISE TRAFFIC AND ALLOCATE MINIMUM BANDWIDTH GUARANTEES FOR 512KB CONNECTED SITES class QOS-CM_MATCH_CS5 priority 92 class QOS-CM_MATCH_CS4 bandwidth 77 class QOS-CM_MATCH_CS3 bandwidth 51 class QOS-CM_MATCH_CS2 bandwidth 138 class QOS-CM_MATCH_CS1 bandwidth 26 class class-default bandwidth 128 ! policy-map QOS-PM_QUEUE_1MB_SITES description PRIORITISE TRAFFIC AND ALLOCATE MINIMUM BANDWIDTH GUARANTEES FOR 1MB CONNECTED SITES class QOS-CM_MATCH_CS5 priority 180 class QOS-CM_MATCH_CS4 bandwidth 150 class QOS-CM_MATCH_CS3 bandwidth 100 class QOS-CM_MATCH_CS2 bandwidth 270 class QOS-CM_MATCH_CS1 bandwidth 50 class class-default bandwidth 250 ! ! ! ! ! ############################################################# ! # Now create the 'parent' policy which uses class-maps to match each site, then shapes to that sites WAN bandwidth ! # and then calls the relevant 'child' policy to apply CBWFQ to the shaped traffic ! # You'll also note that I haven't as yet configured the relevant 'queue-limit {packets}' commands under each parent shaper but I think I'll need to ! policy-map QOS-PM_APPLY_EGRESS_QOS description MATCH ALL POLICE SITES, SHAPE TO THEIR WAN BW THEN PRIORITISE & QUEUE TRAFFIC WITHIN THE SHAPER class QOS-CM_CLASSIFY_SITE001 shape average 512000 service-policy QOS-PM_QUEUE_512KB_SITES class QOS-CM_CLASSIFY_SITE002 shape average 1000000 service-policy QOS-PM_QUEUE_1MB_SITES ! ! ! ! ############################################################# ! # apply the two tier policy to the egress interface (7600 with SIP400 and 2port GE SPA, running 12.33(SRD)) ! interface GigabitEthernet1/0 bandwidth 1000000 service-policy output QOS-PM_APPLY_EGRESS_QOS ! !