Skip to content

Documentation for GETTABLE error responses #1

@candlerb

Description

@candlerb

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions