BGP na ASR i brak pamięci

Problemy związane z routingiem

Moderatorzy: mikrobi, aron, garfield, gangrena, Seba

Wiadomość
Autor
Awatar użytkownika
nell
wannabe
wannabe
Posty: 188
Rejestracja: 10 maja 2009, 12:17

BGP na ASR i brak pamięci

#1

#1 Post autor: nell » 02 lis 2019, 09:15

Cześć. Mam taki problem, nie mogę zestawić sesji BGP z dwoma peerami. Router mi się wywala niby z powodu braku pamięci, ale mam na nim 12GB ram, więc nie bardzo rozumiem o co chodzi.

Kod: Zaznacz cały

*Nov  2 07:44:38.922: %BGP-5-ADJCHANGE: neighbor 130.122.12.11 Up
*Nov  2 07:44:44.004: %BGP-5-ADJCHANGE: neighbor 46.1.138.17 Up
*Nov  2 07:44:45.231: %SSH-4-SSH2_UNEXPECTED_MSG: Unexpected message type has arrived. Terminating the connection from 112.85.42.195
*Nov  2 07:45:02.149: %SYS-2-MALLOCFAIL: Memory allocation of 65484 bytes failed from 0x7FC85DBDD778, alignment 8
Pool: Processor  Free: 636560  Cause: Memory fragmentation
Alternate Pool: None  Free: 0  Cause: No Alternate pool
 -Process= "BGP Router", ipl= 0, pid= 479
-Traceback= 1#622e2bb326a305de0a71c73fcf92cc5c  :7FC85316F000+AA63E9E :7FC85316F000+AA5F69C :7FC85316F000+AA5A2DA :7FC85316F000+AA6E778 :7FC85316F000+108ABFB6 :7FC85316F000+6790AAF :7FC85316F000+690BDBB :7FC85316F000+6907CB3 :7FC85316F000+679F16F :7FC85316F000+67B03D1 :7FC85316F000+679E301
*Nov  2 07:45:02.152: %RADIX-3-ADDMASK: Error adding mask entry, mask for route not entered -Process= "BGP Router", ipl= 0, pid= 479
-Traceback= 1#622e2bb326a305de0a71c73fcf92cc5c  :7FC85316F000+108AC0E5 :7FC85316F000+6790AAF :7FC85316F000+690BDBB :7FC85316F000+6907CB3 :7FC85316F000+679F16F :7FC85316F000+67B03D1 :7FC85316F000+679E301
*Nov  2 07:45:02.156: %BGP-3-NOTIFICATION: sent to neighbor 46.1.138.17 3/1 (update malformed) 0 bytes
*Nov  2 07:45:02.156: %BGP-4-MSGDUMP: unsupported or mal-formatted message received from 46.1.138.17:
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 004A 0200 0000 2B40 0101 0040 0216 0205
0000 AF72 0000 89F8 0000 6171 0000 6171 0000 6171 4003 044E 1C28 79E0 0804 2161
89F8 15B0 2008 16B9 D5E8
*Nov  2 07:45:02.156: %BGP-4-BGP_OUT_OF_MEMORY: BGP resetting because of memory exhaustion.
*Nov  2 07:45:04.192: %BGP-5-ADJCHANGE: neighbor 46.1.138.17 Down BGP Notification sent
*Nov  2 07:45:04.192: %BGP_SESSION-5-ADJCHANGE: neighbor 46.1.138.17 IPv4 Unicast topology base removed from session  BGP Notification sent
*Nov  2 07:45:04.192: %BGP-5-ADJCHANGE: neighbor 130.122.12.11 Down No memory
*Nov  2 07:45:04.192: %BGP_SESSION-5-ADJCHANGE: neighbor 130.122.12.11 IPv4 Unicast topology base removed from session  No memory
*Nov  2 07:45:14.422: %BGP-5-ADJCHANGE: neighbor 46.1.138.17 Up
*Nov  2 07:45:16.081: %BGP-5-ADJCHANGE: neighbor 130.122.12.11 Up
*Nov  2 07:45:35.684: %SYS-2-MALLOCFAIL: Memory allocation of 65540 bytes failed from 0x7FC85DBDD778, alignment 8
Pool: Processor  Free: 29888  Cause: Not enough free memory
Alternate Pool: None  Free: 0  Cause: No Alternate pool
 -Process= "BGP Router", ipl= 0, pid= 479
