[mrtg-developers] Re: MRTG 2.10 (fwd)

Lorenzo Colitti lorenzo at colitti.com
Wed May 28 12:37:25 MEST 2003


Simon Leinen wrote:

> Now one could argue that agents that violate RFC 1157 are *still*
> broken, even in the IPv6 world, and that, since IPv6 support in agents
> is relatively recent, there would be better chances to get these
> agents FIXED.  In particular the Net-SNMP agent (which seems to be
> what you are using on your Debian system) can be fixed relatively
> easily, by producing a clean documented patch and submitting it as a
> contribution (see http://net-snmp.sourceforge.net/).

But isn't such behaviour hard to achieve with the standard socket API? 
Wouldn't you have to create a new socket, bind() and connect() it for 
every incoming packet?

There is the advanced IPv6 socket api (rfc 2292), which allows you to 
specify the source address with ancillary socket data (section 5) but 
perhaps it's not supported on all platforms on which net-snmp supports IPv6.

Or am I missing something?

> If we want to provide the same workaround for IPv6 that we have for
> IPv4, then we MUST use an unconnected datagram socket.  If I
> understand correctly, Lorenzo's and Valerio's code has to use a
> connected datagram socket for some reason - maybe this reason goes
> away when IO::Socket::INET version 1.25 is replaced by
> IO::Socket::INET6 version 1.26 (from your "INET6-1.90", hm, confusing
> versioning...)?

Yes, that's correct. If you call IO::Socket::INET6->new() but don't 
provide a remote endpoint, the Debian INET6 module creates an AF_INET 
socket(!). If you do provide a remote endpoint, it creates an AF_INET6 
socket, but then it calls connect().


Regards,
Lorenzo

--
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