Cisco 10000 Series Router Quality of Service Configuration Guide
QoS Policy Propagation Through the Border Gateway Protocol
Downloads: This chapterpdf (PDF - 345.0KB) The complete bookPDF (PDF - 21.32MB) | Feedback

QoS Policy Propagation Through the Border Gateway Protocol

Table Of Contents

QoS Policy Propagation Through the Border Gateway Protocol

QPPB Configuration Example

Related Documentation

QoS Policy Propagation Through the Border Gateway Protocol

QoS Policy Propagation through Border Gateway Protocol (QPPB) allows you to classify packets by IP precedence based on BGP community lists, BGP autonomous system paths, and access control lists (ACLs). After a packet has been classified, you can use other QoS features such as policing and weighted random early detection (WRED) to specify and enforce policies to fit your business model.

This appendix provides an example of how to:

1. Create route maps to match BGP community lists, access control lists, and BGP AS paths

2. Apply IP precedence to routes learned from neighbors

QPPB Configuration Example

In this example, the Cisco 10000 series router learns routes from autonomous system (AS) 10 and AS 60. QoS policy is applied to all packets that match the defined route maps. Any packets from the Cisco 10000 series router to AS 10 or AS 60 are sent to the appropriate QoS policy (Figure B-1).

Figure B-1 Cisco 10000 Series Router Routes and QoS Policy Application

Cisco 10000 Series Router Configuration

Router(config)# router bgp 30
Router(config)# table-map precedence-map
Router(config-router)# neighbor remote-as 10
Router(config-router)# neighbor send-community
Router(config-router)# neigh route-map precedence-map out
Router(config)# ip bgp-community new-format

Match community 1, set the IP precedence to priority, and set the QoS group to 1.

Router(config)# route-map precedence-map permit 10
Router(config-route-ma)# match community 1
Router(config-route-ma)# set ip precedence priority
Router(config-route-ma)# set ip qos-group 1

Match community 2 and set the IP precedence to immediate.

Router(config)# route-map precedence-map permit 20
Router(config-route-ma)# match community 2
Router(config-route-ma)# set ip precedence immediate

Match community 3 and set the IP precedence to Flash.

Router(config)# route-map precedence-map permit 30
Router(config-route-ma)# match community 3
Router(config-route-ma)# set ip precedence flash

Match community 4 and set the IP precedence to Flash-override.

Router(config)# route-map precedence-map permit 40
Router(config-route-ma)# match community 4
Router(config-route-ma)# set ip precedence flash-override

Match community 5 and set the IP precedence to critical.

Router(config)# route-map precedence-map permit 50
Router(config-route-ma)# match community 5
Router(config-route-ma)# set ip precedence critical

Match community 6 and set the IP precedence to internet.

Router(config)# route-map precedence-map permit 60
Router(config-route-ma)# match community 6
Router(config-route-ma)# set ip precedence internet

Match community 7 and set the IP precedence to network.

Router(config)# route-map precedence-map permit 70
Router(config-route-ma)# match community 7
Router(config-route-ma)# set ip precedence network

Match IP address access list 69 or match AS path 1, set the IP precedence to critical, and set the QoS group to 9.

Router(config)# route-map precedence-map permit 75
Router(config-route-ma)# match ip address 69
Router(config-route-ma)# match as-path 1
Router(config-route-ma)# set ip precedence critical
Router(config-route-ma)# set ip qos-group 9

For everything else, set the IP precedence to routine.

Router(config)# route-map precedence-map permit 80
Router(config-route-ma)# set ip precedence routine

Define the community lists.

Router(config)# ip community-list 1 permit 60:1
Router(config)# ip community-list 2 permit 60:2
Router(config)# ip community-list 3 permit 60:3
Router(config)# ip community-list 4 permit 60:4
Router(config)# ip community-list 5 permit 60:5
Router(config)# ip community-list 6 permit 60:6
Router(config)# ip community-list 7 permit 60:7

Define the AS path.

Router(config)# ip as-path access-list 1 permit ^10_60

Define the access control list.

Router(config)# access-list 69 permit

Router B Running Configuration

RouterB(config)# router bgp 10
RouterB(config-router)# neighbor remote-as 30
RouterB(config-router)# neighbor send-community
RouterB(config-router)# neigh route-map send_community out
RouterB(config)# ip bgp-community new-format

Match prefix 10 and set community to 60:1.

RouterB(config)# route-map send_community permit 10
RouterB(config-route-ma)# match ip address 10
RouterB(config-route-ma)# set community 60:1

Match prefix 20 and set community to 60:2.

RouterB(config)# route-map send_community permit 20
RouterB(config-route-ma)# match ip address 20
RouterB(config-route-ma)# set community 60:2

Match prefix 30 and set community to 60:3.

RouterB(config)# route-map send_community permit 30
RouterB(config-route-ma)# match ip address 30
RouterB(config-route-ma)# set community 60:3

Match prefix 40 and set community to 60:4.

RouterB(config)# route-map send_community permit 40
RouterB(config-route-ma)# match ip address 40
RouterB(config-route-ma)# set community 60:4

Match prefix 50 and set community to 60:5.

RouterB(config)# route-map send_community permit 50
RouterB(config-route-ma)# match ip address 50
RouterB(config-route-ma)# set community 60:5

Match prefix 60 and set community to 60:6.

RouterB(config)# route-map send_community permit 60
RouterB(config-route-ma)# match ip address 60
RouterB(config-route-ma)# set community 60:6

Match prefix 70 and set community to 60:7.

RouterB(config)# route-map send_community permit 70
RouterB(config-route-ma)# match ip address 70
RouterB(config-route-ma)# set community 60:7

For all others, set community to 60:8.

RouterB(config)# route-map send_community permit 80
RouterB(config-route-ma)# set community 60:8

Define the access control lists.

RouterB(config)# access-list 10 permit
RouterB(config)# access-list 20 permit
RouterB(config)# access-list 30 permit
RouterB(config)# access-list 40 permit
RouterB(config)# access-list 50 permit
RouterB(config)# access-list 60 permit
RouterB(config)# access-list 70 permit

The following example shows how to configure several interfaces to classify packets based on the IP precedence and QoS group ID:

interface serial 5/0/0/1:0
ip address
bgp-policy source ip-prec-map
no ip mroute-cache
no cdp enable
frame-relay interface-dlci 20 IETF
interface serial 6/0/0/1:0
ip address
bgp-policy source ip-qos-group
no ip mroute-cache
no cdp enable

frame-relay interface-dlci 20 IETF

Related Documentation

This section provides hyperlinks to additional Cisco documentation for the features discussed in this chapter. To display the documentation, click the document title or a section of the document highlighted in blue. When appropriate, paths to applicable sections are listed below the documentation title.

Related Documentation

QoS Policy Propagation through Border Gateway Protocol (QPPB)

Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.2

Part 1: Classification > Classification Overview > QoS Policy Propagation via Border Gateway Protocol

Part 1: Classification > Configuring QoS Policy Propagation via Border Gateway Protocol