On 11 April 2011 15:48, Zimmer Hu <[email protected]> wrote:
>> What was the exact "snmpget" command that you tried?
>> (And for comparison, what's the full output from snmpwalk?)
>>
>
> Here are the outputs:
>
> 1) snmpget:
> 1a) command line: snmpget  ...  Table.1.Column1.index

Please can you post the *exact* command that you are using.
Preferably cut-and-paste from the command line.

Not a generalised version of it - the *exact* command please.


> 2) snmpwalk:
>
> 2a) CLI: snmpwalk ... Table.1.Column1
>
>      output: OK. Read all vaule for one column; (but read whole table failed
> with error same as that in 1a))

Again, that's really too vague to be useful.
Please post the exact command(s) and full output.




> I just can't conceive an example let me go through one row's columns first,
> then move to next row....    Is this to say Snmpv1 is not capable to handle
> table efficiently

It's nothing to do with SNMPv1 vs SNMPv2  - this is a consequence of
the basic behaviour of the GETNEXT command,  combined with the
OID ordering rules of SMI.
   An "snmpwalk" will *always* traverse tables column by column,
rather than row-by-row.   Regardless of version.  That's how SNMP works.


> (maybe snmpget ... table.column1, table.column2,..., table.columnX can do it)?

"snmpget" is no use here - GET requires you to know the index(es) of
each row in advance.    You'd need to use "snmpgetnext" instead - that
could indeed take all of the column objects as parameters, and walk
the table in parallel.

   Or else use the "snmptable" command, which does exactly this already.


> Is this to say Snmpv1 is not capable to handle table efficiently

SNMPv1 can handle this perfectly sensibly - you just need to
use the right tool.   Have a look at the workings of "snmptable"
rather than "snmpwalk".



>               I'm implementing my project based on
> net-snmp table, and I need to return one row after the other in order.

No - you don't.   You need to return the results appropriate
for whatever was in the incoming request.

If the incoming requests are asking for each row in turn,
   then that's what the agent should report.
If the incoming requests are asking for random elements,
   then *that* is what the agent should report.
As long as the agent is working correctly, then you'll get
  the right results.

But it's up to the client tools to request the appropriate OIDs,
and keep track of what to ask for next.     SNMP is essentially
a "stateless" protocol (much the same as HTTP), and the
agent doesn't need to keep track of who has asked it for what.


Dave

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to