[Twisted-Python] UDP answer from different IP

Phil Mayers p.mayers at imperial.ac.uk
Thu Apr 6 02:16:35 MDT 2006


Wolfgang Eichler wrote:
> I would like to clarify the situation and describe my current
> work-around:
> 
> My twisted application is on client machine A. It sends  SNMP
> requests to server machine B.
> 
> Machine B has two interfaces to the network with IP '130.119.127.196'
> and '130.119.127.127' . Here runs some arbitrary SNMP Agent.
> 
> 
> When sending the getNext-message getRequestKey() returns:
> 
> (('130.119.127.196', 6665), 782)

Then the SNMP code you're using is wrong. As you have found, it is 
EXTREMELY common for this to happen (the SNMP reply to come from a 
different IP than the request was sent to). Whether it's a wrong thing 
for the router/host to do is irrelevant for practical purposes - lots 
and lots of network equipment, some of it very expensive, does it.

My SNMP code does as you suggest, just uses the port number and ID number.

> I wonder why we need the IP address and port at this point, since the
> ID (782) is unique to machine A and port 25000 and is sufficient to
> identify the request to which this incoming message belongs.
> 
> I patched in snmpprotocol.py:

I can't see if that's the specific right thing to patch since I'm not 
familiar with TwistedSNMP, but as I say I have a python/C-helper SNMP 
stack, and it does exactly as you suggest, so if it works I'd say you've 
fixed it.




More information about the Twisted-Python mailing list