Re: [dhcwg] [v6ops] Re: Question to DHCPv6 Relay Implementors regarding draft-ietf-dhc-dhcpv6-pd-relay-requirements Tue, 13 October 2020 16:08 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 54DCE3A082F; Tue, 13 Oct 2020 09:08:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=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: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Mt8pYjBYuxZv; Tue, 13 Oct 2020 09:08:37 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 203103A0407; Tue, 13 Oct 2020 09:08:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=badeba3b8450; t=1602605303; bh=xIjkzcCPUcnVtsylbB3z+2xF4jTsLZRD7rtXHeZMFQw=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=an1vaMxoQGaPk04qj0CELknKwyc5OyrzDL16KDDofOqsAslHvjKooH63U+wL3KHWX utGl4DQR1aCj2BXKNC7GhhBQNZ9+oK7EHM56kwIW/JjRqnMwBQbhxC8et3umEtRvcS Gr6M91orixV3YRUhawWWg9hjZ/Yn6UP6thbP4JJg=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from ([]) by (mrgmx104 []) with ESMTPSA (Nemesis) id 1MDysm-1ka6ba37XY-00A1UB; Tue, 13 Oct 2020 18:08:22 +0200
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.15\))
In-Reply-To: <>
Date: Tue, 13 Oct 2020 18:08:19 +0200
Cc: Michael Richardson <>, Jen Linkova <>, dhcwg <>, v6ops list <>, "Bernie Volz (volz)" <>, 6man <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <>
To: "Templin (US), Fred L" <>
X-Mailer: Apple Mail (2.3445.104.15)
X-Provags-ID: V03:K1:iLh6DyiSIal6NUjOWM0vsnWmFWJee8x9lkLPHkFLsZVNqB1IO+e /wwfS7fD5aD1bIoroopm6ozVxTAJdM8ozVJhCCgsh1gus0YwBCiMpIM0zdaRpjayk28UMgq vGk8A2TDtqoT5UivHitprdEzFd6Kjo2oPICt7CGruGfet8HBXNu/eaIszWhiIP35EauJIxy n1b2AOTcu0zrDOQwmRRDQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:0c42wfXtyiU=:r5xpJAtDhq5/WYoITZaGcw pvvpD82Cd4U9ZSa9Y3jgacCXEdpy9L9HKZgCLr0E3CR1Amzdq/b8CUbOSUtru7aYbqNzBGumv mLg7/pXEux4ER/J8xIrsnrL80CyViCptIBERbmJP/J2gLHtDJMCXXcuhvucfkBNM5zgawC6NH aZ45dKW3Qalgpa9UsqWPSKhAT+j44lr3dfQtnBueQVcyXuO+O+3teuHSuC8s5YaZVtqrB+TvE mDHzMmjeFhLR/DgN9wa7w36ohgEeACKcWWXvlW19+zLKA+sOvKmNpRmohg/7qQld+3pLlRqiC EuGSyfasty+/rKf4vWTBfo0FzgAGtKedheydTzVZlxgubj0NL4AZH/hwCF4tJAVS70BBTmPth 0uERZawflBk3dpBQPp7ONqNPfTB43FlJ4QayIwIoUS3+JEwFF1VLp9QXWLL330BumM3sQRgvR 1t2KcCGnS+axgMS9PUkpyKlM84uw/uOsFgWfR76U+WT6vOgHZ3Bgn/pO6ArAu5h83wFUsFJTp 0ugwfkJNbSZze2ioBrjox1gqkz0btCmV2mXYljXZ5SH3lZItVnzoNVf7gxMkuAB8SbZmwE6hE 6Rs2dR25fsWjPk1gfGLAs5JyDl7cTpKU/PB7+2DcjoE4Zr+WSUoK54cOsiO+/hK4PHYf1LJ/h vVdCngjm32axlD8BuJgzzZCEPHIRTSqIoAWe3Fxfvl6hAK/KjgmGzV0RYYeTP1tq9xaZLjtdQ dWcSvwAC/SkxE46ifdwBqpi9lZxd1ykmh0vQg1NvjZGQ3L3GfN43ndPrF8wylIh2hMSSR+/Md /P7jTF0VBLM+DNe2KMKyEfXjs87DUR2libipJGD2zqesfZ9yikEf9J8Cp2Pd76YLFDvZyIy0y XgMHAFOxlRxYQfwWlTTUVDdMl0W2CwHkNQ+r/ZkvEnDCNuTfei1ukALXKHUOkVQ+iXOrc1Opt 5wUDFHvmxqBoeOO4iDL8tBkzcBFPho6p/3T9fAUZqOk27Qw+vpOu3lgJOeXK0wNL1RYRBvkZI yfo5WRayTtLncqHtx05y53elWoePExqy3cS9WPsfFHWtK7UGi8auDd5elpvcnCV0Du9i4ey8l jPkm7qdAe6rMHbu44PrXbQG0o7FIZuro+aD60wuD2ROsL3Nc2VE3Ygg/rskFvRAuDle6S7QE9 PrNZQ10kVJo5r1WNPuZbyITQVwOMUxqj7mydTjZKPfZX72uahBHHqiLoXMdUKeKeRVgGPt0Eg GBmTi3Uh+ib99FBnrcczbeeYr+tpm6wLrpov9YgOFtw7SCct37GVRx2XWz0ZkJjkiNR7PgZ83 2+JnZsBv
Archived-At: <>
Subject: Re: [dhcwg] [v6ops] Re: Question to DHCPv6 Relay Implementors regarding draft-ietf-dhc-dhcpv6-pd-relay-requirements
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 13 Oct 2020 16:08:39 -0000

