Merge "Handle LLDP parse Unicode error"

This commit is contained in:
Zuul 2024-01-12 00:10:37 +00:00 committed by Gerrit Code Review
commit c4a177c8eb
2 changed files with 19 additions and 1 deletions

View File

@ -53,7 +53,16 @@ class LLDPBasicProcessingHook(base.ProcessingHook):
{'tlv_type': tlv_type, 'msg': e}, node_info=node_info)
continue
if parser.parse_tlv(tlv_type, data):
try:
parsed_tlv = parser.parse_tlv(tlv_type, data)
except UnicodeDecodeError as e:
LOG.warning("LLDP TLV type %(tlv_type)d can't be decoded: "
"%(exc)s",
{'tlv_type': tlv_type, 'exc': e},
node_info=node_info)
continue
if parsed_tlv:
LOG.debug("Handled TLV type %d",
tlv_type, node_info=node_info)
else:

View File

@ -0,0 +1,9 @@
---
fixes:
- |
In case the lldp raw data collected by the inspection process
includes non utf-8 information, the parser fails breaking
the inspection process.
This patch works around that excluding the malformed data
and adding an entry in the logs to provide information
on the failed tlv.