Request/responses with proxy forwarder

Ram Krishnaswamy RKrishnaswamy____pathfire.com
Wed Jan 2 21:46:59 CET 2002


Thanks Jochen,

I thought exactly the way you thought (as indicated below) and it works.
Basically, I added a flag in send_snmp_request but the flag is passed "true"
right from proxy_forwarder class all the way to snmp++ send_snmp_request. On
the response from the proxy agent, I don't really care since it is taken
care of in mib.cpp, requestlist just like any other response. The code
change was minimal. 

But thanks for all your help. I really appreciate it. 

Ram

-----Original Message-----
From: Jochen Katz [mailto:katz____agentpp.com]
Sent: Thursday, December 20, 2001 8:44 AM
To: Ram Krishnaswamy
Cc: agentpp-dl____agentpp.com
Subject: Re: Request/responses with proxy forwarder


Hi,


> (responses) dialup <-- Back-channel <-- Agent <--- Satellite
(requests)
>                               |
>                               |
>                          Dell, NAS agents

> Do you think your second solution, extending pdu/target/address class,
solve
> this problem? If it does, can you describe it in a little bit more
detail?

I thought of a flag that is added to only one of these classes. It
should be initialized to false and copied in the methods that copy or
create a new object (like operator=(),...). During processing of a
request, the flag could be set through a new method. I did this, when I
added the SNMPv3 variables to the Pdu class.

But maybe there is an easier way:

> > One solution that I was thinking of was to let SNMP++ code know that
> the
> > request is for a proxy agent (thereby bypassing back-channel
manager).

If you can ensure that all get, get-next requests must be sent to the
proxies and all responses or traps must be sent to the back channel
manager, you could extend the call to send_snmp_request() to indicate
the type of snmp-message, that is sent.

> But
> > the question I have is what happens to the response from the proxy
> agent?

I don't see a problem here: it is received, processed and the response
to the original request is sent out.

> > How do I differentiate between proxy agent request/response versus
> sending
> > the response to back-channel manager? If this is possible, how can
> > this be done?

Which one in the graphic is the agent++ agent? I thought it is the
"Agent" but now I think, it is located as "Dell/NAS agents"...

If it's the "Agent", then I would suggest the send_snmp_request()
solution. If not, the extension to the Address class or the ip-list
should work.

Kind regards,
  Jochen





More information about the AGENTPP mailing list