MS Surface trying to run LLDP script for phones

  • 0
  • 1
  • Question
  • Updated 1 year ago
  • Answered
We run LLDP scripts for our MITEL VOIP phones and I have noticed that Microsoft Surfaces running Windows 10 try to run the LLDP script constantly and it fills the logs on the switches. If we disable the Microsoft LLDP Protocol Driver on the Surface it stops. 

Is there a way to have the switch not run the script when the Surface connects? We have advised our helpdesk to disable this but that doesn't always happen. 
Photo of DH

DH

  • 1,104 Points 1k badge 2x thumb

Posted 1 year ago

  • 0
  • 1
Photo of Brandon Clay

Brandon Clay, Escalation Support Engineer

  • 13,486 Points 10k badge 2x thumb
What LLDP scripts are you using? Is this a UPM profile triggered on a device-detect event?

Can you post a snippet of the log, as well as the UPM config if relevant? 
Photo of DH

DH

  • 1,104 Points 1k badge 2x thumb
Yes, we are using UPM profile device-detect to detect the phones when they are plugged in. Here is the script


************Profile Contents Begin************

# @Description Voice VLAN name
set var voicevlan XXXX
if (!$match($EVENT.NAME,DEVICE-DETECT)) then
create log entry ***Starting_LLDP_Config***
endif
#Link Layer Discovery Protocol-Media Endpoint Discover
create log entry ***Config_LLDP_Parameters***
configure lldp port $EVENT.USER_PORT advertise vendor-specific med capabilities
configure lldp port $EVENT.USER_PORT advertise vendor-specific dot1 vlan-name vlan $voicevlan
configure lldp port $EVENT.USER_PORT advertise vendor-specific med policy application voice vlan $voicevlan dscp 46
create log entry ***Config_LLDP_Parameters_Complete***
create log entry ***End_LLDP_Generic_Config***

************Profile Contents Ends*************

Profile State: Enabled
Profile Maximum Execution Time: 30
Events and ports configured on the profile:
===========================================================
Event                           Port list/Log filter
===========================================================
device-detect               :     7:9-48, 8:9-24, 8:26-48, 9:1-48, 10:33-34, 10:41
device-undetect             :
user-authenticated          :
user-unauthenticated        :
identity-detect             :
identity-undetect           :
identity-role-associate     :
identity-role-dissociate    :
===========================================================



Here is a snippet of the log 

04/27/2017 12:31:06.78 <Info:System.userComment> MSM-A: ***End_LLDP_Generic_Config***
04/27/2017 12:31:06.77 <Info:System.userComment> MSM-A: ***Config_LLDP_Parameters_Complete***
04/27/2017 12:31:06.74 <Info:System.userComment> MSM-A: ***Config_LLDP_Parameters***
04/27/2017 12:31:06.73 <Info:System.userComment> MSM-A: ***Starting_LLDP_Config***
04/27/2017 12:31:06.60 <Noti:UPM.Msg.upmMsgExshLaunch> MSM-A: Launched profile detect-voip-xxxx for the event device-detect
04/27/2017 12:31:06.60 <Noti:UPM.Msg.LLDPDevDetected> MSM-A: LLDP Device detected. Mac is 58:82:A8:9C:06:23, IP is 0.0.0.0, on port 8:39, device type is 0, max power is 0
Photo of Matthew Helm

Matthew Helm, Employee

  • 1,852 Points 1k badge 2x thumb
You might check to see if the OUI is unique for the Mitel phones and only do the LLDP portion of the scripts if the MAC of the device detected has that OUI. This would at least cut out the System.userComment log entries.
Photo of Grosjean, Stephane

Grosjean, Stephane, Employee

  • 13,650 Points 10k badge 2x thumb
You can check the vendor name. Assuming the variable is set to MITEL, you could then add a condition for it, something like:

if (!$match($EVENT.DEVICE_MANUFACTURER_NAME,MITEL)) then

just verify how is set that variable.
Photo of DH

DH

  • 1,104 Points 1k badge 2x thumb
Thank you for the input, I will see what I can do. 
Photo of DH

DH

  • 1,104 Points 1k badge 2x thumb
I have been working on this and still cannot get the Surface to stop running the script. I am not that good with scripting so I am having a hard time. Would someone be able to help? I am getting lost on how to end the script if the conditions don't match. 

create upm profile detect-voip-XXXX

# @Description “Voice VLAN name”

if(!$match($EVENT.NAME,DEVICE-DETECT)) and

if(!$match($EVENT.DEVICE_MANUFACTURER_NAME,MITEL)) then

set var voicevlan XXXX

create log entry ***Starting_LLDP_Config***

endif

#Link Layer Discovery Protocol-Media Endpoint Discover

create log entry ***Config_LLDP_Parameters***

configure lldp port $EVENT.USER_PORT advertise vendor-specific med capabilities

configure lldp port $EVENT.USER_PORT advertise vendor-specific dot1 vlan-name vlan $voicevlan

configure lldp port $EVENT.USER_PORT advertise vendor-specific med policy application voice vlan $voicevlan dscp 46

create log entry ***Completed_LLDP_Parameters***

.

config upm event device-detect profile detect-voip-XXXX ports 1-5

What is the purpose of the endif in the middle of the script? This script was wrote by a vendor years ago. 

Thanks! 
Photo of Grosjean, Stephane

Grosjean, Stephane, Employee

  • 13,650 Points 10k badge 2x thumb
Try this:

# @Description “Voice VLAN name”

if (!$match($EVENT.NAME,DEVICE-DETECT)) && if (!$match($EVENT.DEVICE_MANUFACTURER_NAME,MITEL)) then
  set var voicevlan XXXX
  create log entry ***Starting_LLDP_Config***

  #Link Layer Discovery Protocol-Media Endpoint Discover
  create log entry ***Config_LLDP_Parameters***
  configure lldp port $EVENT.USER_PORT advertise vendor-specific med capabilities
  configure lldp port $EVENT.USER_PORT advertise vendor-specific dot1 vlan-name vlan $voicevlan
  configure lldp port $EVENT.USER_PORT advertise vendor-specific med policy application voice vlan $voicevlan dscp 46
  create log entry ***Completed_LLDP_Parameters***
endif

.

Assuming the variable is, indeed, MITEL. You should check that.
Photo of DH

DH

  • 1,104 Points 1k badge 2x thumb
Thank you for the help, I will check that variable and try the changes you suggested.