On 18-Oct-21 14:30, Darren Dukes (ddukes) wrote:
> Hi Brian,
> 
>> Would it change your examples if you used 2001:db8:a:1100::1 instead?
> 
> No it would not change the examples, any other assignment for loopback 
> interfaces works the same.


OK, that's helpful.

>> Still, using IID == 0 seems to be asking for trouble, since it's a 
reserved value and is definitely special-cased in some code. Unless, that 
is, you want exactly the properties described in RFC4291 section 2.6.1 (thanks, 
Mark Smith).
> 
> As Michael described, this assignment to loopback interfaces works fine.  The 
> addresses are assigned as /128’s, not prefixes, the 
router subnet anycast concern is not applicable.


I'm not sure about that. Is there a risk that ICMP replies sent to such an 
address might get lost? Standard host stacks identify any such address as a 
router when they save it in the neighbor cache. My home router declines to 
answer ICMP pings sent to such an address. (Try pinging fe80::) However, that 
is not our problem here.

On the other hand, it seems that as the compressed SIDs are shifted out one at 
a time, we will end up with an effective zero IID at the final recipient. So 
the DA would then be a subnet router anycast address, according 
to RFC4291. That seems a bit strange and might have unexpected consequences, 
such as more than one box handling the packet and decapsulating it.

   Brian

