No announcement yet.
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cisco IOS version breaking LLDP

    We recently upgraded one of our Cisco Catalyst 3560-48PS switches from IOS 12.2(52)SE to IOS 12.2(53)SE and started having ShoreTel phones unable to get a DHCP address. Testing showed that the problem is reproducible; the same switch and phones will work with older firmware and stop working with the newer firmware. I've tested with BootRom 3.3.12 (ST 9.1) and 3.3.18 (ST 10.1) on multiple 3560s and multiple phones.

    DHCP will work on the newer switch firmware if LLDP is disabled on either the switch or phone, or (no joke) if a power injector is placed inline with the phone.

    Has anyone else seen LLDP just stop working?

  • #2
    Is LLDP-MED configured properly on the Cisco's?


    • #3
      In IOS, the command is simply "LLDP RUN". By default, as soon as a port sees an LLDP-MED multicast, it sends LLDP-MED multicasts with a TIA network policy TLV for voice (as well as inventory and power management).

      The LLDP and LLDP-MED TLVs can be overridden or disabled, but all of our switches are left with the default, which gives the voice VLAN ID in the network policy TLV.

      This default works fine in 12.2(52)SE but does not in 12.2(53)SE.


      • #4
        After a lot of comparing packet captures, the common factor was the LLDP TLV IEEE 802.3 Subtype: Power Via MDI (0x02). It caused the phone to switch to VLAN 129 (I also saw 128 once).

        Setting "no lldp tlv-select power-management" stops IOS from sending the TLV.

        I haven't had a chance to see if the 10.2 phone firmware works any better.


        • #5
          Chris...can you supply a sample config of what LLDP-MED should look like on a cisco switch to work with Shoretel v10.2?


          • #6
            lldp run

            interface FastEthernet0/1
            switchport access vlan 10
            switchport voice vlan 20

            Besides sending LLDP multicasts with the voice vlan information, the port is put into a "mini-trunking" mode that is functionally equivalent to

            switchport mode trunk
            switchport trunk encapsulation dot1q
            switchport trunk native vlan 10
            switchport trunk allowed vlan 10,20

            except that they aren't listed as trunks in a "show interfaces trunk" command.

            Before LLDP was supported in ShoreTel 9, I played with using the "voice vlan" command instead of the normal trunking commands with no difference that I could see.



            • #7
              I'm trying to get LLDP working with 12.2(55)SE and having issues....I think I'm going to hold off for now. btanner...when you get it working with 12.2(53)SE can you let us know what resolved issue? Perhaps I am doing it right but something changed in 12.2(53) or later; explaining my issues. Here's what I'm trying; ideally I want LLDP to assign VLAN so phone doesn't need to grab native vlan (my vlan 64) and reconfigure network:
              lldp run
              network-policy profile 1
              voice vlan 80 dscp 46

              switchport access vlan 64
              network policy 1
              lldp med-tlv-select network-policy

              *both vlan 80 and 64 are trunked between switches

              vlan 64 DHCP option 156: ftpservers=x.x.x.x, layer2tagging=1, vlanid=80
              vlan 80 DHCP option 156: ftpservers=x.x.x.x, layer2tagging=1, vlanid=80

              or is the IOS not the problem but something I'm doing? Thanks



              • #8
                ok, i switched to 12.2(52)SE and used the lldp config in my previous post and I am now receiving vlan 80 without the phone needing to get on vlan 64 to grab config and then reconfigure think I'll stick to this version of IOS unless btanner posts a solution for a newer IOS


                • #9
                  On IOS 12.2(53)SE or later:

                  #configure terminal
                  (config)#no lldp tlv-select power-management


                  • #10
                    thanks btanner...that did the trick! I can proceed with my IOS upgrades and start using LLDP.