Erlang BGP daemon
I'm writing a BGP daemon in Erlang .
It can connect, parse update packets and announce routes.
I started up an old Cisco 2620
router and sent route announcement to it until it cried:
%SYS-2-MALLOCFAIL: Memory allocation of 65536 bytes failed from 0x8046F3C8,
Pool: Processor Free: 79840 Cause: Memory fragmentation
Alternate Pool: None Free: 0 Cause: No Alternate pool
-Process= "BGP Router", ipl= 0, pid= 84
-Traceback= 804733A4 804754C8 8046F3CC 80851CDC 8081C7D8 80832848 80832F3C 8
%BGP-5-ADJCHANGE: neighbor 172.16.x.x Down No memory
Muhahahaha!
The program:
git clone git://github.com/ThomasHabets/eggpd.git
Update later that night
I flooded the 2620 again for
a few minutes and then disconnected the peer. It stopped
responding. Well almost. It answers to ping (17 % packet loss), and my
existing telnet session seems to be working somewhat, although there
is a delay of about 10 minutes between ...