asyncio bulkCmd 中的 lexicographicMode

lexicographicMode in asyncio bulkCmd

在将异步 pysnmp bulkCmd 与 asyncio 一起使用时,如果请求的 OID 有很多值(如 1.3.6.1.2.1.17.4.3.1.2,显示 Cisco 交换机学习到的 MAC 地址)或者如果使用多个 OID在一个请求中,我遇到的问题是响应中的 OID 总数受到网络 MTU/MSS 的限制,这意味着并非所有 OID 都收到了。

如果在Synchronous bulkCmd中使用lexicographicMode,这个问题可以控制,但是Asynchronous bulkCmd生成器没有这个选项。

可以使用 getNext,但由于数据包总数增加(每个 OID 一个 request/response),它会显着降低性能。 有没有办法控制所有 "sub oid" 使用异步 bulkCmd 作为响应收到?

你可以使用 maxRepetitions parameter to limit the number of response OIDs per each requested OID? It's 50 in this example.

我相信 lexicographicMode 选项旨在在初始前缀超出范围后停止遍历 MIB。所以它对消息大小只有间接影响,这使得它不可靠。