HI Fred,

Please see inline below.


> On 13. Oct 2020, at 15:55, Templin (US), Fred L <> wrote:
> Ian,
>> For multi-access links, when the packet's
>> ingress and egress interface match, and the source MAC and next-hop MAC addresses
>> match.
> As I said, this gets very tricky if the client has multiple MACs. If Client A has MAC addresses
> a1, a2, a3, a4, etc. it becomes very difficult for the relay to know that a packet received
> from one of the MAC addresses (e.g., a1) must not be sent back to another of the MAC
> addresses (e.g., a3). I think another failure case is if there is a proxy between the client
> and relay. In that case, the relay will see the MAC address of the proxy and not the
> MAC address of client A. And, if there were multiple additional clients B, C, D, etc.
> sharing the same proxy then the proposed check could block legitimate traffic.

[if - The client would have to source DHCP multicast messages from MAC a3 and source egress traffic from MAC a1. Have you got an example of why the client might be configured in this way? 

Isn’t the worst case here that the results would be no different to R-4 not existing, but for the (I would guess more common) single client MAC address case, we can improve things?

For the proxy case, I can see the problem that you describe and in this case, the best
course of action would be to disable the drop policy.]

> As I said before, I think the better fix is to instrument the client. If the client receives
> a packet on its relay-facing interface, and the routing system determines that the
> packet should be forwarded out the same interface via a default route, the client
> must drop the packet. That way, the relay never sees a looped packet, and there
> is no extraneous traffic on the client/relay interface.

[if - There’s a couple of problems that this requirement is trying to address:

1, A misbehaving client (accidentally or otherwise)
2, The volume of traffic being forwarded by the relay consumes the available bandwidth meaning
that DHCP configuration can’t complete

In both cases, the client can’t be relied on to solve the problem]

> Fred
>> -----Original Message-----
>> From: dhcwg [] On Behalf Of
>> Sent: Tuesday, October 13, 2020 6:16 AM
>> To: Michael Richardson <>ca>; Jen Linkova <>
>> Cc: dhcwg <>rg>; v6ops list <>rg>; Bernie Volz (volz) <>rg>; 6man
>> <>
>> 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 <> wrote:
>>> Jen Linkova <> 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 <>   . o O ( IPv6 IøT consulting )
>>>          Sandelman Software Works Inc, Ottawa and Worldwide
>>> --------------------------------------------------------------------
>>> IETF IPv6 working group mailing list
>>> Administrative Requests:
>>> --------------------------------------------------------------------
>> _______________________________________________
>> dhcwg mailing list