[c-nsp] sup720 RP CPU utilisation with >20k adjacencies / IPv6 ND load?
Phil Mayers
p.mayers at imperial.ac.uk
Thu May 31 10:01:52 EDT 2012
All,
We route our edge networks on 6500s with a pretty high density of 1G
ports to edge switches.
In the last week or so, we've seen a spike in RP CPU utilisation. This
has coincided with AAAA records being installed on Facebook and some of
our internal services, in preparation for world IPv6 rollout on Jun 6.
Effectively, although all our edge networks were IPv6-enabled, few
clients lived in the neighbour table because there was little IPv6
traffic; this has now changed, and from what I can see, most of the CPU
is going on neighbour table & IPv4/ARP table maintenance. On a typical
router:
CPU utilization for five seconds: 71%/15%; one minute: 71%; five
minutes: 70%
...and:
5Sec 1Min 5Min TTY Process
12.15% 12.51% 12.37% 0 IPv6 ND
10.71% 11.07% 10.99% 0 ARP Input
5.51% 6.57% 6.51% 0 IPv6 Input
3.51% 3.29% 3.33% 0 CEF: IPv4 proces
3.03% 2.93% 2.92% 0 IP Input
2.95% 2.89% 2.84% 0 Earl NDE Task
A typical SVI config looks like this:
interface Vlan202
vrf forwarding PROD
ip address 192.168.202.254 255.255.255.0
ip verify unicast source reachable-via rx
no ip proxy-arp
ip flow ingress
standby version 2
standby 0 ip 192.168.202.1
standby 1 ipv6 autoconfig
ipv6 nd prefix 2001:db8:1:100::/64 900 600
ipv6 nd router-preference High
ipv6 traffic-filter IPV6_EDGE_NET_IN in
arp timeout 1200
Note that we are *not* using "ipv6 address", but rather specifying the
nd prefix only; since we would want to set the timers in any event, we
figured why bother with the address (we don't care about it for
debugging or static hosts - these are edge networks, with everything
using SLAAC).
The box has a fair number of adjacencies:
#sh mls cef adjacency usage
Adjacency Table Size: 1048576
ACL region usage: 3
Non-stats region usage: 132
Stats region usage: 26881
Total adjacency usage: 27016
...and we see the CPU utilisation roughly track the number of adjacencies.
My question is: is there anything we can tweak to reduce the amount of
CPU time spend in IPv6 ND (and maybe IPv4 ARP) maintenance? Obviously we
can increase the arp timeout on IPv4 - is there an equivalent for IPv6?
How does IOS behave w.r.t. ND table maintenance - when does it send NS
messages to refresh the cache?
IOS is 12.2(33)SXJ and it looks like the enhanced neighbour cache
commands are not in this version of IOS :o(
Any suggestions?
More information about the cisco-nsp
mailing list