Re: [dhcwg] [v6ops] [EXTERNAL] Re: Question to DHCPv6 Relay Implementors regarding draft-ietf-dhc-dhcpv6-pd-relay-requirements

ianfarrer@gmx.com Thu, 05 November 2020 14:48 UTC

Return-Path: <ianfarrer@gmx.com>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B7DB33A12EB; Thu, 5 Nov 2020 06:48:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Y5Ci69039_vH; Thu, 5 Nov 2020 06:47:58 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B81EF3A12CD; Thu, 5 Nov 2020 06:47:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1604587669; bh=MFT7p3yzAJ216jAyzAQnryzjRluze8es8R9QXbFCcpM=; h=X-UI-Sender-Class:From:Subject:Date:In-Reply-To:Cc:To:References; b=FmQi3vjdeMOT+EPQLtOfBhIRriQWSYNWObds3PV4EoLm07PvlkyyxqUrqEbFX+EjC y4OoCJZGUZRh2nWgFqu2XSVSk5ezxuJBUkldcoWdW316vfYov4Wo0yoViGPVpaCp86 j/ZhhCuGmhtJa2NgewV+RaGzDgiTRmS1Ey0Sk2GA=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.128.43] ([89.1.62.143]) by mail.gmx.com (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MGQnF-1kXgwz3WaT-00GpWE; Thu, 05 Nov 2020 15:47:48 +0100
From: ianfarrer@gmx.com
Message-Id: <819FC1BA-948F-4A35-9BF0-B5DAFD78057F@gmx.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_B592B40A-FE16-4D6C-BBB3-96D37E752903"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.17\))
Date: Thu, 5 Nov 2020 15:47:46 +0100
In-Reply-To: <CAJgLMKt6Zd4H9SdFog3y36HMbCizQ-SsSL0p+DsdtVchz2xjUg@mail.gmail.com>
Cc: Michael Richardson <mcr+ietf@sandelman.ca>, v6ops list <v6ops@ietf.org>, dhcwg <dhcwg@ietf.org>
To: Timothy Winters <tim@qacafe.com>, "Bernie Volz (volz)" <volz=40cisco.com@dmarc.ietf.org>, Jen Linkova <furry13@gmail.com>
References: <5F6947F2-F7DF-4907-8DD5-28C2B20A91DE@gmx.com> <CAFU7BAT87uhUKZM-G9MjCgtmGbdCwXorP3SfMJm7_Ax7pvwDjg@mail.gmail.com> <f2a9e0188cd84f52adce279cfb04cbcc@boeing.com> <D259F559-8528-428A-A9DF-0D9FB07E6BE4@gmx.com> <BN7PR11MB2547029C572CB32F3C593AD7CF0B0@BN7PR11MB2547.namprd11.prod.outlook.com> <ff36a6d9f0834b5bbf331c6c40df16b8@boeing.com> <A0B74F43-07A4-47C2-B773-3F2071CFCED3@cisco.com> <CAFU7BARUKw_c2c9+3k9kJ0UqrATTruGKPGkVb5NPTo=vspb0NA@mail.gmail.com> <19432.1602258078@localhost> <644565BC-5818-4244-A34A-1B39C3FC9175@gmx.com> <BYAPR11MB25496B31F581D4E32D46542ACF040@BYAPR11MB2549.namprd11.prod.outlook.com> <CAFU7BARy-GFLDx=jRPu8Mst_Lc9fVRNTMT1MxOpEKqJ+qq9oaw@mail.gmail.com> <BCD1B4F1-32F3-4ECB-8A97-C4E58D746F22@gmx.com> <BDA018BA-70A6-4DC3-92FA-21506C72F6D9@cisco.com> <CAJgLMKt6Zd4H9SdFog3y36HMbCizQ-SsSL0p+DsdtVchz2xjUg@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.104.17)
X-Provags-ID: V03:K1:eQ6DWErdmPfPS2P9vfH7GnPmRcbCLCCxKFrGS9ooVk91WZEGOa3 mPxr+x64J+Imqxk4rxSiIa1lbPEOEKT0qCCeemw0HW+1QpWXC++wzISuUJ9TjvhEhSpGANj +rydRNCO39pQ/E8D86bTfDgpPZh8v+07uZoDVUlA0GHQxPEgjwWIckwumYJtgecjrV2135X UbjtARHK6Fu6hC+QwImQg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:zDKcHWqatO8=:u/BQwa0iy+nSqH9OqWiOQo GCyisRgrqJPYnJ2I85Kgr4PmjMRAieyb3PQ2js3qwRcR8e9rMAJjEHfYIo3mqC9UqEagmRChv sM/IPJ8M3WdnEhU8SCWRJMqkkVR28giY2CFQ07DzDttNXnXtJCyMUClwwn3y5UDSwM7eFbib+ e8z7IGU6C76XH/FWTib+M337Fp3Lw84U3LRHqWhRgxaeXPDx6gfINKh8LbLkiPFknmzJVgPMf RvhjSvO6L8mr9swt2nQY/vKC7HUHEI3WEi9lXwEO5nYjmFgYVpKfcpkgvK6pRTqJeOqJDqczK AAqo0Z/uljyh9wlh2i2/nGXHoAw6igGKbKGdwqiXm2JQDEhwXB6h92GB0N9fHIIZMEhQfKHtq N/1KXDiltROt2S0LsU2g/aREyg2kRvrxqny8bdrZ4pEuYoOF+PkedNNPfImDYTf6obv41sGHs 2Fvylszktr3p2m+U53EVTjLBGOyL4XQLHWSmDbnlwK2wAuniB9mnalFmE5peqyflzX0Ddtlla zDROy3P3eom+TdK7BJV7na4f6rVFCvj+pxAjhia3S3ZQcBQA4vKy8vtHNHHhgYra7ffCTgAPa uLS8ToJU0YUsf3SVKg7D4q35FJngbdwFeu8al3Z3OR5QGeC/y5IUJEmGXbvy4/OrTUVPftVT2 qTowgEOtg186NT+eGmiEIpV+3bVZZRPSpA3PgAXU1HeWoSdCT2VJYayoRKxpnO9nEZGiCs72r fJJHENSNBYWN9FiWX7P4ZsWVB+KZ0x7zzApjTs319SG6+8mkN2iRxifeb5qY/WTLxbBoRG6pV R6KxLchvURQ3E2TdlweVg0JI/JTXMITM7kw02YvKLZ4aE+U1kR+PDafTN/Zro9cK4+mRAnikJ nL7JBvh4aje1RlZmayrg==
Archived-At: <https://mailarchive.ietf.org/arch/msg/dhcwg/YR39AxY56K0cdJrykPqOe1ZTZUM>
Subject: Re: [dhcwg] [v6ops] [EXTERNAL] Re: Question to DHCPv6 Relay Implementors regarding draft-ietf-dhc-dhcpv6-pd-relay-requirements
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dhcwg/>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2020 14:48:01 -0000

