ERROR: Uncaught AgentX proto error is seen if TRANSCEIVER_INFO table has bad string in one of the fields.
Steps to reproduce the issue:
Bring up any DUT with master image or 2021x branch.
Inject bad string in any of the fields in TRANSCEIVER_DB. (redis-cli -n 6 ; HSET "TRANSCEIVER_INFO|Ethernet48" "hardware_rev" "\xff\xff")
Perform snmpwalk on transceiver MIB, snmpwalk -v2c -c public 127.0.0.1 iso.3.6.1.2.1.47.1.1.1.1.
Describe the results you received:
snmpagent will restart with the below error:
ERR snmp#snmp-subagent [ax_interface] ERROR: Uncaught AgentX proto error! [b'\x01\x06\x10\x00\x00\x00\x00\x06\x00\x00/\xd4\x00\x00/\xd5\x00\x00\x00D\x08\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00/\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x08;\x9a\xdb\xc6\x07\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00/\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\t']#012Traceback (most recent call last):#012 File "/usr/local/lib/python3.7/dist-packages/ax_interface/protocol.py", line 138, in data_received#012 response_pdu = pdu.make_response(self.mib_table)#012 File "/usr/local/lib/python3.7/dist-packages/ax_interface/pdu_implementations.py", line 289, in make_response#012 vr = lut.get_next(sr)#012 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 359, in get_next#012 vr = self._get_nextvalue(parent_mib_entry, start_key)#012 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 317, in _get_nextvalue#012 vr = ValueRepresentation.from_typecast(mib_entry.value_type, oid1, val1)#012 File "/usr/local/lib/python3.7/dist-packages/ax_interface/encodings.py", line 247, in from_typecast#012 _data = OctetString.from_string(data)#012 File "/usr/local/lib/python3.7/dist-packages/ax_interface/encodings.py", line 153, in from_string#012 _string = bytes(string, 'latin-1') if type(string) is str else string#012UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)
Describe the results you expected:
AgentX should not crash due to bad string in Transceiver DB. Agentx should be stable and should validate strings that is read from DB table which is populated by external daemons.
Additional information you deem important (e.g. issue happens only occasionally):
**Output of `show version`:**
```
(paste your output here)
```
**Attach debug file `sudo generate_dump`:**
```
(paste your output here)
```
Description
ERROR: Uncaught AgentX proto error is seen if TRANSCEIVER_INFO table has bad string in one of the fields.
Steps to reproduce the issue:
Describe the results you received: snmpagent will restart with the below error:
Describe the results you expected: AgentX should not crash due to bad string in Transceiver DB. Agentx should be stable and should validate strings that is read from DB table which is populated by external daemons.
Additional information you deem important (e.g. issue happens only occasionally):