ONOS-7832 - query device services for the latest chassis ID for lldp

Change-Id: Ic57bdd589e25f889f46edaac527469be9d319979
diff --git a/providers/lldpcommon/src/main/java/org/onosproject/provider/lldpcommon/LinkDiscovery.java b/providers/lldpcommon/src/main/java/org/onosproject/provider/lldpcommon/LinkDiscovery.java
index 317fda8..71cac6d 100644
--- a/providers/lldpcommon/src/main/java/org/onosproject/provider/lldpcommon/LinkDiscovery.java
+++ b/providers/lldpcommon/src/main/java/org/onosproject/provider/lldpcommon/LinkDiscovery.java
@@ -20,6 +20,7 @@
 import io.netty.util.Timeout;
 import io.netty.util.TimerTask;
 import io.netty.util.internal.StringUtil;
+import org.onlab.packet.ChassisId;
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.ONOSLLDP;
@@ -243,7 +244,8 @@
         if (portNumber == null) {
             return null;
         }
-        ONOSLLDP lldp = getLinkProbe(portNumber, portDesc);
+        ONOSLLDP lldp = getLinkProbe(context.deviceService().getDevice(device.id()).chassisId(),
+                portNumber, portDesc);
         ethPacket.setSourceMACAddress(context.fingerprint()).setPayload(lldp);
         return new DefaultOutboundPacket(device.id(),
                                          builder().setOutput(portNumber(portNumber)).build(),
@@ -261,15 +263,16 @@
         if (portNumber == null) {
             return null;
         }
-        ONOSLLDP lldp = getLinkProbe(portNumber, portDesc);
+        ONOSLLDP lldp = getLinkProbe(context.deviceService().getDevice(device.id()).chassisId(),
+                portNumber, portDesc);
         bddpEth.setSourceMACAddress(context.fingerprint()).setPayload(lldp);
         return new DefaultOutboundPacket(device.id(),
                                          builder().setOutput(portNumber(portNumber)).build(),
                                          ByteBuffer.wrap(bddpEth.serialize()));
     }
 
-    private ONOSLLDP getLinkProbe(Long portNumber, String portDesc) {
-        return ONOSLLDP.onosLLDP(device.id().toString(), device.chassisId(), portNumber.intValue(), portDesc);
+    private ONOSLLDP getLinkProbe(ChassisId chassisId, Long portNumber, String portDesc) {
+        return ONOSLLDP.onosLLDP(device.id().toString(), chassisId, portNumber.intValue(), portDesc);
     }
 
     private void sendProbes(Long portNumber, String portDesc) {