-
Notifications
You must be signed in to change notification settings - Fork 4
Description
According to the manual entry for GETTABLE:
Possible errors are the same as in GET request, plus the following ...
However:
(1) When trying to retrieve a non-existent OID it just returns an empty list. Example: query IP-MIB::ipNetToPhysicalTable on a switch which doesn't implement it.
GET returns:
[20, 456, [['1.3.6.1.2.1.4.35', ['no-such-object']]]]
GETTABLE returns:
[21, 456, []]
Looking on the wire: the first case receives a response object which tcpdump decodes as noSuchObject; the second case just gives MIB values starting from the next available entry (in my test 1.3.6.1.2.1.5.1.0)
This suggests that getbulk can't distinguish "empty table" from "non-existent table", in which case the current SQE behaviour is reasonable, but I think this could be clarified in the documentation as the behaviour is different to GET.
(2) Forcing an error by issuing a GETTABLE request for OID "2", I get the following:
[37, 456, 'bad oid']
So the result code is there but not wrapped in an array, as it would be for GET. This conflicts with the manual which says:
The second element will either be a value, or an array with a single element. If it is an array, its only element will be an error description.