[mrtg-developers] INET6 Perl module: what do we do?
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
More information about the mrtg-developers