File tree 2 files changed +15
-5
lines changed
2 files changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -367,13 +367,16 @@ def _add_ports_and_vlans(self, discovered_ports):
367
367
368
368
def ofdescstats_handler (self , body ):
369
369
"""Handle OF DP description."""
370
+ def _decode (msg_str ):
371
+ return msg_str .decode ('utf-8' , errors = 'replace' )
372
+
370
373
self .metrics .of_dp_desc_stats .labels ( # pylint: disable=no-member
371
374
** dict (self .base_prom_labels ,
372
- mfr_desc = body .mfr_desc . decode ( ),
373
- hw_desc = body .hw_desc . decode ( ),
374
- sw_desc = body .sw_desc . decode ( ),
375
- serial_num = body .serial_num . decode ( ),
376
- dp_desc = body .dp_desc . decode ( ))).set (self .dp .dp_id )
375
+ mfr_desc = _decode ( body .mfr_desc ),
376
+ hw_desc = _decode ( body .hw_desc ),
377
+ sw_desc = _decode ( body .sw_desc ),
378
+ serial_num = _decode ( body .serial_num ),
379
+ dp_desc = _decode ( body .dp_desc ))).set (self .dp .dp_id )
377
380
378
381
def _set_port_status (self , port_no , port_status ):
379
382
"""Set port operational status."""
Original file line number Diff line number Diff line change @@ -1245,6 +1245,13 @@ def test_ofdescstats_handler(self):
1245
1245
serial_num = u'99' .encode (),
1246
1246
dp_desc = u'test_dp_desc' .encode ())
1247
1247
self .valve .ofdescstats_handler (body )
1248
+ invalid_body = parser .OFPDescStats (
1249
+ mfr_desc = b'\x80 ' ,
1250
+ hw_desc = b'test_hw_desc' ,
1251
+ sw_desc = b'test_sw_desc' ,
1252
+ serial_num = b'99' ,
1253
+ dp_desc = b'test_dp_desc' )
1254
+ self .valve .ofdescstats_handler (invalid_body )
1248
1255
1249
1256
1250
1257
class ValveTestCase (ValveTestBases .ValveTestBig ):
You can’t perform that action at this time.
0 commit comments