5.5 Solaris 10 : Segmentation fault when more than 15 interfaces

"Eric Doan" <[email protected]>
Newsgroups gmane.network.net-snmp.user
Message-ID <[email protected]>
Hello,

Net-SNMP 5.5
Solaris 10 global zone

I am experiencing a segmentation fault at snmpd startup when solaris is
configured with more than 15-16 NICs.

- My box setup :

lo0
bge0:
bge1: with subinterfaces bge1:1 to bge1:12
bge2: with subinterfaces bge2:1 to bge1:4

- Everything is fine with 16 subinterfaces, 3 NIC and the loopback, we can
start agents :

/usr/local/sbin/snmpd -C -c /opt/snmp-proxy/agents/RTR_J001.agent.conf -I
usmConf,vacm_conf,usmUser,snmpEngine,pass_persist,proxy,pass,vacm_vars,snmp_
mib,iquery,extend

ps -ef | grep RTR_J001
    root 11254  7370   0 12:01:12 pts/5       0:00 grep RTR_J001
    root 11215     1   0 12:00:50 ?           0:00 /usr/local/sbin/snmpd -C
-c /opt/snmp-proxy/agents/RTR_J001.agent.conf -I usmCo

So snmpd startup is OK.

- Kill the process

kill 11215 

- Add another interface gives the following error :

ifconfig bge2 addif 10.34.56.78/24 up
	Created new logical interface bge2:5
ifconfig -a | grep bge2:5:
	bge2:5: flags=1000883<UP,BROADCAST,NOARP,MULTICAST,IPv4> mtu 1500
index 4

/usr/local/sbin/snmpd -C -c /opt/snmp-proxy/agents/RTR_J001.agent.conf -I
usmConf,vacm_conf,usmUser,snmpEngine,pass_persist,proxy,pass,vacm_vars,snmp_
mib,iquery,extend
Segmentation Fault (core dumped)

- Truss ouput (partial) :

truss -i -o /tmp/truss.out -t\!stat,getmsg /usr/local/sbin/snmpd -C -c
/opt/snmp-proxy/agents/RTR_J001.agent.conf -I
usmConf,vacm_conf,usmUser,snmpEngine,pass_persist,proxy,pass,vacm_vars,snmp_
mib,iquery,extend


open("/dev/bge1", O_RDWR|O_NONBLOCK)            = 8
putmsg(8, 0xFFBF4DB8, 0x00000000, 0)            = 0
putmsg(8, 0xFFBF4D40, 0x00000000, 0)            = 0
close(8)                                        = 0
ioctl(7, KSTAT_IOC_READ, "bge1")                = 802
ioctl(7, KSTAT_IOC_READ, "bge1")                = 802
...
ioctl(7, KSTAT_IOC_READ, "bge1")                = 802
ioctl(7, KSTAT_IOC_READ, "bge1")                = 802
ioctl(7, KSTAT_IOC_READ, "bge1")                = 802
ioctl(7, KSTAT_IOC_READ, "bge1")                = 802
ioctl(7, KSTAT_IOC_READ, "bge1")                = 802
ioctl(6, SIOCGLIFFLAGS, 0xFFBF4DD0)             = 0
ioctl(6, SIOCGLIFMTU, 0xFFBF4DD0)               = 0
open("/dev/bge2", O_RDWR|O_NONBLOCK)            = 8
putmsg(8, 0xFFBF4DB8, 0x00000000, 0)            = 0
putmsg(8, 0xFFBF4D40, 0x00000000, 0)            = 0
close(8)                                        = 0
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "kstat_headers")       = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "kstat_headers")       = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "kstat_headers")       = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "kstat_headers")       = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
ioctl(7, KSTAT_IOC_READ, "bge2")                = 802
close(6)                                        = 0
open("/dev/arp", O_RDWR)                        = 6
ioctl(6, I_PUSH, "tcp")                         = 0
ioctl(6, I_PUSH, "udp")                         = 0
putmsg(6, 0xFFBF4F20, 0x00000000, 0)            = 0
ioctl(6, I_FLUSH, FLUSHRW)                      = 0
    Incurred fault #6, FLTBOUNDS  %pc = 0xFF3A0B54
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000001
    Received signal #11, SIGSEGV [default]
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000001


I have seen in patch 2012404 that net-snmp was limited at 10 interfaces and
was upgraded to 50  so I made sure that thoses (MIB_INTERFACES, 50) was in
kernel_sunos5.c. 
I am not sure where to go next, could someone advise ?

I will need to run around 300 snmpd's on the same box to provide transparent
proxying with minimal agents. 
Everything is fine with 5.4 but we want to upgrade to 5.5 for memory leaks
and 64-bit support in pass.

Alternatively, do you think it is possible to revert to 5.4 and add patch
1657741 ?

Regards.


------------------------------------------------------------------------------

_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.