[prev in list] [next in list] [prev in thread] [next in thread]
List: ipng
Subject: Re: [spring] Per segment service instructions
From: Tarek Saad <tsaad.net () gmail ! com>
Date: 2019-09-17 16:56:13
Message-ID: BYAPR19MB3415C64F7051394C38877E1EFC8F0 () BYAPR19MB3415 ! namprd19 ! prod ! outlook ! com
[Download RAW message or body]
Dan,
Inline..
From: "Bernier, Daniel" <daniel.bernier@bell.ca>
Date: Tuesday, September 17, 2019 at 10:30 AM
To: Ron Bonica <rbonica@juniper.net>, Tarek Saad <tsaad.net@gmail.com>, Robert Raszuk \
<robert@raszuk.net>
Cc: SPRING WG <spring@ietf.org>, 6man <6man@ietf.org>
Subject: RE: [spring] Per segment service instructions
Tarek,
My feeling is it kind of defeats the purpose. The value prop of SRv6+ was the \
separation of forwarding (LOCATOR) from service (FUNCTION) in different EH. Now to \
avoid having domain-wide alignment of PSSI values, you would re-introduce a SID in \
the 32bit section of PSSI to make it unique again. [TS]: indeed, topological and \
service SID separation is maintained in different EHs. The idea was to limit the \
scope of a PSSI to per node by optionally namespacing it (encoding a node ID).
Regards,
Tarek
Regards,
Daniel Bernier
On 2019-09-16, 12:44 PM, "Ron Bonica" \
<rbonica@juniper.net<mailto:rbonica@juniper.net>> wrote:
Good idea!!
Juniper Business Use Only
From: Tarek Saad <tsaad.net@gmail.com>
Sent: Monday, September 16, 2019 11:59 AM
To: EXT - daniel.bernier@bell.ca <daniel.bernier@bell.ca>; Ron Bonica \
<rbonica@juniper.net>; Robert Raszuk <robert@raszuk.net>
Cc: SPRING WG <spring@ietf.org>; 6man <6man@ietf.org>
Subject: Re: [spring] Per segment service instructions
Hi all,
A possible way to avoid domain wide scope of PSSI, would be to encode a per node ID \
within the PSSI (per node namespace of Service IDs). This allows the node parsing the \
DOH to identify PSSI(s) that needs to be invoked locally and to resolve the Service \
ID within its node scope. The per node ID can be a SRV6+ short SID that is \
instantiated locally on the node.
So, a PSSI = Short-SID.SE1
DOH can contain:
Short-SID1.SE1
Short-SID2.SE2
Etc.
Regards,
Tarek
From: spring <spring-bounces@ietf.org<mailto:spring-bounces@ietf.org>> on behalf of \
"Bernier, Daniel" \
<daniel.bernier@bell.ca<mailto:daniel.bernier@bell.ca>>
Date: Saturday, September 14, 2019 at 1:03 AM
To: Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org<mailto:rbonica=40juniper.net@dmarc.ietf.org>>, \
Robert Raszuk <robert@raszuk.net<mailto:robert@raszuk.net>>
Cc: SPRING WG <spring@ietf.org<mailto:spring@ietf.org>>, 6man \
<6man@ietf.org<mailto:6man@ietf.org>>
Subject: Re: [spring] Per segment service instructions
Hi Ron,
If PSSI provide non-routing services such as SE1 from Robert’s example which offers \
DPI, FW and Packet Replication then, I need a domain-wide PSSI defining DPI + FW + \
Sampling but if somewhere else in my network I just need FW, then I need another \
domain-wide PSSI for only FW. In that model, I will end up with and endless list of \
permutations which must be agreed upon to ensure interop (i.e. vendor A cannot use a \
PSSI X for FW while vendor B think’s its DPI). Thx
Dan B
On 2019-09-13, 2:10 PM, "ipv6 on behalf of Ron Bonica" \
<ipv6-bounces@ietf.org<mailto:ipv6-bounces@ietf.org> on behalf of \
rbonica=40juniper.net@dmarc..ietf.org<mailto:rbonica=40juniper.net@dmarc.ietf.org>> \
wrote:
Robert,
In your email, you ask how I would solve a TE problem with a Per Segment Service \
Instruction (PSSI).. In SRv6+:
- The CRH and the SIDs that it contains are used to solve TE problems
- The PSSI is used too provide non-routing services (e.g., firewalling, \
sampling, DPI)
This leaves the following questions to be answered:
- How would I solve the TE problem that you describe in your email?
- Given another example, explain how PSSI works?
Which question would you like me to tackle first?
Ron
From: Robert Raszuk <robert@raszuk.net<mailto:robert@raszuk.net>>
Sent: Friday, September 13, 2019 8:45 AM
To: Ron Bonica <rbonica@juniper.net<mailto:rbonica@juniper.net>>
Cc: SPRING WG <spring@ietf.org<mailto:spring@ietf.org>>; 6man \
<6man@ietf.org<mailto:6man@ietf.org>>
Subject: Per segment service instructions
Dear Ron,
I have read yet one more draft from the SRv6+ package defining another Destination \
Option type - this time Per Segment Service Instruction(s) described in \
draft-bonica-6man-seg-end-opt
I have one technical question regarding it.
Imagine I have following topology - drawing only what is relevant to the question:
PE1 - - P1 - - SE1 - - P2 - - SE2 - - P3 - - PE2
When packet enters the network PE1 is instructed to program my flow A to execute \
following following functions on Segment End 1 (SE1) and Segment End 2 (SE2):
SE1 - When packet is routed out of SE1 consider only interfaces of bw 10G and up
SE2 - When packet is routed out of SE2 make sure that path to segment end node is no \
more then 2 hops away.
> From reading the draft I think the answer is that you mandated the segment end \
> functions in SRv6+ to have domain-wide significance such that the function itself \
> contains not only the instruction but also as it is of domain-wide significance the \
> location of the instruction to execute it on.
So far so good ... Flow-A get's CRH and PSSI encoding the above requirement..
When packet enters SE1 Destination Options preceding RH is read and PSSIs are \
attempted to get executed ! Both instructions are tried but only one is known so only \
one get's executed on SE1. Same story on SE2.
Not sure if eveyone would be ok with such model to read and attempt to execute \
instructions which are not for a given end segment but let's assume some may accept \
it.
But now how unfortunate it may sound PE1 is receving the flow-B and for flow B the \
requirements are opposite:
SE1 - When packet is routed out of SE1 make sure that path to segment end node is no \
more then 2 hops away.
SE2 - When packet is routed out of SE2 consider only interfaces of bw 10G and up.
Well what do you - simple - you allocate another two domain wide functions and encode \
it in the packet at PSSI DOH on PE1.
But if my description matches the plan you now end up with per flow !!! state in the \
network which is the price to pay for splitting SIDs with its functions into \
completely different headers.
I don't know about others but I think we went in the past via multiple attempts to \
put any per flow state into the large network and it all failed when faced scale.
Also SR specifically in its architecture RFC8402 says that segment routing is \
"maintaining per-flow state only at the ingress node(s) to the SR domain.."
Kind regards,
Robert.
Juniper Business Use Only
[Attachment #3 (text/html)]
<html xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
{font-family:"Times New Roman \(Body CS\)";
panose-1:2 11 6 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
p.msonormal00, li.msonormal00, div.msonormal00
{mso-style-name:msonormal0;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal000, li.msonormal000, div.msonormal000
{mso-style-name:msonormal00;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msipfooter30b3d538, li.msipfooter30b3d538, div.msipfooter30b3d538
{mso-style-name:msipfooter30b3d538;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msochpdefault, li.msochpdefault, div.msochpdefault
{mso-style-name:msochpdefault;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}
span.htmlpreformattedchar0
{mso-style-name:htmlpreformattedchar;
font-family:Consolas;}
span.emailstyle20
{mso-style-name:emailstyle20;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.emailstyle21
{mso-style-name:emailstyle21;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.htmlpreformattedchar00
{mso-style-name:htmlpreformattedchar0;
font-family:"Courier New";}
span.emailstyle27
{mso-style-name:emailstyle27;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.emailstyle28
{mso-style-name:emailstyle28;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.emailstyle29
{mso-style-name:emailstyle29;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle32
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
..MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:12.0pt">Dan,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">Inline..<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b><span \
style="font-size:12.0pt;color:black">From: </span></b><span \
style="font-size:12.0pt;color:black">"Bernier, Daniel" \
<daniel.bernier@bell.ca><br> <b>Date: </b>Tuesday, September 17, 2019 at 10:30 \
AM<br> <b>To: </b>Ron Bonica <rbonica@juniper.net>, Tarek Saad \
<tsaad.net@gmail.com>, Robert Raszuk <robert@raszuk.net><br> <b>Cc: \
</b>SPRING WG <spring@ietf.org>, 6man <6man@ietf.org><br> <b>Subject: \
</b>RE: [spring] Per segment service instructions<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span \
style="font-size:10.0pt">Tarek,</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:.5in"><span style="font-size:10.0pt"> </span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:10.0pt">My \
feeling is it kind of defeats the purpose. The value prop of SRv6+ was the \
separation of forwarding (LOCATOR) from service (FUNCTION) in different EH. Now to \
avoid having domain-wide alignment of PSSI values, you would re-introduce a SID in \
the 32bit section of PSSI to make it unique again. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">[TS]: indeed, topological and \
service SID separation is maintained in different EHs. The idea was to limit the \
scope of a PSSI to per node by optionally namespacing it (encoding a node \
ID).<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-size:12.0pt"><o:p> </o:p></span></p> <p class="MsoNormal"><span \
style="font-size:12.0pt">Regards,<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-size:12.0pt">Tarek<o:p></o:p></span></p> <p class="MsoNormal" \
style="margin-left:.5in"><span style="font-size:10.0pt"> </span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:.5in"><span \
style="font-size:10.0pt">Regards,</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:.5in"><span style="font-size:10.0pt">Daniel \
Bernier</span><o:p></o:p></p> <p class="MsoNormal" style="margin-left:.5in"><span \
style="font-size:10.0pt"> </span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:.5in"><span style="font-size:10.0pt"> </span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:.5in"><span \
style="font-size:10.0pt"> </span><o:p></o:p></p> <div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">On 2019-09-16, 12:44 PM, "Ron \
Bonica" <<a href="mailto:rbonica@juniper.net">rbonica@juniper.net</a>> \
wrote:<o:p></o:p></p> </div>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"> <o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-left:1.0in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in">Good idea!!<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in"> <o:p></o:p></p>
<p class="msipfooter30b3d538" align="center" \
style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:0in;margin-left:1.0in;margin-bottom:..0001pt;text-align:center">
<span style="font-size:7.0pt;color:black">Juniper Business Use \
Only</span><o:p></o:p></p> <div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:1.0in"><b>From:</b> Tarek Saad \
<tsaad.net@gmail.com> <br>
<b>Sent:</b> Monday, September 16, 2019 11:59 AM<br>
<b>To:</b> EXT - daniel.bernier@bell.ca <daniel.bernier@bell.ca>; Ron Bonica \
<rbonica@juniper.net>; Robert Raszuk <robert@raszuk.net><br> <b>Cc:</b> \
SPRING WG <spring@ietf.org>; 6man <6man@ietf.org><br> <b>Subject:</b> Re: \
[spring] Per segment service instructions<o:p></o:p></p> </div>
</div>
<p class="MsoNormal" style="margin-left:1.0in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="font-size:12.0pt">Hi \
all,</span><o:p></o:p></p> <p class="MsoNormal" style="margin-left:1.0in"><span \
style="font-size:12.0pt"> </span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span style="font-size:12.0pt">A possible way to avoid \
domain wide scope of PSSI, would be to encode a per node ID within the PSSI (per node \
namespace of Service IDs).</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span style="font-size:12.0pt">This allows the node parsing \
the DOH to identify PSSI(s) that needs to be invoked locally and to resolve the \
Service ID within its node scope.. The per node ID can be a SRV6+ short SID that \
is instantiated locally on the node.</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span style="font-size:12.0pt"> </span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:1.0in"><span style="font-size:12.0pt">So, a \
PSSI = Short-SID.SE1</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span style="font-size:12.0pt"> </span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:1.0in"><span style="font-size:12.0pt">DOH can \
contain:</span><o:p></o:p></p> <p class="MsoNormal" style="margin-left:1.0in"><span \
style="font-size:12.0pt">Short-SID1.SE1</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span \
style="font-size:12.0pt">Short-SID2.SE2</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span style="font-size:12.0pt">Etc.</span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:1.0in"><span \
style="font-size:12.0pt"> </span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span \
style="font-size:12.0pt">Regards,</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span style="font-size:12.0pt">Tarek</span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:1.0in"><span \
style="font-size:12.0pt"> </span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.0in"><span style="font-size:12.0pt"> </span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:1.0in"><span \
style="font-size:12.0pt"> </span><o:p></o:p></p> <div \
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in"> <p \
class="MsoNormal" style="margin-left:1.5in"><b><span \
style="font-size:12.0pt;color:black">From: </span></b><span \
style="font-size:12.0pt;color:black">spring <<a \
href="mailto:spring-bounces@ietf.org">spring-bounces@ietf.org</a>> on behalf of \
"Bernier, Daniel" <<a \
href="mailto:daniel.bernier@bell..ca">daniel.bernier@bell.ca</a>><br> <b>Date: \
</b>Saturday, September 14, 2019 at 1:03 AM<br> <b>To: </b>Ron Bonica <<a \
href="mailto:rbonica=40juniper.net@dmarc.ietf.org">rbonica=40juniper.net@dmarc.ietf.org</a>>, \
Robert Raszuk <<a href="mailto:robert@raszuk.net">robert@raszuk.net</a>><br> \
<b>Cc: </b>SPRING WG <<a href="mailto:spring@ietf.org">spring@ietf.org</a>>, \
6man <<a href="mailto:6man@ietf.org">6man@ietf.org</a>><br> <b>Subject: </b>Re: \
[spring] Per segment service instructions</span><o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.5in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.5in"><span style="font-size:10.0pt">Hi \
Ron,</span><o:p></o:p></p> <p class="MsoNormal" style="margin-left:1.5in"><span \
style="font-size:10.0pt"> </span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.5in"><span style="font-size:10.0pt">If PSSI provide non-routing \
services such as SE1 from Robert’s example which offers DPI, FW and Packet \
Replication then, I need a domain-wide PSSI defining DPI + FW + Sampling but \
if somewhere else in my network I just need FW, then I need another domain-wide PSSI \
for only FW.</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.5in"><span style="font-size:10.0pt">In that model, I will end up \
with and endless list of permutations which must be agreed upon to ensure interop \
(i.e. vendor A cannot use a PSSI X for FW while vendor B think’s its \
DPI).</span><o:p></o:p></p> <p class="MsoNormal" style="margin-left:1.5in"><span \
style="font-size:10.0pt">Thx</span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.5in"><span style="font-size:10.0pt">Dan B</span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:1.5in"><span \
style="font-size:10.0pt"> </span><o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.5in"><span style="font-size:10.0pt"> </span><o:p></o:p></p> \
<p class="MsoNormal" style="margin-left:1.5in"><span \
style="font-size:10.0pt"> </span><o:p></o:p></p> <div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">On 2019-09-13, 2:10 PM, "ipv6 on \
behalf of Ron Bonica" <<a \
href="mailto:ipv6-bounces@ietf.org">ipv6-bounces@ietf.org</a> on behalf of <a \
href="mailto:rbonica=40juniper.net@dmarc.ietf.org">rbonica=40juniper.net@dmarc.ietf.org</a>> \
wrote:<o:p></o:p></p> </div>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-left:2.0in">Robert,<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:2.0in">In your email, you ask how I would \
solve a TE problem with a Per Segment Service Instruction (PSSI)... In \
SRv6+:<o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"> <o:p></o:p></p> <p class="MsoListParagraph" \
style="margin-left:2.5in;text-indent:-.25in">-<span \
style="font-size:7.0pt;font-family:"Times New \
Roman",serif"> </span>The \
CRH and the SIDs that it contains are used to solve TE problems<o:p></o:p></p> <p \
class="MsoListParagraph" style="margin-left:2.5in;text-indent:-.25in">-<span \
style="font-size:7.0pt;font-family:"Times New \
Roman",serif"> </span>The \
PSSI is used too provide non-routing services (e.g., firewalling, sampling, \
DPI)<o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:1.5in"> <o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in">This leaves the following questions to be \
answered:<o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"> <o:p></o:p></p> <p class="MsoListParagraph" \
style="margin-left:2.5in;text-indent:-.25in">-<span \
style="font-size:7.0pt;font-family:"Times New \
Roman",serif"> </span>How \
would I solve the TE problem that you describe in your email?<o:p></o:p></p> <p \
class="MsoListParagraph" style="margin-left:2.5in;text-indent:-.25in">-<span \
style="font-size:7.0pt;font-family:"Times New \
Roman",serif"> \
</span>Given another example, explain how PSSI works?<o:p></o:p></p> <p \
class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p> <p \
class="MsoNormal" style="margin-left:2.0in">Which question would you like me to \
tackle first?<o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"> <o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"> \
&n \
bsp; &nbs \
p; \
\
Ron<o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"> <o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"> <o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"><b>From:</b> Robert Raszuk <<a \
href="mailto:robert@raszuk.net">robert@raszuk.net</a>> <br>
<b>Sent:</b> Friday, September 13, 2019 8:45 AM<br>
<b>To:</b> Ron Bonica <<a \
href="mailto:rbonica@juniper.net">rbonica@juniper.net</a>><br> <b>Cc:</b> SPRING \
WG <<a href="mailto:spring@ietf.org">spring@ietf.org</a>>; 6man <<a \
href="mailto:6man@ietf.org">6man@ietf.org</a>><br> <b>Subject:</b> Per segment \
service instructions<o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:2.0in"> <o:p></o:p></p> <div>
<p class="MsoNormal" style="margin-left:2.0in">Dear Ron,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">I have read yet one more draft from \
the SRv6+ package defining another Destination Option type - this time Per \
Segment Service Instruction(s) described in <span \
style="color:black">draft-bonica-6man-seg-end-opt</span><o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">I have one technical question \
regarding it. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">Imagine I have following topology - \
drawing only what is relevant to the question: <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">PE1 - - P1 - - SE1 - - P2 - - \
SE2 - - P3 - - PE2<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">When packet enters the network PE1 is \
instructed to program my flow A to execute following following functions on Segment \
End 1 (SE1) and Segment End 2 (SE2):<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">SE1 - When packet is routed out of SE1 \
consider only interfaces of bw 10G and up<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">SE2 - When packet is routed out of SE2 \
make sure that path to segment end node is no more then 2 hops \
away. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">From reading the draft I think the \
answer is that you mandated the segment end functions in SRv6+ to have \
domain-wide significance such that the function itself contains not only the \
instruction but also as it is of domain-wide significance the location of the \
instruction to execute it on. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">So far so good ... Flow-A get's CRH \
and PSSI encoding the above requirement. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">When packet enters SE1 Destination \
Options preceding RH is read and PSSIs are attempted to get executed ! Both \
instructions are tried but only one is known so only one get's executed on SE1. Same \
story on SE2. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">Not sure if eveyone would be ok with \
such model to read and attempt to execute instructions which are not for a given end \
segment but let's assume some may accept it. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">But now how unfortunate it may sound \
PE1 is receving the flow-B and for flow B the requirements are \
opposite: <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">SE1 - When packet is routed out of SE1 \
make sure that path to segment end node is no more then 2 hops \
away. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">SE2 - When packet is routed out of SE2 \
consider only interfaces of bw 10G and up. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">Well what do you - simple - you \
allocate another two domain wide functions and encode it in the packet at PSSI DOH on \
PE1. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">But if my description matches the plan \
you now end up with per flow !!! state in the network which is the price to pay for \
splitting SIDs with its functions into completely different \
headers. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">I don't know about others but I think \
we went in the past via multiple attempts to put any per flow state into the large \
network and it all failed when faced scale. <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">Also SR specifically in its \
architecture RFC8402 says that segment routing is "maintaining per-flow state \
only at the ingress node(s) to the SR domain."<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">Kind regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in">Robert.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:2.0in"> <o:p></o:p></p>
<p class="msipfooter30b3d538" align="center" \
style="margin-left:.5in;text-align:center"> <span \
style="font-size:7.0pt;color:black">Juniper Business Use Only</span><o:p></o:p></p> \
</div> </div>
</div>
</div>
</div>
</body>
</html>
--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------
--===============2327104504682133976==--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic