I have been spending a lot of time recently debugging a variety of different Java applications (both for work and school). In school, I have been working on the three tiered system for distributed computing class. Fortunately, most of of the issues there have been caused by simple mistakes. However, the majority of the time, the issue requires tracking the flow between several (up to seven) different class files (which is a little time consuming sometimes).
At work, I have created two different applications for the L3-TAL implementation on the ASR-1004 ISG implementation project I have been working on. The first application is a pretty straightforward process which reads the output from the 'show arp' command on the router and creates an internal database for the tracking of IP to MAC address database. The second part of the application reads in the output from the 'show subscriber session' command (or 'show subscriber session identifier source-ip-address <address> <mask>') and removes the L2-TAL identifier (the MAC address) and then adds an appropriate L3-TAL identifier (IP Address). That process is working pretty well overall. The goal of this process is to allow the customer to switch from L2-TAL to L3-TAL without requiring the users to re-authenticate (or at least most of the users).
The second application is based on reading Cisco CNR log files looking for 'expired' and 'granted' lease logging messages. I was hoping to utilize a Syslog listening process (which is what I originally designed), but the Cisco CNR does not utilize syslog (or SNMP traps for that matter) for anything but significant messages (i.e. errors). So, I have had to re-write the application to utilize a recurring process that re-reads the log files periodically. This has added some significant inefficiencies to the system (having to read the same log files multiple times for example). The re-reading needs to occur within the interval of the DHCP lease holding to ensure that if a DHCP lease expires, another user will not be giving the IP address until after the subscriber manager (the Broadhop) is updated removing the IP address identifier.
No comments:
Post a Comment