VPP-1481: fixed tlv length checking & added tests

Change-Id: I9375bca5f5136c84d801dbd635929bb1c37d75b4
Signed-off-by: Filip Varga <filip.varga@pantheon.tech>
diff --git a/test/test_cdp.py b/test/test_cdp.py
index 3eec4a7..ac42bf0 100644
--- a/test/test_cdp.py
+++ b/test/test_cdp.py
@@ -91,9 +91,15 @@
         self.assert_equal(system, self.device_id,
                           "CDP received invalid device id")
 
-    def test_send_cdp_bad_packet(self):
+    def test_cdp_underflow_tlv(self):
+        self.send_bad_packet(3, ".")
+
+    def test_cdp_overflow_tlv(self):
+        self.send_bad_packet(8, ".")
+
+    def send_bad_packet(self, l, v):
         self.logger.info(self.vapi.cli("cdp enable"))
-        self.send_packet(self.create_bad_packet(8, "."))
+        self.send_packet(self.create_bad_packet(l, v))
 
         errors = list(self.show_errors())
         self.assertTrue(errors)
@@ -102,7 +108,7 @@
         for count, node, reason in errors:
             if (node == u'cdp-input' and
                     reason == u'cdp packets with bad TLVs' and
-                    int(count) == 1):
+                    int(count) >= 1):
 
                 expected_errors = True
                 break