[quagga-dev 1627] BGP Scalability Testing.
RAMARAJAN, ARVIND, ALABS
aramarajan at att.com
Thu Oct 14 14:26:56 IST 2004
Hi,
Does anyone on the list know any BGP Scalability [not functionality]
testing against Quagga. Here we are trying BGP session (number of
bgp peers) scalability test against Quagga (running on SUN Sparc 420R running
Debian Sparc 2.4.27 kernel, 4GB mem and 2 UtltraSparc CPUs). The BGP sessions
are generated using a Adtech Network tester/generator. We are hitting a dead
wall once the number of sessions hits 1024, b'coz of select() FD_SETSIZE (max 1024)
limit. Have tried different version of Quagga (from 0.96.5 to 0.97.1), no luck.
Here is the snippet from the bgpd.log:
2004/10/14 17:42:51 BGP: 10.74.0.9 [Event] Connect start to 10.74.0.9 fd 886
2004/10/14 17:43:15 BGP: 10.20.15.205 [Event] Connect start to 10.20.15.205 fd 1023
2004/10/14 17:43:15 BGP: 10.20.15.213 [Event] Connect start to 10.20.15.213 fd 1024
2004/10/14 17:43:15 BGP: select() error: Bad file descriptor
This apparently is spit from lib/thread.c
733 thread_fetch (struct thread_master *m, struct thread *fetch)
734 {
<snip>
780 num = select (FD_SETSIZE, &readfd, &writefd, &exceptfd, timer_wait);
781
782 if (num == 0)
783 continue;
784
785 if (num < 0)
786 {
787 if (errno == EINTR)
788 {
789 /* signal received */
790 quagga_sigevent_process ();
791 continue;
792 }
793
794 zlog_warn ("select() error: %s", strerror (errno));
795 return NULL;
796 }
Once it hits the select 1024 limit, bgpd just dies silently , no core dump (ulimit -c
unlimited; ulimit -n 2048)! Tried running from gdb does not produce any stacktrace!
Lastly tried to bypass the hardlimit by using as compile time option CFLAGS=-DMAXFDS=2048
also does not help. Has anyone done such testing or has reports of one. I know 1024 BGP
sessions sounds big, we want to get to 2048!
Thanx -->
Arvind.
Arvind Ramarajan
Tier IV, Technology Insertion
AT&T
200 Laurel Av. S
Room: C2-2B38
Middletown NJ - 07748
Phone: (732)-420-2243
Fax: (732)-368-1601
More information about the Quagga-dev
mailing list