Enhance the LLDPTLV.java to handle the LLDP port ID
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / packet / LLDPTLV.java
index 27660221ceb56da61d3c6c68cdfd46a13622ef96..efb938e37f50745aae8f1f560b0d85f2bb7e7c07 100644 (file)
@@ -291,10 +291,17 @@ public class LLDPTLV extends Packet {
      * @return the string
      */
     static public String getStringValue(byte[] tlvValue, int tlvLen) {
+        byte[] pidSubType = new byte[portIDSubType.length];
         byte[] pidBytes = new byte[tlvLen - portIDSubType.length];
+        System.arraycopy(tlvValue, 0, pidSubType, 0,
+                pidSubType.length);
         System.arraycopy(tlvValue, portIDSubType.length, pidBytes, 0,
                 pidBytes.length);
-        return (new String(pidBytes, Charset.defaultCharset()));
+        if (pidSubType[0] == (byte) 0x3) {
+            return HexEncode.bytesToHexStringFormat(pidBytes);
+        } else {
+            return (new String(pidBytes, Charset.defaultCharset()));
+        }
     }
 
     /**