Heya. > We've got a few special requirements that we're making mods to > RackTables directly to facilitate them. The first is a Port label > search. This is essentially an ability for us to search port labels > of switches for hostnames (something we put in the desc on our > Cisco's). I've attached a patch which includes port label searching > in the default search. Ok, let me explain something perhaps not told elsewhere. A label of a port is something, that distinguishes it from other ports from the operator's point of view. This is usually "1X", "2X", "3" or "slot 10 port 20". IOW, it is the numbering, that OEM permanently attaches to the outer side of the hardware. When one wants to show, that the port is occupied by something, there are two ways to do this: 1. Having all the necessary objects created (all switches, all servers), just link the ports. This is the right way in many cases, and hostname search would work without any additional efforts. A linked port cannot be mistakenly linked again, and the relation can be easily followed in both directions (from switch to server and from server to switch). 2. If the remote side is beyond of local administrative scope (customer server, peering network, etc), "reserve" the port. This is done by filling in the input field in "(Un)link or (un)reserve" port manager column. Reserved ports cannot be "linked" until they are freed up. Extending the search function to cover contents of this column is a good idea though. A useful feature for people, that use patterns like yours (having something put into port description for all busy ports) would be an ability to import those descriptions from the switch and to convert them into "reservations" selectively. I would suggest you considering this. > More patches will be forthcoming with the most notable one an 'auto > populator' for Cisco switches that logs in, discovers all ports & > discovers (via cdp) interlinked ports then inserts all the relevant > details directly into the RackTables database. There's already some code, which does some port mining via SNMP. If you decide to do the CDP part, consider implementing it as another tab on the "object" page, which would find the difference from the listed connections and those discovered by CDP. The result would be presented to the user to allow him picking for import connections guessed correctly. This way the procedure could be repeated, when necessary. A sample of this approach is the "Live PTR" tab for IP networks. I hope it will help you to save some efforts and to fit the result into codebase better. And another point, the indentation used to be done with tabs (best width is 2), not spaces. Let me know, if you want to know anything else. -- DO4-UANIC