Smarts IP 9.2.2: How to turn off aggregate port discovery and discover aggregate ports as Interfaces as Smarts IP 8.x did for Cisco devices
search cancel

Smarts IP 9.2.2: How to turn off aggregate port discovery and discover aggregate ports as Interfaces as Smarts IP 8.x did for Cisco devices

book

Article ID: 331986

calendar_today

Updated On:

Products

VMware Smart Assurance

Issue/Introduction

Symptoms:


This article explains how to turn off aggregate port discovery in Smarts IP Manager 9.2.2 so that it behaves as Smarts IP 8.x did for Cisco Devices, where aggregate ports were discovered as Interfaces.

Smarts IP Manager version 9.2.2 discovers aggregate ports as port objects and does not instrument them for fault monitoring, unless the aggregate port object can be determined to be physically connected to another aggregate port on another device in the topology where Smarts would then create an AggregateLink.  If the other end of the AggregateLink is not in the Smarts IP Manager topology or cannot be discovered for some reason, this AggreateLink will never be created, which means the aggregate port will not be instrumented for fault monitoring by default unless set to EXPLICITLY_MANAGED. 

In Smarts IP Manager 8.x, objects which are discovered as aggregate port objects in Smarts IP Manager 9.2.2, are discovered as Interfaces instead, and are always instrumented for fault monitoring. Depending on the device, this may be the more desired behavior than the default behavior in Smarts IP Manager 9.2.2.

Example: Smarts IP 8.x
The following shows Smarts IP Manager 8.x discovery where index 106 is made up of indexes 5, 55, 56, 57, and 6, and 106 is discovered as an Interface:



In the above example, index 106 will be instrumented for fault monitoring by default along with index 5, 55, 56, 57, and 6, since they are all interfaces.

Example: Smarts IP 9.2.2 LACP discovery
The following example shows LACP discovery of the same index 106 above, but the index is discovered as an AggregatePort instead:



In the above example, since the AggregatePort is not determined to be connected to another AggregatePort in the topology, no AggregateLink is created. Because of this, only the Interface indexes of 5, 55, 56, 57, and 6 would be instrumented for fault monitoring by default since they are Interfaces, but the AggregatePort 106 will not.

Example: Smarts IP 9.2.2 PAGP discovery
The following example shows the Smarts IP 9.2.2 PAGP discovery of index 621 where this index is made up indexes 59, 60, 61, 62, 63, and 64:



In the above example, since the AggregatePort is not determined to be connected to another AggregatePort in the topology, no AggregateLink is created. Because of this, only the interface indexes of 59, 60, 61, 62, 63, and 64 will be instrumented for fault monitoring by default since they are interfaces, but the AggregatePort 621 will not.

Environment

VMware Smart Assurance - SMARTS

Resolution

The following is a portion of code from the DISCOVERY_GENERIC.import file found in the <IPBASEDIR>/smarts/conf/discovery directory of a IP Manager 9.2.2 installation.  The text in bold (which is not a part of the code) you'll see the associated asl files used to process each of the drivers:

GA_CompoundDriver::EtherChannel-Cisco-Driver {
    drivers = {
        {"EtherChannel-LAG-dot3ad-Driver", 10}, 
<<<<<<<<<ic-lag-dot3ad.asl
        {"EtherChannel-Cisco-LAG-PAGP-Driver", 20},  <<<<<ic-lag-cisco-pagp.asl
        {"EtherChannel-PerformanceInst-Driver", 30}  <<<<<<ic-etherChannel-perfInst.asl
    }
    waitForCompletion = TRUE
}

In the above example, the EtherChannel-Cisco-Driver is being called to see if there are any Link Aggregation configured on the networkAdapters, and will create them in the topology. In the case of Smarts IP 8.x, this concept of AggregatePort creation was not introduced, and the normal execution of Interface creation and layering information was obtained from the IfStack table and then built.

Workaround
To workaround this issue and have Smarts IP Manager 9.2.2 behave as Smarts IP Manager 8.x did (that is, to not create AggregatePorts and instead create Interfaces and display layering information obtained from the ifStack table), do the following:
  1. Disable the LACP/PAGP probing from Smarts by altering the code in the DISCOVERY_GENERIC.import file by using sm_edit by executing the following command out of the <IPBASEDIR>/smarts/bin directory:
sm_edit ../conf/discovery/DISCOVERY_GENERIC.import
  1. Find the following code:
GA_Selector::Null-Generic-Selector {
selector = ".1.3.6.1.4.1.3375.*|.1.3.6.1.4.1.22610.*|.1.3.6.1.4.1.89.1.1.62.*"
Driver = GA_NullDriver::Null-Generic-Driver
  1. Change the above code to the following:
GA_Selector::Null-Generic-Selector {
selector = ".1.3.6.1.4.1.3375.*|.1.3.6.1.4.1.22610.*|.1.3.6.1.4.1.89.1.1.62.*|<insert system object ID here>"
Driver = GA_NullDriver::Null-Generic-Driver

Note: Replace the above <insert system object ID here> placeholder with the system object ID for the device that you want the discovery of networkAdapters to be discovered as an Interface, rather than an aggregatePort.

Example 
Device SystemObjID= .1.3.6.1.4.1.9.1.509
 
GA_Selector::Null-Generic-Selector {
selector = ".1.3.6.1.4.1.3375.*|.1.3.6.1.4.1.22610.*|.1.3.6.1.4.1.89.1.1.62.*|.1.3.6.1.4.1.9.1.509"
Driver = GA_NullDriver::Null-Generic-Driver
  1. Save and close the DISCOVERY_GENERIC.import file.
  2. Restart the domain.
  3. Delete and rediscover the device.

Confirm workaround results
To confirm that the workaround was successful, view previously discovered devices (which are the same SystemObjID added to the DISCOVERY_GENERIC.import in above workaround). The applicable networkAdapters which were determined to be a part of LACP/PAGP should no longer be discovered as aggregatePorts, but should now be discovered as Interface objects and will be instrumented for fault monitoring by automatically after discovery.

Additional Information

LACP = Link Aggregation Control Protocol
PAGP = Port Aggregation Protocol