Seems as if the reply to this sub-thread was overlooked, sorry.

In the ACP, a node has multiple IPsec connection, each of which acts like a
virtual link to another node and each of them will carry IPv6 packets
with arbitrary IPv6 source and destination adresses.

So the ideal, most compact option is:

Tunnel Mode. ESP payload (Next Header) is IPv6 (41)
TSi = (0, 0-65535, :: - FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)
TSr = (0, 0-65535, :: - FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)

This is not IPinIP. IPinIP would be if the IPv6 packet inside the ESP
encapsulation itself would have a next header field of 41 and and we
would have another IPv6 packet there.

I guess we could set the IP protocol selector to 41, but browsing through
RFCs, i can not find a single example where this is done, instead all
TSi examples use 0.

Transport Mode: Payload = ESP Next Header is GRE (47)
TSi = (47, 0-65535, Initiator-IPv6-LL-addr ... Initiator-ACP-LL-addr)
TSr = (47, 0-65535, Responder-IPv6-LL-addr ... Responder-IPv6-LL-addr)

These two choices are somewhat arbitrary, i am sure some vendor
not following this draft will later come and complain that he
prefers GRE in tunnel mode or IPinIP tunnel or transport mode,
but those profiles can always easily be added through later RFCs
if there is sufficient support by updating the ACP RFC and would
work proprietarily between vendor devices anyhow even today. For now i think
it is most interesting for ACP to have what is the most compact header
(tunnel mode) and one alternative showing use of ttransport mode
and hopefully useful to vendors with legacy gear that most often
has GRE tunnel interfaces but not explicit IPsec interfaces.

Here is the current tentative text, please yell if NOK:

-- native:

<t> An ACP node that is supporting native IPsec MUST use IPsec in tunnel mode, 
negotiated via IKEv2, and with IPv6 payload (e.g., ESP Next Header of 41). It 
MUST use local and peer link-local IPv6 addresses for encapsulation.  Manual 
keying MUST NOT be used, see <xref target="domcert"/>. Traffic Selectors 
are:</t>

<t>TSi = (0, 0-65535, :: - FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)</t>
<t>TSr = (0, 0-65535, :: - FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)</t>

<t>IPsec tunnel mode is required because the ACP will route/forward packets 
received from any other ACP node across the ACP secure channels, and not only 
its own generated ACP packets.  With IPsec transport mode (and no additional 
encapsulation header in the ESP payload), it would only be possible to send 
packets originated by the ACP node itself because the IPv6 address of the ESP 
must be the same as of the outer IPv6 header.</t>

-- GRE:

<t>The requirements for ESP/IPsec/IKEv2 with GRE are the same as for native 
IPsec (see <xref target="IPsec"/>) except that IPsec transport mode and next 
protocol GRE (47) are to be negotiated. Tunnel mode is not required because of 
GRE. Traffic Selectors are:</t>

TSi = (47, 0-65535, Initiator-IPv6-LL-addr ... Initiator-ACP-LL-addr)
TSr = (47, 0-65535, Responder-IPv6-LL-addr ... Responder-IPv6-LL-addr)

<t>If IKEv2 initiator and responder support IPsec over GRE, it has to be 
preferred over native IPsec.  The ACP IPv6 traffic has to be carried across GRE 
according to <xref target="RFC7676"/>.</t>

--

Cheers
    Toerless

On Thu, Feb 27, 2020 at 12:41:55AM +0200, Yoav Nir wrote:
> 
> 
> > On 26 Feb 2020, at 19:56, Michael Richardson <mcr+i...@sandelman.ca> wrote:
> > 
> > 
> > Yoav Nir <ynir.i...@gmail.com> wrote:
> >> The draft says ???IPsec tunnel mode is required ???, so it???s not
> >> transport. What goes in the TS payloads?
> > 
> > TSi=HostA-LL/128, TSr=HostB-LL/128, Protocol = GRE(47) or IPIP(41)
> 
> If that???s the intention, I don???t see why this should be tunnel mode. Both 
> GRE and IPIP are tunnels, and they do not require ESP tunnel mode to add yet 
> another IP header.
> 
> Yoav

_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to