Hi,

Just to be clear, are we talking about Michael’s proposed rewording/restructuring of the requirement text (here with Bernie’s link-layer wording change):

   R-4
   To prevent routing loops, the relay SHOULD implement a configurable
   policy to drop potential looping packets received on any DHCP-PD client
   facing interfaces.
   The policy SHOULD be configurable on a per-client or per-destination basis.

   Looping packets are those with a destination address in a prefix
   delegated to a client connected to that interface, as follows:

        1) For point-to-point links (e.g., PPPoE), when the packet’s ingress and egress
           interfaces match.

        2) For multi-access links (e.g., ethernet), when the packet’s
           ingress and egress interface match, and the source link-layer and next-hop 
           link-layer  addresses match.

   An ICMPv6 Type 1, Code 6 (Destination Unreachable, reject route to destination) error message MAY
   be sent as per [RFC4443], section 3.1.  The ICMP policy SHOULD be configurable.


Thanks,
Ian


> On 4. Nov 2020, at 14:01, Timothy Winters <tim@qacafe.com> wrote:
> 
> 
> I agree with Bernie, link-layer address would be an improvement to the Mac Address.
> 
> ~Tim
> 
> On Wed, Nov 4, 2020 at 7:15 AM Bernie Volz (volz) <volz=40cisco.com@dmarc.ietf.org <mailto:40cisco.com@dmarc.ietf.org>> wrote:
> Hi ... looks good but perhaps MAC address is too Ethernet specific and just link-layer address would be better?
> 
> - Bernie
> 
>> On Oct 29, 2020, at 12:24 PM, "ianfarrer@gmx.com <mailto:ianfarrer@gmx.com>" <ianfarrer@gmx.com <mailto:ianfarrer@gmx.com>> wrote:
>> 
>> 
>> Hi,
>> 
>> Sorry for the delay in reply, I’ve been out of the office for the last few weeks for various reasons.
>> 
>> Here’s a new wording proposal incorporating Jen & Bernie’s suggestions:
>> 
>> R-4
>> To prevent routing loops, the relay SHOULD implement a configurable policy to drop packets
>> received on a DHCP-PD client facing interface with a destination address in a prefix delegated
>> to a client connected to that interface, as follows:  For point-to-point links, when the packet’s
>> ingress and egress interfaces match. For multi-access links, when the packet’s ingress and
>> egress interface match, and the source MAC and next-hop MAC addresses match. An
>> ICMPv6 Type 1, Code 6 (Destination Unreachable, reject route to destination) error message MAY
>> be sent as per [RFC4443], section 3.1.  The ICMP policy SHOULD be configurable.
>> 
>> Thanks,
>> Ian
>> 
>>> On 15. Oct 2020, at 03:51, Jen Linkova <furry13@gmail.com <mailto:furry13@gmail.com>> wrote:
>>> 
>>> On Wed, Oct 14, 2020 at 12:44 AM Bernie Volz (volz) <volz@cisco.com <mailto:volz@cisco.com>> wrote:
>>>> If not, perhaps we just say:
>>>> 
>>>> R-4
>>>> To prevent routing loops, the relay SHOULD implement a configurable policy to drop traffic received from an uplink interface as follows:
>>> 
>>> I'm not sure 'from an uplink interface' makes sense. In the case of a
>>> routing loop caused by an amnesiac DHCP-PD client it would be a
>>> downstream interface.
>>> The scenario when such traffic arrives from an uplink interface is
>>> 'the uplink router believes the prefix is delegated to the client but
>>> the relay does not have a route pointing to the client so it sends
>>> traffic back' - so more likely 'an amnesiac relay' case.
>>> 
>>>> For point-to-point links, when the packet's ingress and egress interfaces match. For multi-access links, when the packet's ingress and egress interface match, and the source MAC and next-hop MAC addresses match. An ICMPv6 Type 1, Code 6 (Destination Unreachable, reject route to
>>>> destination) error message MAY be sent as per [RFC4443], section 3.1.  The ICMP policy SHOULD be configurable.
>>>> 
>>>> - Bernie
>>>> 
>>>> -----Original Message-----
>>>> From: ianfarrer@gmx.com <mailto:ianfarrer@gmx.com> <ianfarrer@gmx.com <mailto:ianfarrer@gmx.com>>
>>>> Sent: Tuesday, October 13, 2020 9:16 AM
>>>> To: Michael Richardson <mcr+ietf@sandelman.ca <mailto:mcr+ietf@sandelman.ca>>; Jen Linkova <furry13@gmail.com <mailto:furry13@gmail.com>>
>>>> Cc: Bernie Volz (volz) <volz@cisco.com <mailto:volz@cisco.com>>; dhcwg <dhcwg@ietf.org <mailto:dhcwg@ietf.org>>; 6man <ipv6@ietf.org <mailto:ipv6@ietf.org>>; v6ops list <v6ops@ietf.org <mailto:v6ops@ietf.org>>
>>>> Subject: Re: [dhcwg] [v6ops] [EXTERNAL] Re: Question to DHCPv6 Relay Implementors regarding draft-ietf-dhc-dhcpv6-pd-relay-requirements
>>>> 
>>>> Hi,
>>>> 
>>>> Thanks for all of the discussion on this. We’ve reworked the requirement as follows:
>>>> 
>>>> R-4
>>>> To prevent routing loops, the relay SHOULD implement a configurable policy to drop client traffic as follows:  For point-to-point links, when the packet's ingress and egress interfaces match. For multi-access links, when the packet's ingress and egress interface match, and the source MAC and next-hop MAC addresses match. An ICMPv6 Type 1, Code 6 (Destination Unreachable, reject route to
>>>> destination) error message MAY be sent back to the client.  The ICMP policy SHOULD be configurable.
>>>> 
>>>> Thanks,
>>>> Ian
>>>> 
>>>>> On 9. Oct 2020, at 17:41, Michael Richardson <mcr+ietf@sandelman.ca <mailto:mcr+ietf@sandelman.ca>> wrote:
>>>>> 
>>>>> 
>>>>> Jen Linkova <furry13@gmail.com <mailto:furry13@gmail.com>> wrote:
>>>>>> I think there is confusion re: the scenario we are talking about.
>>>>>> I've attached the diagram for the case which concerns me.
>>>>>> So:
>>>>>> - The Relay R has an interface eth0 connected to a switch S.
>>>>>> - Devices A and B are connected to the same switch and using R as a
>>>>>> default gateway.
>>>>>> - The prefix 2001:db8::/56 was delegated to a client A via the relay R.
>>>>> 
>>>>> a friendly amendment to your example to aid in human comprehension:
>>>>>    } - The prefix 2001:db8:0000:0123:/64 was delegated to a client A via the relay R.
>>>>>    }  - R installs a route for 2001:db8:0000:0123:/64 towards A via eth0.
>>>>> 
>>>>>> - The device B (which has an address NOT from the delegated prefix,
>>>>>> but from another /64 assigned to that common link, let's sat
>>>>>> 2001:db8:cafe::/64) sends a packet to an address from the delegated
>>>>> 
>>>>> now, my brain can more clearly see that 2001:db8:cafe::/64 is not
>>>>> within 2001:db8:0000:0123:/64, while I had to use a few extra brain
>>>>> cells to see that it wasn't in that ::/56 :-)
>>>>> 
>>>>>> What I'd expect to happen (with DHCP-PD or without - e.g. if R has a
>>>>>> static route towards A, not a dynamic route produced by PD):
>>>>>> - the packet is sent to A. Well, if A does not have a route to
>>>>>> 2001:db8::42 then indeed a routing loop might happen. But if A does
>>>>>> have a route, the packet will be delivered.
>>>>> 
>>>>>> What seems to be required by R4:
>>>>>> - R detects that the packet is received via eth0 and needs to be sent
>>>>>> back to eth0. R4 seems to require such packets to be dropped.
>>>>>> So if B would never be able to communicate to any address in the
>>>>>> delegated prefix, right?
>>>>> 
>>>>>> Am I missing anything?
>>>>> 
>>>>> I think that you got it right.
>>>>> 
>>>>>>> Perhaps the missing piece of the rule is don’t send it back to where it came from, based on link layer addresses (or link if point-to-point).
>>>>> 
>>>>>> Yes. If R4 was saying 'drop the packet if it comes from the same
>>>>>> link-layer address you are going to send it back' - it would make
>>>>>> total sense. But I don't think routers do *that*.
>>>>> 
>>>>> Yes, if we made the check on L2 address, then it would work.
>>>>> And I agree that routers are exactly doing that.
>>>>> 
>>>>> I think that it also works if B is a router with additional interfaces
>>>>> downstream, unless there are multiple paths.
>>>>> 
>>>>> --
>>>>> Michael Richardson <mcr+IETF@sandelman.ca <mailto:mcr+IETF@sandelman.ca>>   . o O ( IPv6 IøT consulting )
>>>>>          Sandelman Software Works Inc, Ottawa and Worldwide
>>>>> 
>>>>> --------------------------------------------------------------------
>>>>> IETF IPv6 working group mailing list
>>>>> ipv6@ietf.org <mailto:ipv6@ietf.org>
>>>>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6 <https://www.ietf.org/mailman/listinfo/ipv6>
>>>>> --------------------------------------------------------------------
>>>> 
>>> 
>>> 
>>> -- 
>>> SY, Jen Linkova aka Furry
>> 
> _______________________________________________
> v6ops mailing list
> v6ops@ietf.org <mailto:v6ops@ietf.org>
> https://www.ietf.org/mailman/listinfo/v6ops <https://www.ietf.org/mailman/listinfo/v6ops>