Resolving SLP Issues on Nexus Switches
This section provides information about common problems related to connectivity of switch to CSSM and their resolution.
The following issues are covered in this section:
Issue: Trust code installation failed
Possible reasons for failure include:
-
A trust code is already installed: Trust codes are linked to the Unique Device Identifier (UDI) of the product instance. If the UDI is already registered, and you try to install another one, installation fails.
-
Timestamp mismatch: This means the product instance time is not in sync with Cisco Smart Software Manager (CSSM), and can cause installation to fail.
Recommended Action:
-
A trust code is already installed: If you want to install a trust code in spite of an existing trust code on the product instance, re-configure the license smart trust idtoken id_token_value [ force ] command in privileged EXEC mode, and be sure to include the force keyword. Entering the force keyword asks CSSM to create a new trust code even if it exists already.
-
Timestamp mismatch: Configure the ntp server command in global configuration mode. For example:
switch (config)# ntp server 10.28.13.90 preferNote
If there is a difference in time between device and CSSM then it should be less than one hour.
Issue: Smart Licensing communication with CSSM/CSLU/SSM On-Prem failed
Possible reasons for failure include:
-
Missing DNS configurations.
-
CSSM, CSLU, SSM On-Prem is not reachable: This means that there may be network problem.
Recommended Action for DNS:
Troubleshooting steps are provided for missing DNS configurations, when CSSM/CSLU/SSM On-Prem is not reachable.
-
If ping to cisco.com in the configured vrf for SLP throws error % Invalid host/interface <URL>:
-
Execute the following commands from global configuration mode to configure DNS,
switch# config terminal switch(config)# ip domain-lookup switch(config)# ip domain-name cisco.com switch(config)# ip name-server <dns-server-ip> use-vrf <vrf-name> switch(config)# vrf context <vrf-name> switch(config-vrf)# ip domain-name cisco.com switch(config-vrf)# ip name-server <dns-server-ip>
-
Check if ping to cisco.com is working or not, using vrf <vrf-name> . The following example shows working DNS scenario:
switch(config)# ping cisco.com vrf <vrf-name> PING cisco.com (<ip-address>): 56 data bytes 64 bytes from <ip-address>: icmp_seq=0 ttl=236 time=242.279 ms 64 bytes from <ip-address>: icmp_seq=1 ttl=236 time=242.108 ms 64 bytes from <ip-address>: icmp_seq=2 ttl=236 time=242.032 ms 64 bytes from <ip-address>: icmp_seq=3 ttl=236 time=242.278 ms 64 bytes from <ip-address>: icmp_seq=4 ttl=236 time=241.968 ms --- cisco.com ping statistics --- 5 packets transmitted, 5 packets received, 0.00% packet loss round-trip min/avg/max = 241.968/242.133/242.279 ms
Note
For transport mode CSLU, either configure ip host cslu-local <cslu_address> or cslu-local should be part of DNS server. For SSM On-Prem, the URL configured in switch should be Fully Qualified Domain Name (FQDN) and not the ip-address.
-
Recommended Action for Network Reachability:
-
If the configured transport mode is smart transport:
-
In the show license status command output, under the Transport: header, check the following:
-
Type: must be Smart and
-
URL: must be https://smartreceiver.cisco.com/licservice/license. For example,
Transport:
Type: Smart
URL: https://smartreceiver.cisco.com/licservice/license
Proxy:
Not configured
VRF: <vrf-name>
If it is not, configure using the license smart transport smart and license smart url smart https://smartreceiver.cisco.com/licservice/license commands in global configuration mode.
-
-
Check DNS resolution. Verify that the URL https://smartreceiver.cisco.com/licservice/license is reachable through the browser. The following example shows reachability for the smart URL.
This is the Smart Receiver! Environment Information: cisco.life = prod License Engine = https://swapi.cisco.com/software/csws/ssm/services License EngineSLE = https://swapi.cisco.com/software/csws/ssm/v2/services License Crypto Service = https://lcs.cisco.com/LCS Crypto Enabled = true Retry Enabled = true Retry Timeout = 55000 Rate Limit Window Length = 3600 Rate Limit Max Allowed in Window = 12
Optionally, you can ping smart URL (https://smartreceiver.cisco.com/licservice/license) and verify.
Example:
bash-4.4$ ping smartreceiver.cisco.com PING smartreceiver.cisco.com (<ip-address>) 56(84) bytes of data. 64 bytes from <ip-address> (<ip-address>): icmp_seq=1 ttl=53 time=2.57 ms 64 bytes from <ip-address> (<ip-address>): icmp_seq=2 ttl=53 time=2.79 ms 64 bytes from <ip-address> (<ip-address>): icmp _seq=3 ttl=53 time=2.54 ms 64 bytes from <ip-address> (<ip-address>): icmp_seq=4 ttl=53 time=2.43 ms 64 bytes from <ip-address> (<ip-address>): icmp_seq=5 ttl=53 time=3.23 ms 64 bytes from <ip-address> (<ip-address>): icmp_seq=6 ttl=53 time=2.100 ms ^С --- smartreceiver.cisco.com ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5009ms rtt min/avg/max/mdev = 2.429/2.757/3.231/0.289 ms bash-4.4$
-
-
If the configured transport mode is cslu:
-
In the show license status command output, under the Transport: header, check the following:
-
Type: must be CSLU and
-
Cslu address: must be cslu-local
Example
Transport:
Type: CSLU
Cslu address: cslu-local
VRF: <vrf-name>
If it is not, configure using the license smart transport cslu and license smart url cslu <cslu-local-url> commands in global configuration mode.
-
-
Check DNS resolution. Verify that the configured cslu-local-url is reachable through the browser.
-
-
If the configured transport mode is callhome:
-
In the show license status command output, under the Transport: header, check the following:
-
Type: must be Callhome.
For example,
Transport:
Type: Callhome
If it is not, configure using the license smart transport callhome commands in global configuration mode.
-
-
Check if callhome is configured correctly. Use the show running-config callhome all command in privileged EXEC mode, to check callhome configuration as follows:
switch(config)# show running-config callhome all !Command: show running-config callhome all !Running configuration last done at: Thu Aug 3 20:38:37 2023 !Time: Thu Aug 3 20:43:58 2023 version 10.3(1) Bios:version 05.45 callhome email-contact <email-address> destination-profile xml transport-method http destination-profile xml index 1 email-addr <email-address> destination-profile xml index 1 http https://tools.cisco.com/its/service/oddce/services/DDCEService transport email smtp-server <ip-address> port <port-number> transport email from <email-address> transport email reply-to <email-address> transport http use-vrf <vrf-name> enable periodic-inventory notification interval 1
-
Check DNS Resolution. Verify that the product instance can ping tools.cisco.com through configured vrf using the ping tools.cisco.com vrf <vrf-name> command.
Example
switch(config) # ping tools.cisco.com vrf <vrf-name> PING tools.cisco.com (<ip-address>): 56 data bytes 64 bytes from <ip-address>: icmp_seq=0 ttl=236 time=244.692 ms 64 bytes from <ip-address>: icmp_seq=1 ttl=236 time=244.532 ms 64 bytes from <ip-address>: icmp_seq=2 ttl=236 time=244.396 ms. 64 bytes from <ip-address>: icmp_seq=3 ttl=236 time=244.502 ms. 64 bytes from <ip-address>: icmp_seq=4 ttl=236 time=244.607 ms -- tools.cisco.com ping statistics --- 5 packets transmitted, 5 packets received, 0.00% packet loss round-trip min/avg/max = 244.396/244.545/244.692 ms. switch(config)#
You can also ping directly to the callhome URL tools.cisco.com.
Example
bash-4.4$ ping tools.cisco.com PING tools.cisco.com (<ip-address>) 56(84) bytes of data. 64 bytes from tools2.cisco.com (<ip-address>): icmp_seq=1 ttl=242 time=43.7 ms 64 bytes from tools2.cisco.com (<ip-address>): icmp_seq=2 ttl=242 time=43.7 ms 64 bytes from tools2.cisco.com (<ip-address>): icmp_seq=3 ttl=242 time=43.7 ms 64 bytes from tools2.cisco.com (<ip-address>): icmp_seq=4 ttl=242 time=43.8 ms 64 bytes from tools2.cisco.com (<ip-address>): icmp_seq=5 ttl=242 time=43.8 ms 64 bytes from tools2.cisco.com (<ip-address>): icmp_seq=6 ttl=242 time=43.7 ms ^С --- tools.cisco.com ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5009ms rtt min/avg/max/mdev = 43.656/43.703/43.770/0.214 ms bash-4.4$
-
Issue: Failed to send usage Report
Possible reasons for failure include:
-
Because of a communication failure, the product instance failed to send the RUM report.
Recommended Action:
-
Check if the RUM report is due any time soon using the show license tech support command. If not, and the problem is with a server or link that is down, you can try again after some time.
-
If the communication failure persists, check if the transport type and URL have been set as required by the topology.
Issue: Failed to receive Report Acknowledgment
Possible reasons for failure include:
-
Connectivity problems. Depending on the implemented topology, this can mean a connectivity problem with CSSM, or CSLU, or SSM On-Prem.
-
Delayed communication. There may be a lag between the time that a RUM Report is sent and the RUM acknowledgment (ACK) is available on the product instance. For example, if you use CSLU or SSM On-Prem, the time at which the product instance receives information depends on when CSLU or SSM On-Prem is scheduled to synchronize with CSSM and with the product instance. In direct connectivity mode, acknowledgment takes around 15 minutes to be updated on the switch.
-
The ACK received can fail, if the product instance (switch) was previously registered with a different On-Prem account.
Recommended Action:
To troubleshoot this issue, perform the following steps:
-
Navigate to On-Prem Admin Workspace > Support Center. The Support Center Status window opens.
-
In the Support Center Status window, click the System Logs tab and click Download All Logs. After a few seconds, a dialog window opens to save the zip file.
-
Save the AllFiles.zip file.
-
Extract the AllFiles.zip archive.
-
Check for the following symptoms inside the file named messages and search for the error: “failed due to the following error: record not found.” For example,
Aug 7 17:02:36 rtp-dcrs-licensing cf881d42a1b7: 2023/08/07 17:02:36#011[ERROR]#011adapters/pi_routes_impl.go:1322#011 Finding SL product by UDI {<switch> FDO212100YT} failed due to the following error: record not found.
-
It is also possible that the CSSM does not have the product instance but On-Prem has the product instance.
-
Recommended Action:
-
Ensure that the trust code is installed.
-
When the trust code is installed, check for Usage reporting: in show license status to know whether the report is synced or not. The Next report push field displays the following information about the synchronization:
Usage reporting: Last ACK received: <none> Next ACK deadline: <none> Reporting push interval: <none> Next ACK push check: <none> Next report push: <none> Last report push: <none> Last report file write: <none> Trust Code installed: Jul 14 11:40:36 2023 UTC Active: PID: <device_pid>, SN: <device_sn> Jul 14 11:40:36 2023 UTC
-
If the synchronization does not take place automatically, then initiate an on-demand synchronization based on the implemented topology as follows:
-
For online topologies, use the license smart sync command in privileged EXEC mode. If SSM On-Prem is used in topology, then, additionally, sync to Cisco as well as the switch on SSM On-Prem.
-
For offline topologies, upload the RUM report to CSSM and install the ACK back on the switch.
-
-
After the sync is completed, wait for 15 minutes to receive acknowledgment for the CSSM.
-
Perform On-Prem Report Synchronization out-of-band (Export/Import Cisco Usage Report/ACK) if acknowledgment fails due to already registered device reason on On-Prem.
-
On the On-Prem server, navigate to Smart Software Manager On-Prem > Smart Licensing > Inventory > SL Using Policy.
Then, select the product names for which you require the acknowledgment.
Next, from the Export/Import All drop-down menu, select Export Usage to Cisco and download the exported report onto your system.
-
To upload the downloaded report and generate the ACK report, go to the respective CSSM On-Prem account and navigate to Reports > Usage Data Files > Upload Usage Data File. Click the Upload Usage Data button. The Upload Usage Data dialog box opens.
-
In the Upload Usage Data dialog box, click the Browse button and select the report from your system (downloaded earlier) that you want to upload and then click the Upload Data button.
Wait for a while as it takes some time to process. Ignore the errors that appear, if any. The file is uploaded to the Usage Data Files tab.
-
To download the ACK report for the uploaded Usage Data File, select the file and click the Download link in the Acknowledgment column.
-
Upload the downloaded ACK file to On-Prem. To do so, navigate to Smart Software Manager On-Prem > Smart Licensing > Inventory > SL Using Policy.
Then, from the Export/Import All drop-down menu, select Import From Cisco and upload the downloaded acknowledgment report.
-
After the report is uploaded, the respective devices reflect the received acknowledgment status.
Note
Not receiving acknowledgment does not affect any function of the switch. You can receive syslog for not reporting, if the reporting period is expired or near to expiry as per the configured policy. If you do not receive an acknowledgment, you can contact the Cisco technical support representative.
-