[mrtg-developers] INET6 Perl module: what do we do?

Lorenzo Colitti lorenzo at colitti.com
Wed May 21 12:40:09 MEST 2003

Rafael Martinez Torres wrote:
>>This is because the SNMP agent is replying using a different IPv6
>>address than the one the query was sent to. This is what tcpdump shows:
> Can you configure the SNMPd agent running on my PC to reply from the same
> address always ? Or can you constraint just to listen on a fixed IPv6
> address ?
> If not, (please, confirm), the patch would present a problem

Technically, snmpd is in violation of RFC 1157, which says:

>  [...] If, as a result of
>  this processing, a message is returned then the source
>  transport address that the response message is sent from
>  shall be identical to the destination transport address
>  that the original request message was sent to.

However, the code in SNMP_Session does go out of its way to make sure 
that responses will work correctly, ignoring the source address and the 
source port of the SNMP response and only looking at the destination IP 
address and port. This is good.

Our IPv6 code can't do this because it has to work around a bug in the 
INET6 module, which can't open an UDP socket over IPv6 unless the remote 
host and port are specified and the socket is connected. And if the 
socket is connected, only replies from that IPv6 address and port will 
come back to cfgmaker/mrtg.

Your INET6 module does not have this bug, so your patch works. On the 
other hand, it is different from the INET6 module used in Debian (which 
is the one we use), and also, from what I can see, from the KAME 
version, and I'm not sure that having yet another INET6.pm floating 
around the net would be a good idea.

But we can't fix the bug without, at least, fixing Debian's INET6.pm. 
Perhaps your version of INET6.pm could be distributed with MRTG, but 
would that make sense? Who would maintain it?

I think what MRTG really needs is to have just one INET6 module, that 
could be downloaded from CPAN, that would work the same for everybody, 
and that everybody could fix bugs in. But who would maintain it? And 
where should the code come from? The KAME version from 1999? The Debian 
version? Your version?

Are you in contact with the KAME developers, and if so, do you know if 
they are still working on Perl IPv6 support? Or did you just modify the 
code without contacting them?

I'm not sure what we should do here. Tobias, Simon, maybe you have some 
thoughts on the matter?

> Sorry , even changing to the other address I have the same result: I
> cannot to confirm your solution . :-|

Maybe you can try doing a tcpdump to see what was happening?
Also, if you are running cfgmaker against an snmpd on the same host, be 
sure to use [::1] as the IPv6 address, not the IPv6 address of the 
host's interface, otherwise it won't work. This is the same problem, of 


Unsubscribe mailto:mrtg-developers-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:mrtg-developers-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/mrtg-developers

More information about the mrtg-developers mailing list