Re: [mif] I-D Action: draft-ietf-mif-mpvd-arch-01.txt

Markus Stenberg <> Mon, 12 May 2014 07:59 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id DCE801A041E for <>; Mon, 12 May 2014 00:59:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id TwplDaOyEIYP for <>; Mon, 12 May 2014 00:59:48 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 39EA11A0437 for <>; Mon, 12 May 2014 00:59:47 -0700 (PDT)
Received: from kosame.lan ( by ( (authenticated as stenma-47) id 534D34B50202DCC4; Mon, 12 May 2014 10:59:37 +0300
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Markus Stenberg <>
In-Reply-To: <>
Date: Mon, 12 May 2014 10:59:36 +0300
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <>
To: Dmitry Anipko <>
X-Mailer: Apple Mail (2.1874)
Cc: "" <>
Subject: Re: [mif] I-D Action: draft-ietf-mif-mpvd-arch-01.txt
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiple Interface Discussion List <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 12 May 2014 07:59:51 -0000

On 10.5.2014, at 5.51, Dmitry Anipko <> wrote:
> Thank you for the comments. In the Homenet scenario you described, I agree on the substance with what you wrote – if the router can do such formation of explicit PVDs, it should do that to prevent mix-up of configuration. Such text can be added into the section 4, example network configuration and number of PVDs. That said, I don’t think it contradicts to 2.3, because Implicit PVDs by definition in 2.2. apply only when there the network is non-PVD aware:
> <Quote>
>    It is likely that for a long time there may be networks which do not
>    advertise explicit PVD information, since deployment of any new
>    features in networking protocols is a relatively slow process.
>    When connected to networks, which don't advertise explicit PVD
>    information, PVD-aware node shall automatically create separate PVDs
>    for received configuration.  Such PVDs are referred to in this
>    document as "implicit".
> </quote>
> So from the host perspective, presence of a router, which can/does advertise PVDs, makes it a scenario with explicit PVDs, and not implicit ones.

2.2 has also that mixed implicit+explicit mode which I’d rather see die in fire, because it makes the definition just more complicated. I think interface should be either fully explicit, or fully implicit, because mixed mode is a) more complicated, and b) possible to fail (implicit in general does, and mixed doesn’t help here).

> >>, I don’t see the point in non-explicit PVDs coming _to_ hosts except perhaps in case of IPv4 
> My understanding, is that the main reason we introduced the notion of implicit PVD is to be able to handle configurations received on multiple interfaces (which typically are connected to different networks) in the same way as in the case of multiple explicit PVDs, basically to unify and simplify conceptual host implementation. The acknowledged limitation is that we don’t know well how to form multiple implicit PVDs on one interface (or form implicit PVDs, spanning multiple interface).

See my comment above about fail - I’m not convinced implicit PVDs work well in any case. BCP38-ish filtering by upstream ISPs on either normal data traffic or DNS requests, etc => you can’t just pool parameters together implicitly and hope they work.

> >> Also, I’d just rather treat PVD-bind as per-interface or per-address one; if we can determine packet doesn’t belong to it (outside the application), application shouldn’t know, and remote node shouldn’t know application is listening to some other PVD. So connection refused/equivalent.
> The current text is
> <quote>
>   If the determined receiving PVD of the packet is not in the allowed
>    subset of PVDs for the particular app/transport API object, the
>    packet should be handled in the same way as if there were no listener
>    (alternatives - error message 'administratively prohibited', or just
>    refer to pre-PVD behavior for legacy behavior for interface-scoped
>    binds).
> </quiote>
> It seems the case you described would be where the “allowed subset of PVDs” contains only one PVD. If you think the current text is not sufficient, can you please suggest the change?

Well, I’m mostly concerned about complexity of that whole section - having dealt with brokenness of cross-platform dual AF IPv6 sockets recently[1], I’m not very keen to have very complicated semantics anywhere. All of that reverse-RPF stuff etc sounds just overkill to me (and potentially harmful, if you assume someone actually has PI address space coming from multiple connections). If it was up to me, I’d get rid of cross-PVD filtering stuff altogether and leave it as exercise to firewall vendor or whoever really cares. I don’t see it affecting the PVD semantics in any way, except adding extra text. 

So: concrete proposal - nuke second paragraph, remove alternatives from third paragraph.