opened
jafingerhut
username_0
There is likely an obvious answer to this question that will occur to me shortly after submitting this issue, but I will ask it anyway.
Why DigestListAck messages, but no IdleTimeoutNotificationAck message?
issue
created
antoninbas
username_1
I don't think there is an obvious answer. It pretty much comes from how I conceptualize these 2 functionalities.
* In the case of idle timeout, losing a notification is not a big deal. Another one will be generated when the entry expires "again" (i.e. after another timeout interval). The action that the client is likely to take is remove the entry, which essentially stops the idle timeout notifications for that entry.
* The case of digest is more subtle in my option. We need to worry about not flooding the client with many duplicate notifications, which we do by mandating a cache (either in hardware or software) on the target. This cache needs to be cleared, and even though we have an ack timeout mechanism, I believe an active notification from the client is best to indicate "I have processed the digest message, clear the cache now". The ack timeout provision is just in case the ack from the client is lost. The action from the client is generally less straightforward in the digest case. One can assume that the action will be to populate a table in such a way that the P4 datapath will stop generating similar digests. *If* we make that assumption, then we could just get away with the ack timeout to clear the cache. But I like the active ack better.
comment
created
jafingerhut
username_0
Thanks for the detailed answer.  I didn't have any strong suspicion that there was anything wrong here -- just a minor wondering whether there was something missing here, but I still don't see anything wrong with the current design.  Closing this issue.
comment
closed
jafingerhut
username_0
issue