Characterizing Network Interfaces
We have now leveraged the legacy code so that it is accessible from our new C++ application. Let's now use this code to look at some interface information. In Listing 4, we call façade.exe in WALK mode (Listing 4 illustrates an excerpt from the full walk). This gives us a complete listing of the details of the three network interfaces on this platform. Each line in Listing 4 is structured as a variable/value pair. The variable describes the object of interest, and the value line provides the associated value of that object in the device.
Listing 4 Retrieving Interface Details from a Device
Facade>debug\façade WALK MyHostPC public .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.1 Variable = interfaces.ifTable.ifEntry.ifIndex.1 Value = INTEGER - 1 Variable = interfaces.ifTable.ifEntry.ifIndex.2 Value = INTEGER - 2 Variable = interfaces.ifTable.ifEntry.ifIndex.3 Value = INTEGER - 3 Variable = interfaces.ifTable.ifEntry.ifDescr.1 Value = OCTET STRING - MS TCP Loopback interface Variable = interfaces.ifTable.ifEntry.ifDescr.2 Value = OCTET STRING - Xircom Ethernet 10/100 + Modem 56 PC Card Variable = interfaces.ifTable.ifEntry.ifDescr.3 Value = OCTET STRING - NdisWan Adapter Variable = interfaces.ifTable.ifEntry.ifType.1 Value = INTEGER - 24 Variable = interfaces.ifTable.ifEntry.ifType.2 Value = INTEGER - 6 Variable = interfaces.ifTable.ifEntry.ifType.3 Value = INTEGER 23
Again, we're looking under the hood here! Normally, this level of information is hidden to some extent by a network management system. So, the data in Listing 4 would usually be passed into platform discovery/inventory codeand from there into a database for storage. Once stored, a subset of the interface details can be presented to the user (for example, in Figure 1, interface "a" on the PE router "LER A"). This interface receives a lot of traffic, specifically voice-over-IP and video-over-IP. These are real-time services, so it's essential that the ingress interface "a" not become congested and start dropping packets. This is one reason why a network manager might be interested in keeping an eye on the various network interfaces.