Tony –

Overall, I think you are making  general statements and not providing needed 
specifics.
Maybe it’s obvious to you how a receiver based window would be calculated – but 
it isn’t obvious to me – so please help me out here with specifics.
What inputs do you need on the receive side in order to do the necessary 
calculation?
What assumptions are you making about how an implementation receives, punts, 
dequeues IS-IS LSPs?
And how will this lead to better performance than having TX react to actual 
throughput?

And please do not say  “just like TCP”. I have made some specific statements 
about how managing the resources associated with a TCP connection is not at all 
similar to managing resources for IGP flooding.
If you disagree – please provide some specific explanations.

A few more comments inline – but rather than go back-and-forth on each line 
item, it would be far better if you wrote up the details of the RX side 
solution.
Thanx.


From: Tony Li <tony1ath...@gmail.com> On Behalf Of tony...@tony.li
Sent: Tuesday, February 18, 2020 10:43 PM
To: Les Ginsberg (ginsberg) <ginsb...@cisco.com>
Cc: lsr@ietf.org
Subject: Re: [Lsr] Flow Control Discussion for IS-IS Flooding Speed


Les,

Then the LSP transmitter is operating without information from the LSP 
receiver. Additional information from the receiver can help the transmitter 
maintain a more accurate picture of reality and adapt to it more quickly.

[Les:] This is your claim – but you have not provided any specifics as to how 
information sent by the receiver would provide better adaptability than a Tx 
based flow control which is based on actual performance.



This is not a claim. This is normally how control loops work. See TCP. When the 
receiver’s window opens, it can tell the transmitter. When the receiver’s 
window closes, it can tell the transmitter. If it only opens a little bit, it 
can tell the transmitter.

[Les2:] TCP != IGP flooding – please see my remarks in my initial posting on 
this thread.


Nor have you addressed how the receiver would dynamically calculate the values 
it would send.


It can look at its input queue and report the current space.  ~”Hi, I’ve got 
buffers available for 20 packets, totalling 20kB.”~

[Les2:] None of the implementations I have worked on (at least 3) work this way.


For me how to do this is not at all obvious given common implementation issues 
such as:


  *   Sharing of a single punt path queue among many incoming 
protocols/incoming interfaces


The receiver gets to decide how much window it wants to provide to each 
transmitter. Some oversubscription is probably a good thing.
[Les2:] That wasn’t my point. Neither of us Is advocating trying to completely 
eliminate retransmissions and/or transient overload.
And since drops are possible, looking at the length of an input queue isn’t 
necessarily going to tell you whether you are indeed overloaded and if so due 
to what interface(s).
Tx side flow control is agnostic to receiver implementation strategy and the 
reasons why LSPs remain unacknowledged..



  *   Single interface independent input queue to IS-IS itself, making it 
difficult to track the contribution of a single interface to the current backlog


It’s not clear that this is problematic.  Again, reporting the window size in 
this queue is helpful.

[Les2:] Sorry, this is exactly the sort of generic statement that doesn’t add 
much. I know you believe this, but you need to explain how this is better than 
simply looking at what remains unacknowledged.


  *   Distributed dataplanes


This should definitely be a non-issue. An implementation should know the data 
path from the interface to the IS-IS process, for all data planes involved, and 
measure accordingly.

[Les2:] Again, you provide no specifics. Measure “what” accordingly? IF I do 
not have a queue dedicated solely to IS-IS packets to be punted (and 
implementations may well use a single queue for multiple protocols) what should 
I measure? How to get that info to the control plane in real time?

If we are to introduce new signaling/protocol extensions there needs to be good 
reason and it must be practical to implement – especially since we have an 
alternate solution which is practical to implement, dynamically responds to 
current state, and does not require any protocol extensions.


If we are to introduce new behaviors, they must be helpful. Estimates that do 
not utilize the available information may be sufficiently erroneous as to be 
harmful (see silly window syndrome).

[Les2:] Again – you try to apply TCP heuristics to IGP flooding. Not at all 
intuitive to me that this applies – I have stated why.

   Les

Tony


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

Reply via email to