Bob, all.

I definitely support the work done here. ECN and L4S support in TRILL addresses cross layer "control intelligence" benefiting network optimization.


On 11/06/2017 22:43, Bob Briscoe wrote:
Koen,

On 09/06/17 17:33, De Schepper, Koen (Nokia - BE/Antwerp) wrote:
Hi all,

I reviewed this draft (for the first time) mainly from the point of view of L4S 
support. I greatly appreciate the forward vision of supporting upcoming ECN 
functionality, and the flexibility/extensibility of the thrill headers.

Answering question 1: Definitely, L4S ECN marking can drastically improve 
latency and flow control.

Following comments related to question 2:

I think there is one opportunity not exploited in how L4S ECN is handled: If an 
ingress node is not supporting ECN, a transit node is allowed to add the Flags 
word and mark packets with CCE. In case of L4S this case is not covered, and 
cannot be applied, as NCCE code points are translated by egress nodes as CE or 
drop if the inner packet is Not-ECT.
There is a problem in this case, but I don't think you have described it well (I think you have described why your solution would not work with the spec as it stands, rather than describing what is wrong with the spec as it stands).

Here's how I would have described the problem:
The technique in Appendix A for a transit RBridge to support L4S-ECN takes different actions depending on the last bit of the trill-ECN field, which in turn depends on the trill ingress RBridge having copied the IP-ECN field into the trill-ECN field. However, in a case where the ingress hasn't, the spec says "a transit RBridge "MAY" add a Flags Word itself. But, it would be a layering violation to expect the transit RBridge to look for the IP-ECN field and copy it into the trill-ECN field.

The approach in the spec works for standard ECN [RFC3168], i.e. if a transit RBridge creates a flags Word it just initializes the trill-ECN field to not-ECT. But you're right, this doesn't work for L4S.

I'm not sure how important this is, because no vendor is likely to implement creation of a Flags word by a transit RBridge anyway (which is why the spec says "MAY").

I think the solution could be to extent the "Arriving TRILL 3-bit codepoint 
name" table with an extra NCCE name mapping from TRILL-ECN=11 and CCE=0. Table 2 
needs to have an extra column with rows (not-ECT, ECT(0), CE, CE). This way an L4S 
transit node can also insert a Flags word and set NCCE with probability p on top of CCE 
with p^2. I saw no other combinations that could lead to this arriving situation, and 
could lead to problems, as current ECN capable transit nodes never mark NCCE.
I have checked and this works in all cases.

Even if there is a Flags word, this is better for L4S, because L4S transit RBridges would not need to read the trill-ECN field before marking. So the pseudocode in Appendix A would be simpler, i.e. just:

       % On TRILL transit
       if (p > random() ) {
          mark(NCCE)                     % likelihood: p
          if (p > random() )
             mark(CCE)                   % likelihood: p^2
       }

There is a downside tho: your proposal adds an extra case for the behaviour of all trill egress RBridges.

In summary, the tradeoffs with your proposal are:
* More complex standards track behaviour for all egress RBridges.
* Simpler for transit RBridges to support L4S (which is experimental track) * Makes it possible for transit RBridges that support L4S to add a Flags Word (but unlikely that vendors will do this anyway)

Another way to solve this problem would be to just say that an L4S transit RBridge: * MAY create a Flags word, but only if it is willing and able to inspect the inner IP header and copy the IP-ECN field to the trill-ECN field.
* Otherwise it has to use Classic drop for packets without a Flags Word.

One thing your email made me notice: as it stands, the pseudocode in Appendix A ought to include an outer 'if' block that checks for the Flags Word. But let's see what comments there are on the list before deciding between the alternatives, then we can write the appropriate pseudocode.

A typo in section 2: Extesnion should be Extension.
Thanks for this. While re-reading the draft, I also noticed a few editorial improvements, which I will raise with my co-author.

And thanks particularly for pointing out the alternative way of defining the egress behaviour.

Cheers



Bob
Regards,
Koen.


On 31/05/17 19:48, Susan Hares wrote:
This begins a  2 week WG LC for draft-ietf-trill-ecn-support which can be
found at:
https://datatracker.ietf.org/doc/draft-ietf-trill-ecn-support/.


The authors (Donald Eastlake and Bob Biscoe) should indicate whether they
know of any IPR relating to this draft.

The TRILL WG should consider the following questions:

1) Does this extension of the ECN to TRILL Switches provide for better
Flow control of IP packets without packet drops?  And is this useful in TRILL
deployments?

2) Do you believe this document is ready for RFC publication?

Please include the answers to these questions among your comments about
this draft.

Sue Hares



_______________________________________________
trill mailing list
mailto:[email protected]
https://www.ietf.org/mailman/listinfo/trill

--
________________________________________________________________
Bob Briscoehttp://bobbriscoe.net/


_______________________________________________
trill mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trill

_______________________________________________
trill mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trill

Reply via email to