[c-nsp] Prioritizing Software generated traffic like BGP on Cisco 4500x IOS-XE
Nilesh Khambal
nkhambal at apple.com
Thu May 5 21:27:01 EDT 2016
Hello,
I have a wan link which is shaped at 200Mbps. It is configured as L2 Port channel trunk on a 10GE interface
interface TenGigabitEthernet1/10
switchport trunk allowed vlan 912,913
switchport mode trunk
bandwidth 200000
speed nonegotiate
channel-group 11 mode on
service-policy output shape-wan-200-meg
!
class-map match-all class1
match any
!
policy-map shape-wan-200-meg
class class1
shape average 200000000
!
I am running BGP over L3 SVI over this link. My objective is to prioritize BGP packets over other data packets going over this shaped link to keep the control plane stable in the event of congestion.
What I read in documentation is that, “software generated” packets in 4500x are marked with CS6 dscp marking. I also see that in the tcpdump for the BGP packets sent and received over this link. When I created a policy-map similar to this, it somehow does not seem to match on dscp cs6 packets.
<—— Below output is from lab router with similar configuration where I am trying to test this policy.
class-map match-all match-bgp
match ip dscp cs6
match access-group 100
!
policy-map priority-bgp
class match-bgp
priority
class class-default
shape average 200000000
!
interface TenGigabitEthernet1/1
switchport trunk allowed vlan 50
switchport mode trunk
service-policy output priority-bgp
!
interface Vlan50
ip address x.y.159.1 255.255.255.0
!
access-list 100 permit tcp any any eq bgp
access-list 100 permit tcp any eq bgp any
!
Cisco1#show policy-map interface tenGigabitEthernet 1/1
TenGigabitEthernet1/1
Service-policy output: priority-bgp
queue stats for all priority classes:
Queueing
queue limit
(queue depth/total drops) 0/0
(bytes output) 0
Class-map: match-bgp (match-all)
0 packets <<<< Not matching any packets here
Match: ip dscp cs6 (48)
Match: access-group 100
Priority: Strict, b/w exceed drops: 0
Class-map: class-default (match-any)
189 packets <<<< Only this counter increments.
Match: any
Queueing
queue limit 3072 packets
(queue depth/total drops) 0/0
(bytes output) 0
shape (average) cir 200000000, bc 800000, be 800000
target shape rate 200000000
Cisco1#
As you can see, it is not matching cs6 dscp packets.
This is the IP header of the BGP packet captured. It does have cs6 priority set.
Internet Protocol Version 4, Src: x.y.159.1, Dst: x.y.159.3
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes
Differentiated Services Field: 0xc0 (DSCP: CS6, ECN: Not-ECT)
1100 00.. = Differentiated Services Codepoint: Class Selector 6 (48)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 59
Identification: 0x3f2b (16171)
Flags: 0x02 (Don't Fragment)
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment offset: 0
Time to live: 1
[Expert Info (Note/Sequence): "Time To Live" only 1]
["Time To Live" only 1]
[Severity level: Note]
[Group: Sequence]
Protocol: TCP (6)
Header checksum: 0xd5cd [validation disabled]
[Good: False]
[Bad: False]
Source: x.y.159.1
Destination: x.y.159.3
[Source GeoIP: Unknown]
[Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 179 (179), Dst Port: 1033 (1033), Seq: 1, Ack: 1, Len: 18
Source Port: 179
Destination Port: 1033
[Stream index: 0]
[TCP Segment Len: 18]
Sequence number: 1 (relative sequence number)
[Next sequence number: 19 (relative sequence number)]
Acknowledgment number: 1 (relative ack number)
Header Length: 20 bytes
.... 0000 0001 1000 = Flags: 0x018 (PSH, ACK)
000. .... .... = Reserved: Not set
...0 .... .... = Nonce: Not set
.... 0... .... = Congestion Window Reduced (CWR): Not set
.... .0.. .... = ECN-Echo: Not set
.... ..0. .... = Urgent: Not set
.... ...1 .... = Acknowledgment: Set
.... .... 1... = Push: Set
.... .... .0.. = Reset: Not set
.... .... ..0. = Syn: Not set
.... .... ...0 = Fin: Not set
[TCP Flags: *******AP***]
Window size value: 16213
[Calculated window size: 16213]
[Window size scaling factor: -1 (unknown)]
Checksum: 0x96c1 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
Urgent pointer: 0
[SEQ/ACK analysis]
[Bytes in flight: 18]
[Timestamps]
[Time since first frame in this TCP stream: 0.000000000 seconds]
[Time since previous frame in this TCP stream: 0.000000000 seconds]
TCP segment data (18 bytes)
Has anyone done this type of configuration or can point me to a configuration example which shows such configuration? This is the release I am using
Cisco1#show version
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.05.01.E RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2013 by Cisco Systems, Inc.
Compiled Sat 23-Nov-13 00:13 by prod_rel_team
<..>
Thanks,
Nilesh.
More information about the cisco-nsp
mailing list