-Traceback= 1#622e2bb326a305de0a71c73fcf92cc5c  :7FC85316F000+AA63E9E :7FC85316F000+AA5F69C :7FC85316F000+AA5A2DA :7FC85316F000+AA6E778 :7FC85316F000+682A3E0 :7FC85316F000+67909B3 :7FC85316F000+690BDBB :7FC85316F000+6907CB3 :7FC85316F000+679F16F :7FC85316F000+67B03D1 :7FC85316F000+679E301
*Nov  2 07:45:35.686: %BGP-3-NOTIFICATION: sent to neighbor 46.1.138.17 3/1 (update malformed) 0 bytes
*Nov  2 07:45:35.686: %BGP-4-MSGDUMP: unsupported or mal-formatted message received from 46.1.138.17:
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00B0 0200 0000 4B40 0101 0040 0216 0205
0000 AF72 0000 0D1C 0000 1935 0000 2466 0000 25AC 4003 044E 1C28 79C0 0824 0D1C
0002 0D1C 0016 0D1C 0056 0D1C 0201 0D1C 029A 0D1C 0824 1935 03E8 1935 0514 1935
0516 13CB E2C0 14CB E2E0 15CB E2F0 16CB E2F8 13CB EC00 15CB EC20 16CB EC28 14D3
6FB0 13D3 7300 11D3 BC80 12D3 EA80 13D3 EAC0 16D3 EAF4 15D3 EAF8 12D3 EB40 12D3
EB80 14D3 EAE0 11D3 F080 10DC 670B DF20
*Nov  2 07:45:35.687: %BGP-4-BGP_OUT_OF_MEMORY: BGP resetting because of memory exhaustion.
*Nov  2 07:45:37.750: %BGP-5-ADJCHANGE: neighbor 46.1.138.17 Down BGP Notification sent
*Nov  2 07:45:37.750: %BGP_SESSION-5-ADJCHANGE: neighbor 46.1.138.17 IPv4 Unicast topology base removed from session  BGP Notification sent
*Nov  2 07:45:37.750: %BGP-5-ADJCHANGE: neighbor 130.122.12.11 Down No memory
*Nov  2 07:45:37.750: %BGP_SESSION-5-ADJCHANGE: neighbor 130.122.12.11 IPv4 Unicast topology base removed from session  No memory
Konfiguracja BGP

Kod: Zaznacz cały

router bgp 301517
 bgp router-id 91.234.44.254
 no bgp transport path-mtu-discovery
 bgp log-neighbor-changes
 neighbor 46.1.138.17 remote-as 44914
 neighbor 46.1.138.17 transport connection-mode active
 neighbor 130.122.12.11 remote-as 5588
 !
 address-family ipv4
  network 91.234.44.254 mask 255.255.255.0
  neighbor 46.1.138.17 activate
  neighbor 46.1.138.17 prefix-list Trans out
  neighbor 130.122.12.11 activate
  neighbor 130.122.12.11 prefix-list Trans out
 exit-address-family
Zauważyłem, że jak wykonam polecenie

Kod: Zaznacz cały

show memory summary
                Head    Total(b)     Used(b)     Free(b)   Lowest(b)  Largest(b)
Processor  7FC7C618C010   1091029632   684435088   406594544       20704    29014316
 lsmpi_io  7FC7C59891A8     6295128     6294304         824         824         412
Critical   7FC7DD4CD998   263470084          92   263469992   263469992   263469992
to mam tylko 1GB Ram dla CPU, czy da się to jakoś zwiększyć ? Bo chyba to jest przyczyną.
bo kiedy podczas ładowania tablic od sąsiadów wykonywałem cyklicznie

Kod: Zaznacz cały

show memory summary
to pamięć się kończyła rzeczywiście....

Kod: Zaznacz cały

ASR1k1(config)#do sh mem summary
                Head    Total(b)     Used(b)     Free(b)   Lowest(b)  Largest(b)
Processor  7FB13205A010   1091029632   765143780   325885852        1448    26579580
 lsmpi_io  7FB1318571A8     6295128     6294304         824         824         412



ASR1k1(config)#do sh mem summary
                Head    Total(b)     Used(b)     Free(b)   Lowest(b)  Largest(b)
Processor  7FB13205A010   1091029632   948081040   142948592        1448    20195884
 lsmpi_io  7FB1318571A8     6295128     6294304         824         824         412



ASR1k1(config)#do sh mem summary
                Head    Total(b)     Used(b)     Free(b)   Lowest(b)  Largest(b)
Processor  7FB13205A010   1091029632   1047791796    43237836        1448    14048724
 lsmpi_io  7FB1318571A8     6295128     6294304         824         824         412

