From: SourceForge.net <no...@so...> - 2006-12-30 11:16:41
|
Patches item #1623445, was opened at 2006-12-27 23:50 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312694&aid=1623445&group_id=12694 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Solaris routing table patch Initial Comment: On my Solaris box, which accepts connections from world, routing table consists of approx. 20k entries - 10 of them is static, and the rest is "cached". Of course, i see that there was only "200" entries per request allocated for MIB_IP_ROUTE, and because soo big difference, snmpd becomes ... slow. Very slow. Incresing this to some number >20k GREATLY improves performance!! I'm not shure why, but this works. Please note, that 20k is normal value for machine connected on public ip, receiving connections from whole world (and with default network settings). It would be nice to dinamicaly detect routing table size and allocate by that, instead of this "static" array ... The reason why routing table has +20k entries is that SunOS keeps cached routes togedher with static ones. On other OSes (linux, tru64, bsd ...) cached routes are keept separately. So, i order to mimic their behaviour (Linux, tru64, bsd ...) there must be condition which will select non-cached routes only. Attached file contains: - increased static array for routing entiries - one if condition which will filter out cached routing entries H. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2006-12-30 03:16 Message: Logged In: NO Hi! Unfortunately, my knoweledge of configure (and generaly gnu make/automake/autoconfigure) is, at best, low. I could try to "hack" something that will probably work (by copy/paste from some other check, i guess). So, let say that i can do that. I'll get to it when i find time. As making patch to "dinamialy" size routing table array, i'm lost. I just doesn't know how, in general, getting routing table work. I would take too much time for me to do this. I hope that there is someone who already know how this work, and probably can a lot faster (and correctly) do this. My current patch is result of try-error-read_man_page-try procedure. :-/ H. ---------------------------------------------------------------------- Comment By: Thomas Anders (tanders) Date: 2006-12-28 07:30 Message: Logged In: YES user_id=848638 Originator: NO The Right Thing to do (increasing the likelyhood/speed of getting it in) would probably be to: - adjust the first patch to a *dynamically* sized array - adjust the second patch to do configure tests for <inet/ip.h> and entry.ipRouteInfo.re_ire_type/IRE_CACHE rather than #ifdef solaris2 Would you be willing to work on improving the patch accordingly? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312694&aid=1623445&group_id=12694 |