Handle LLDP parse Unicode error
Closes-Bug: #2044793
Change-Id: I939c80bb309b22e05ba7cc93686f12bbe0d71624
(cherry picked from commit db76af9c86
)
This commit is contained in:
parent
2bca56df31
commit
38101c70e9
|
@ -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:
|
||||
|
|
|
@ -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.
|
Loading…
Reference in New Issue