Co mogę zrobić z tym fantem ?

Awatar użytkownika
drake
CCIE
CCIE
Posty: 1488
Rejestracja: 06 maja 2005, 01:32
Lokalizacja: Dortmund, DE
Kontakt:

Re: BGP na ASR i brak pamięci

#2

#2 Post autor: drake » 02 lis 2019, 09:17

TAC Case, bo moze akurat trafiasz w jakis Bug, ktory powoduje zuzycie calej pamieci.

Pozdruffka!
Never stop exploring :)

https://iverion.de

Awatar użytkownika
nell
wannabe
wannabe
Posty: 188
Rejestracja: 10 maja 2009, 12:17

Re: BGP na ASR i brak pamięci

#3

#3 Post autor: nell » 02 lis 2019, 09:34

Tutaj widziałem, że ktoś miał podobny problem, ale nie napisał wprost jak zmienił ustawienie buforów które powodowały problemy,
viewtopic.php?t=24175

lbromirs
CCIE
CCIE
Posty: 4018
Rejestracja: 30 lis 2006, 08:44

Re: BGP na ASR i brak pamięci

#4

#4 Post autor: lbromirs » 02 lis 2019, 17:00

Pokaż na początek 'sh version'. Ile masz fizycznego RAMu na tym ASRze?

Następnie sprawdź, czy nie masz przypadkiem włączonej redundancji w sofcie (jeśli to nie jest ASR 1k z dwoma RSP).

Wykonaj 'sh redundancy' i sprawdź czy masz

Kod: Zaznacz cały

!
redundancy
 mode none
!

Awatar użytkownika
nell
wannabe
wannabe
Posty: 188
Rejestracja: 10 maja 2009, 12:17

Re: BGP na ASR i brak pamięci

#5

#5 Post autor: nell » 11 lis 2019, 17:38

Dzięki za pomoc, ASR ma 12GB RAM, ale wygląda na to, że FIB ASR'a to 1 000 000 prefixów ipv4, więc wyciąłem cześć prefiksów as-path'em

Kod: Zaznacz cały

ip as-path access-list 44 permit ^[0-9]+$
ip as-path access-list 44 permit ^[0-9]+_[0-9]+$
ip as-path access-list 44 permit ^[0-9]+_[0-9]+_[0-9]+$
ip as-path access-list 44 permit ^[0-9]+_[0-9]+_[0-9]+_[0-9]+$
ip as-path access-list 44 permit ^$
lbromis, czy jest tak rzeczywiście, że RAM nie ma znaczenia jeśli przekroczysz 1mln prefiksów ? Zawsze się wysypie ?

lbromirs
CCIE
CCIE
Posty: 4018
Rejestracja: 30 lis 2006, 08:44

Re: BGP na ASR i brak pamięci

#6

#6 Post autor: lbromirs » 11 lis 2019, 22:49

nell pisze:
11 lis 2019, 17:38
Dzięki za pomoc, ASR ma 12GB RAM, ale wygląda na to, że FIB ASR'a to 1 000 000 prefixów ipv4, więc wyciąłem cześć prefiksów as-path'em

Kod: Zaznacz cały

ip as-path access-list 44 permit ^[0-9]+$
ip as-path access-list 44 permit ^[0-9]+_[0-9]+$
ip as-path access-list 44 permit ^[0-9]+_[0-9]+_[0-9]+$
ip as-path access-list 44 permit ^[0-9]+_[0-9]+_[0-9]+_[0-9]+$
ip as-path access-list 44 permit ^$
lbromis, czy jest tak rzeczywiście, że RAM nie ma znaczenia jeśli przekroczysz 1mln prefiksów ? Zawsze się wysypie ?
FIB to FIB, RIB to RIB. RAM trzyma RIB, FIB jest w ESP. Nie odpowiedziałeś czy sprawdziłeś redundancję - przy 12GB włożonych fizycznie (który to RSP/ASR konkretnie?), powinieneś mieć minimum ok. 6GB RAMu przy wyłączonej redundancji. W twoich zrzutach widzę 1GB wolnego RAMu i ok. 680MB zanim zaczniesz robić test. Coś ewidentnie masz skonfigurowane, co zabiera już na starcie RAM, albo... nie masz wcale 12GB.

Komunikaty z logów na początku wskazują na wyczerpanie RAMu, nie ESP/FIBu. Pokaż dla pewności 'sh version' a potem 'show proc mem sorted'.

ODPOWIEDZ