> 
>  
> 
> Thanks,
> 
>   Darren
> 
>  
> 
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> *From:* Brian E Carpenter <brian.e.carpen...@gmail.com>
> *Sent:* Sunday, October 17, 2021 6:15 PM
> *To:* Darren Dukes (ddukes); Mark Smith
> *Cc:* SPRING WG List; 6man WG; Francois Clad (fclad)
> *Subject:* Re: [spring] Question from SPRING regarding 
> draft-filsfilscheng-spring-srv6-srh-compression
> 
>  
> 
> On 18-Oct-21 09:28, Darren Dukes (ddukes) wrote:
>> Hi Brian, the draft says:
>>
>>    Loopback interface addresses are allocated from the prefix
>>    2001:db8:a::/48.
>>
>> In the examples 2001:db8:a:1100:: is the IPv6 address assigned to the 
>> loopback interface of node 11.
> 
> 
> Still, using IID == 0 seems to be asking for trouble, since it's a reserved 
> value and is definitely special-cased in some code. Unless, that 
is, you want exactly the properties described in RFC4291 section 2.6.1 (thanks, 
Mark Smith).
> 
> Would it change your examples if you used 2001:db8:a:1100::1 instead?
> 
>    Brian
> 
>>
>>  
>>
>> Darren
>>
>>  
>>
>>  
>>
>>  
>>
>> On 2021-10-17, 2:06 AM, "ipv6" <ipv6-boun...@ietf.org> wrote:
>>
>>  
>>
>> Ah, thanks, that's the sort of thing you can only know by knowing it :-). 
>> Ok, so my question about the examples supplied stands. Using this as a
> source address has interesting implications.
>>
>> Regards,
>>     Brian Carpenter
>>     (via tiny screen & keyboard)
>>
>>  
>>
>> On Sun, 17 Oct 2021, 18:58 Mark Smith, <markzzzsm...@gmail.com 
>> <mailto:markzzzsm...@gmail.com <mailto:markzzzsm...@gmail.com>>> wrote:
>>
>>     On Sun, 17 Oct 2021 at 11:32, Brian E Carpenter
>>     <brian.e.carpen...@gmail.com <mailto:brian.e.carpen...@gmail.com 
>><mailto:brian.e.carpen...@gmail.com>>> wrote:
>>     >
>>     > Thanks for this draft.
>>     >
>>     > Question: where you show "Source address 2001:db8:a:1100::" is that 
>>intended to be the complete address, because it looks like a prefix? I
> can't find anywhere that an interface identifier of zero is forbidden, but 
> it's unusual, and can only exist once in a given subnet.
>>     >
>>
>>     The IID value of all zeros is the subnet-router anycast address within
>>     a subnet, and is required. See 2.6.1 of RFC4291.
>>
>>     For example, Linux automatically configures the subnet-router anycast
>>     address for all prefixes on an interface if the interface is a
>>     forwarding interface.
>>
>>     [mark@opy ~]$ ip -6 route show table local | grep anycast
>>     anycast 2403:5803:XXXX:: dev wlp3s0 proto kernel metric 0 pref medium
>>     anycast fe80:: dev wlp3s0 proto kernel metric 0 pref medium
>>     [mark@opy ~]$
>>
>>     (The "local" route table is where the interface address and multicast
>>     route route table entries are kept in Linux. They don't all show up
>>     via the normal 'ip addr show' or 'ifconfig' commands).
>>
>>     Regards,
>>     Mark.
>>
>>
>>     > Regards
>>     >    Brian Carpenter
>>     >
>>     > On 16-Oct-21 10:55, Francois Clad (fclad) wrote:
>>     > > Hello Erik,
>>     > >
>>     > >
>>     > >
>>     > > You may find some examples here: 
>>https://datatracker.ietf.org/doc/draft-clad-spring-srv6-srh-compression-illus/
>> 
>><https://datatracker.ietf.org/doc/draft-clad-spring-srv6-srh-compression-illus/>
>> 
>><https://datatracker.ietf.org/doc/draft-clad-spring-srv6-srh-compression-illus/
>> 
>><https://datatracker.ietf.org/doc/draft-clad-spring-srv6-srh-compression-illus/>>
>> 
>><https://datatracker.ietf.org/doc/draft-clad-spring-srv6-srh-compression-illus/
>> 
>><https://datatracker.ietf.org/doc/draft-clad-spring-srv6-srh-compression-illus/
>> 
>><https://datatracker.ietf.org/doc/draft-clad-spring-srv6-srh-compression-illus/>>>
>>     > >
>>     > >
>>     > >
>>     > > Hope this helps.
>>     > >
>>     > >
>>     > >
>>     > > Thanks,
>>     > >
>>     > > Francois
>>     > >
>>     > >
>>     > >
>>     > > *From: *spring <spring-boun...@ietf.org 
>><mailto:spring-boun...@ietf.org <mailto:spring-boun...@ietf.org>>> on behalf 
>>of Erik Kline <ek.i...@gmail.com <mailto:ek.i...@gmail.com 
>><mailto:ek.i...@gmail.com>>>
>>     > > *Date: *Thursday, 14 October 2021 at 19:06
>>     > > *To: *Joel M. Halpern <j...@joelhalpern.com 
<mailto:j...@joelhalpern.com <mailto:j...@joelhalpern.com>>>
>>     > > *Cc: *spring@ietf.org <mailto:spring@ietf.org 
>><mailto:spring@ietf.org>> <spring@ietf.org
> <mailto:spring@ietf.org <mailto:spring@ietf.org>>>, i...@ietf.org 
> <mailto:i...@ietf.org <mailto:i...@ietf.org>> <i...@ietf.org 
> <mailto:i...@ietf.org <mailto:i...@ietf.org>>>
>>     > > *Subject: *Re: [spring] Question from SPRING regarding 
>>draft-filsfilscheng-spring-srv6-srh-compression
>>     > >
>>     > > Joel,
>>     > >
>>     > >
>>     > >
>>     > > Thank you for your email.  The ADs and chairs have been discussing.
>>     > >
>>     > >
>>     > >
>>     > > One thing that would be very helpful to our discussions would be 
>>some worked examples of the various C-SID behaviors, showing some SRv6 
>>datagrams and what happens to their contents as they 
move across some suitable example SR domain.
>>     > >
>>     > >
>>     > >
>>     > > (It would also be helpful if they showed what happens to something 
>>like
>>     > an ICMPv6 Echo Request to a representative Destination Address in
> these cases when, say, an SRH is not present, i.e. to see when typical 
> unicast semantics are preserved or when something more like anycast or 
> multicast behavior is to be expected.)
>>     > >
>>     > >
>>     > >
>>     > > Assuming some forthcoming helpful examples, we have a goal to get a 
>>more complete answer back to you by the latter half of next week.
>>     > >
>>     > >
>>     > >
>>     > > Thanks,
>>     > >
>>     > > -Erik
>>     > >
>>     > >
>>     > >
>>     > > On Tue, Oct 12, 2021 at 8:53 PM Joel M. Halpern 
>><j...@joelhalpern.com <mailto:j...@joelhalpern.com 
>><mailto:j...@joelhalpern.com>> <mailto:j...@joelhalpern.com 
>><mailto:j...@joelhalpern.com <mailto:j...@joelhalpern.com>>>> wrote:
>>     > >
>>     > >     The SPRING working group is in the midst of an adoption call on
>>     > >     
>>https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/
>> 
>><https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/>
>> 
>><https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/
>> 
>><https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/>>
>> 
>><https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/
>> 
>><https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/
>> 
>><https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/>>>.
>>     > >
>>     > >     The SPRING charter has text that is explicit
> that modifications to data
>>     > >     planes and architectures standardized by other working groups 
>>may not be
>>     > >     modified in SPRING unless the chairs and ADs
> responsible for that data
>>     > >     plane and / or architecture agree.
>>     > >
>>     > >     To complete the context, as my SPRING co-chairs are co-authors 
>>on the
>>     > >     document in question, they have recused themselves from 
>>decisional
>>     > >     activities regarding the document.  Therefore, this message is
>>     > coming
>>     > >     just from my as the responsible SPRING co-chair managing this 
>>adoption call.
>>     > >
>>     > >     As you have seen, multiple questions have been raised about the
>>     > >     relationship of the document to the IPv6 defined data plane and
>>     > >     architecture (particularly RFC 4291 and 8200). In particular the
>>     > >     questions seem to revolve around what the document describes as 
>>the
>>     > >     NEXT-C-SID flavor of compressed SID, and its
> relationship to the IPv6
>>     > >     standards.  (For those seeking more context without reading the 
>>full
>>     > >     document, a paraphrase and simplification of
> the NEXT-C_SID flavor is
>>     > >     provided as a postscript.)
>>     > >
>>     > >     I raised the question of concurrence as required by the SPRING 
>>charter
>>     > >     with the Internet ADs and SPRING chairs. 
> They quite reasonably asked me
>>     > >     to write a note to 6man 
explaining the concerns as clearly as a can, so
>>     > >     that they can then determine how to proceed.
>>     > >
>>     > >     The questions that prompted my inquiry are:
>>     > >
>>     > >     1) Does the placement of a list of sids in the IPv6 DA field 
>>change
>>     > the
>>     > >     IPv6 architectural description of that field.
>>     > >     2) Does the operation of shifting information around in the IPv6
>>     > >     destination address field represent a modification or extension 
>>of the
>>     > >     IPv6 data plane.
>>     > >
>>     > >     On a related note, the document in question also defines two 
>>other
>>     > >     flavors, REPLACE-C-SID, 
and NEXT-and-REPLACE-C-SID.  The
>>     > >     NEXT-and-REPLACE-C_SID flavor is defined to include the 
>>NEXT-C_SID
>>     > >     flavor operation, so seems to be affected by
> the same question.
>>     > >
>>     > >      From my own reading, it appears that the REPLACE-C-SID flavor
>>     > does not
>>     > >     raise issues requiring 6man leadership concurrence.
>>     > >
>>     > >     Yours,
>>     > >     Joel M. Halpern for the 
SPRING working group
>>     > >
>>     > >
>>     > >     PS:
>>     > >     Clearly, understanding the question requires
> some understanding of what
>>     > >     the NEXT-C_SID flavor does.   This
> explanation is a simplification for
>>     > >     length and context.  
Really, the best place to understand it is the
>>     > >     draft.  However, to give you enough information to let you decide
>>     > >     whether you care, I will try to provide a fair summary.  My 
>>apologies in
>>     > >     advance to the authors for necessary liberties for length.  Also,
>>     > >     discussion of the draft 
contents (as distinct from the interaction with
>>     > >     the IPv6 data plane and 
architecture) belongs on the SPRING list, and
>>     > >     should not clutter up 6man.
>>     > >
>>     > >     SIDs are the identifiers used in segment routing.
>>     > >     In SRv6, as document in 
the current RFCs, these are 128 bits.
>>     >  As
>>     > >     defined in the relevant 
RFCs, SIDs which identify endpoints to which
>>     > >     packets are directed are identified by endpoint SIDs.  These can 
>>have
>>     > >     behaviors (decapsulate and forward is one example).  They can 
>>have
>>     > >     flavors such as where the SRH is removed.
>>     > >
>>     > >     The topic under discussion is means to compress these SIDs in the
>>     > >     packets on the wire.  The document under discussion provides 
>>three
>>     > >     flavors of compression.
>>     > >
>>     > >     The fundamental mechanism of the draft is to
> use a single SRH entry
>>     > as a
>>     > >     container for multiple SIDs.  In the NEXT-C_SID mechanism, when 
>>it is
>>     > >     first encountered the entire container is copied into the 
>>desination
>>     > >     address of the IPv6 packet.  The container has a common routing 
>>prefix
>>     > >     used for all the NEXT-C-SID SIDs.  It is followed by a sequence 
>>of
>>     > >     compressed SIDs of a configured length. 
> One could configure 16, 24, or
>>     > >     32 bits.  Or whatever length.  The
> routing advertisements
>>     > are arranged
>>     > >     so that the IPv6 packet 
is directed to the node represented by the first
>>     > >     compressed SID on the basis of longest prefix match matching the
>>     > >     combination of the common routing prefix and
> that compressed SID.
>>     > >
>>     > >     When the packet arrives 
at that node, it looks up the configured
>>     > >     portion, the compressed 
SID, and determines the behavior and flavor.  In
>>     > >     the case of the NEXT-C-SID flavor, the resulting operation is to 
>>shift
>>     > >     the entire remaining contents of the IPv6 address (the bits past 
>>the
>>     > >     first compressed sid) so as to over-write the first compressed 
>>SID.  0
>>     > >     bits are shifted into the low order positions.  If the result is 
>>a
>>     > >     non-zero new first compressed SID, then the packets is forwarded 
>>and the
>>     > >     process repeats.  When all that is left
> are 0s, if there is an
>>     > SRH, it
>>     > >     is consulted to find the next SRH entry, which is, per normal 
>>SRv6
>>     > >     processing, put into the IPv6 DA.
>>     > >     Note that in the common 
case where the SIDS needed all fit in to a
>>     > >     single container, the analysis also assumes the use of the 
>>reduced
>>     > >     encapsulation options which omits the SRH that is not needed as 
>>it would
>>     > >     have no entries.  This the packet contains a normal IPv6 header, 
>>with a
>>     > >     sequence of compressed SIDs (what one might or might not call a 
>>source
>>     > >     route) in the IPv6 destination address field.
>>     > >
>>     > >     PPS: If the authors of the NEXT-C-SID flavor
> feel I have mis-represented
>>     > >     the work, please, send clarifications or corrections.   Again, 
>>the best
>>     > >     source of information is the draft itself.  I was asked to 
>>provide extra
>>     > >     context in this email.
>>     > >
>>     > >     _______________________________________________
>>     > >     spring mailing list
>>     > >     spring@ietf.org <mailto:spring@ietf.org 
>><mailto:spring@ietf.org>> <mailto:spring@ietf.org <mailto:spring@ietf.org 
>><mailto:spring@ietf.org>>>
>>     > >     https://www.ietf.org/mailman/listinfo/spring 
>><https://www.ietf.org/mailman/listinfo/spring>
> <https://www.ietf.org/mailman/listinfo/spring 
> <https://www.ietf.org/mailman/listinfo/spring>> 
> <https://www.ietf.org/mailman/listinfo/spring 
> <https://www.ietf.org/mailman/listinfo/spring 
> <https://www.ietf.org/mailman/listinfo/spring>>>
>>     > >
>>     > >
>>     > > --------------------------------------------------------------------
>>     > > IETF IPv6 working group mailing list
>>     > > i...@ietf.org <mailto:i...@ietf.org <mailto:i...@ietf.org>>
>>     > > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6 
>><https://www.ietf.org/mailman/listinfo/ipv6> 
>><https://www.ietf.org/mailman/listinfo/ipv6 
>><https://www.ietf.org/mailman/listinfo/ipv6>>
>>     > > --------------------------------------------------------------------
>>     > >
>>     >
>>     > _______________________________________________
>>     > spring mailing list
>>     > spring@ietf.org <mailto:spring@ietf.org <mailto:spring@ietf.org>>
>>     > https://www.ietf.org/mailman/listinfo/spring 
<https://www.ietf.org/mailman/listinfo/spring> 
<https://www.ietf.org/mailman/listinfo/spring 
<https://www.ietf.org/mailman/listinfo/spring>>
>>
> 

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

Reply via email to