2010-08-17 44 views
3

假設MIB包含一個由MAC地址索引的表。當經理請求myTable.0.1時代理的正確行爲是什麼?這是一個不完整的索引。snmp:僅在給出表索引的一部分時的正確行爲?

,我看到了一些可能性:

  1. 返回的第一行中的表 - 把此部分指數作爲第一行之前到來。
  2. 將此視爲子樹 - 返回表中與此MAC前綴匹配的行。
  3. 不返回行 - 將其視爲在表中的最後一行之後。
  4. 返回某種錯誤?

回答

4

取決於操作。

對不完整OID的GET將返回noSuchName。

不完整的OID上的GETNEXT將返回下一個完整的OID。

請注意,許多製造商無法正確實施SNMP代理。您不能總是依靠它們來按預期返回下一個OID。

+1

謝謝。這[net-snmp教程](http://www.net-snmp.org/wiki/index.php/TUT:snmpgetnext#OID_Completion)也是這樣說的。 (在這種情況下,我是「製造商」,所以我試圖讓它正確...) – bstpierre 2010-08-17 15:51:09

+1

我的第一個職業編程角色是開發SNMP代理。隨後,我驚訝於一些最大的路由器和交換機制造商如何無法正確實施RFC - 通常getnext停止在MIB的中途 - 有多少代理開發人員真正瞭解標量和柱狀對象之間的區別(標量對象始終以.0) – 2010-08-18 07:09:30

相關問題