Subject: Re: (ngtrans) draft-sylee-bia-00.txt comment

From: Erik Nordmark <[email-masked]>
Date: Tue, 20 Mar 2001 06:14:16 +0000 (PST)

> There was a question at the meeting whether addresses should be per
> host, per process or whatever. The draft suggests using
> 0.0.0.0 ~ 0.0.0.255. I think the easiest would be to have addresses
> per pid and use say 0.P1.P2.0 - 0.P1.P2.255 per process where P1 P2
> are the 16 bits of the process id.

Let me clarify what the per-process issue is (at least the one I've seen).

If you implement BIA in user space (e.g. an LD_PRELOAD'able library)
then, at least on a multi-user system, you can't have the mapping between
IPv4 local addresses and the IPv6 addresses be global since it would
allow one process to mess up traffic for another process e.g. by redirecting
it to some other IPv6 address.

However, certain applications have multiple cooperating processes
(netscape communicator being an example; DNS lookups are done by a DNS helper
process while the IP addresses are used by the main process).
Thus the mapping needs to be sharable between different processes.

The tradeoff in the prototype implementation I built was to make this
mapping be per user id. Quite messy but necessary to make communicator work.

  Erik