[c-nsp] OSPF and iBGP session drops between 3640s
Steve Bertrand
steve at ibctech.ca
Tue Mar 24 11:44:43 EDT 2009
Robert Johnson wrote:
> Hello list,
> I have a small network with four 3640s. Each router has 128/32MB ram, and a
> single FE interface connected to a catalyst 2924. Two of the routers are
> running BGP, each with a session to a (single) other provider, and a session
> between themselves. These are not carrying full tables. All four routers are
> running OSPF between each other. The problem is that occasionally (from once
> a week to 3x/day) OSPF neighbor relationships will bounce due to hello
> timers expiring. Just recently the iBGP session between two of the routers
> also bounced.
>
> There do not appear to be any layer 1 or 2 connectivity problems that would
> cause this behavior. However, CPU usage on the 3640s seems high- 30%
> sustained and up to 90% peak, with only 1-2k max PPS. Also, I'm seeing
> buffer misses and failures.
>
> CEF is enabled. There are several relatively long access lists that are
> being processed, and the routers are doing QoS classifying and tagging at
> layers 2 and 3 for VoIP performance.
>
> Without any major hardware changes, where do I begin here?
The first thing that I would do is remove all of the common ACL "deny"
statements, and route all of those blocks to the discard interface
instead. You could also request a peering session with Team Cymru, and
they will feed to you the invalid routes dynamically.
Then, perhaps a basic configuration to measure if there is
excessive/unnecessary traffic making it to the receive interface(s).
This is a very basic one that I generally manipulate. It will allow and
count all, except for dropping everything in -DENY. Basically, I use it
as a counter, and then tweak to shape and drop traffic as the router
gains operational experience.
I find these methods quite effective in preserving resources in
older/lower end routers.
class-map match-all COPP-NORMAL
match access-group name COPP-NORMAL
class-map match-any COPP-DENY
match access-group name COPP-DENY
class-map match-all COPP-ROUTING
match access-group name COPP-ROUTING
class-map match-all COPP-REMAINING
match access-group name COPP-CATCHALL
!
policy-map COPP
class COPP-DENY
police 8000 1500 1500 conform-action drop exceed-action drop
class COPP-ROUTING
police 125000 1500 1500 conform-action transmit exceed-action transmit
class COPP-NORMAL
police 15000 1500 1500 conform-action transmit exceed-action transmit
class COPP-CATCHALL
police 8000 1500 1500 conform-action transmit exceed-action transmit
class class-default
police 8000 1500 1500 conform-action transmit exceed-action transmit
!
ip access-list extended COPP-DENY
permit tcp any any fragments
permit udp any any fragments
permit icmp any any fragments
permit ip any any fragments
ip access-list extended COPP-NORMAL
permit icmp any any echo
permit icmp any any echo-reply
permit icmp any any ttl-exceeded
permit icmp any any unreachable
permit icmp any any port-unreachable
permit icmp any any packet-too-big
permit udp host x.x.x.x any eq snmp
permit tcp x.x.x.x 0 0.0.7.255 any eq ssh
permit tcp x.x.x.x 0 0.0.0.7 eq ssh any established
ip access-list extended COPP-CATCHALL
permit ip any any
ip access-list extended COPP-ROUTING
permit tcp any gt 1024 any eq bgp
permit tcp any eq bgp any gt 1024 established
permit ospf x.x.x.x 0.0.0.3 any precedence internet
permit ospf any any precedence internet
control-plane
service-policy input COPP
Hope this helps,
Steve
More information about the cisco-nsp
mailing list