ExtremeSwitching (EXOS)

  • 1.  Blackdiamond lack of memory with BGP

    Posted 03-09-2017 15:38
    Hello!

    I am experiencing some issues with Blackdiamond and BGP.
    I have 2 iBGP and 2 eBGP peers for IPV4 and the same for IPv6 (8 BGP peers total). From eBGP peers I receive full routing (> 600k IPv4 routes).
    With this setup memory usage is very high and sometimes the switch reboots due lack of memory.
    Is there any configuration to reduce memory usage, specially to rtmgr process? Or disable other processes? Or any other ideas possibly involving filtering received routes and reduce memory consumption.

    Thanks in advance.

    8900-G48X-xl
    XOS 16.1.3.6

    I've made the following config on the switch:

    configure forwarding external-tables l3-only ipv4-and-ipv6
    configure iproute reserved-entries maximum slot 2
    [/code]

    sh memory
    System Memory Information
    -------------------------
    MSM-A Total DRAM (KB): 1048576
    MSM-A System (KB): 40152
    MSM-A User (KB): 918992
    MSM-A Free (KB): 89432

    Memory Utilization Statistics
    -----------------------------

    Card Slot Process Name Memory (KB)
    ---------------------------------------
    MSM-A A aaa 4160
    MSM-A A acl 3064
    MSM-A A bfd 2040
    MSM-A A bgp 372484
    MSM-A A brm 1876
    MSM-A A cfgmgr 3316
    MSM-A A cli 18812
    MSM-A A devmgr 2060
    MSM-A A dirser 1456
    MSM-A A dosprotect 1552
    MSM-A A dot1ag 2580
    MSM-A A eaps 2416
    MSM-A A edp 2108
    MSM-A A elrp 2072
    MSM-A A elsm 2032
    MSM-A A ems 3780
    MSM-A A epm 2604
    MSM-A A erps 2524
    MSM-A A esrp 2316
    MSM-A A etmon 5116
    MSM-A A exacl 0
    MSM-A A exdhcpsnoop 0
    MSM-A A exdos 0
    MSM-A A exfib 0
    MSM-A A exfipSnoop 0
    MSM-A A exosmc 0
    MSM-A A exosq 0
    MSM-A A exsflow 0
    MSM-A A exsnoop 0
    MSM-A A exsshd 1876
    MSM-A A exvlan 0
    MSM-A A fcoe 2160
    MSM-A A fdb 3336
    MSM-A A hal 54828
    MSM-A A hclag 2076
    MSM-A A idMgr 4432
    MSM-A A ipSecurity 2260
    MSM-A A ipfix 2116
    MSM-A A isis 2644
    MSM-A A lacp 2484
    MSM-A A lldp 2248
    MSM-A A mcmgr 3404
    MSM-A A mpls 0
    MSM-A A mrp 2300
    MSM-A A msdp 2208
    MSM-A A netLogin 2448
    MSM-A A netTools 5796
    MSM-A A nettx 0
    MSM-A A nodemgr 1624
    MSM-A A ntp 2040
    MSM-A A ospf 2908
    MSM-A A ospf-3 3240
    MSM-A A ospfv3 2876
    MSM-A A ospfv3-3 2952
    MSM-A A pim 3164
    MSM-A A poe 2156
    MSM-A A polMgr 1928
    MSM-A A pwmib 1592
    MSM-A A rip 2524
    MSM-A A r.png 2228
    MSM-A A rtmgr 265872
    MSM-A A snmpMaster 4260
    MSM-A A snmpSubagent 4912
    MSM-A A stp 2596
    MSM-A A techSupport 2164
    MSM-A A telnetd 2256
    MSM-A A tftpd 1444
    MSM-A A thttpd 2624
    MSM-A A trill 0
    MSM-A A twamp 1680
    MSM-A A upm 2216
    MSM-A A vlan 3700
    MSM-A A vmt 2712
    MSM-A A vrrp 2248
    MSM-A A vsm 2316
    MSM-A A xmlc 2336
    MSM-A A xmld 4700
    [/code]



  • 2.  RE: Blackdiamond lack of memory with BGP

    Posted 03-09-2017 16:17
    One way would be:
    configure neighbor 1.2.3.4 maximum-prefix 400000 threshold 90

    (only accept 400K routes from neighbor 1.2.3.4, make a warning log entry when we get to 90%)

    Another possibility is to only accept routes of a certain length - that way you don't get a million /24 entries clogging up your routes. For instance a policy "BGP-in-filter"
    entry DenySmall4 {
    if {
    nlri any/16;
    } then {
    deny;
    }
    }

    entry PermitRest {
    if {
    } then {
    permit;
    }
    }[/code]
    can be applied via
    configure bgp neighbor 1.2.3.4 route-policy in BGP-in-filter

    and should drop anything from a /16 to /24 (and you'd still receive your default-route 0.0.0.0/0)

    You can use both, policy and "cutoff", btw.

    After that, I'd suggest to still keep a close eye on CPU utilization (bgp process) when a neighbor dies/comes back.

    Frank

    P.S.: Oh, I'm assuming you're already using route-compression ;)


  • 3.  RE: Blackdiamond lack of memory with BGP

    Posted 03-09-2017 16:34
    Hi Frank,

    Thanks for reply.
    Yes, I am using route-compression, your assumption is correct!

    I will do some filtering as suggested and see what happens. I was thinking in something like this to solve my problem.