Project

General

Profile

Actions

Feature #4924

closed

Make RetxSuppressionExponential settings configurable via strategy parameters

Added by Junxiao Shi almost 5 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Category:
Forwarding
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
3.00 h

Description

AsfStrategy, BestRouteStrategy, and MulticastStrategy use RetxSuppressionExponential to decide whether to forward or aggregate a retransmitted Interest, but the suppression settings are hard-coded.
It's desirable to allow configuration of these settings via strategy parameters.

Actions #2

Updated by Ashlesh Gawande over 3 years ago

Can typed components be used for these strategy parameter? So that we can have something like /<...>/retx-initial-supression=20ms

Do we reserve it in https://redmine.named-data.net/projects/ndn-tlv/wiki/NameComponentType? Or these typed components are for something more widely used such as version, segment, timestamp?

[In Asf we are using parameters like: /<...>/n-silent-timeouts~5.
I think we are supposed to use typed components in the long run: https://redmine.named-data.net/issues/4193#note-5]

Actions #3

Updated by Junxiao Shi over 3 years ago

This is not an appropriate use of typed component because it is specific to one application and not at all universal.

In the wire format (the name), you can continue using the URI query string format (use = instead of ~, and use & separator) or switch to JSON. It does not need to be human readable.

Then, engineer the nfdc tool to allow operator entering each parameter as a separate key-value pair:

nfdc strategy set / /localhost/nfd/strategy/best-route strategy-version 7 strategy-flag retx-initial-suppression=20 strategy-flag retx-max-suppression=500

Initially, nfdc does not need to validate the key-value pairs, but merely encodes them into either URI query string or JSON format.
Available flags and validation rules can be exposed via #3887.

Actions #4

Updated by Ashlesh Gawande over 3 years ago

Why bother with this and not simply go with same scheme as current ASF?

Actions #5

Updated by Junxiao Shi over 3 years ago

Ashlesh Gawande wrote in #note-4:

Why bother with this and not simply go with same scheme as current ASF?

If we are to add suppression config to ASF, how to pack multiple parameters in the same name component?

Actions #6

Updated by Ashlesh Gawande over 3 years ago

The same way it does now:
https://named-data.net/doc/NFD/current/manpages/nfd-asf-strategy.html

nfdc strategy set prefix /ndn strategy /localhost/nfd/strategy/asf/%FD%03/probing-interval~30000/n-silent-timeouts~5

Could provide shortened args optionally.
Can have something like:

nfdc strategy set prefix /ndn strategy /localhost/nfd/strategy/asf/%FD%03/pi~30000/nst~5/ris=20ms
Actions #7

Updated by Junxiao Shi over 3 years ago

I didn't realize that strategy parameters can have multiple components.

Remember to increment strategy version number every time you change the syntax or semantics of a parameter.

Don't introduce shortened aliases. Every strategy should have only one name.

Actions #8

Updated by Ashlesh Gawande over 3 years ago

  • Status changed from New to Code review
  • Assignee set to Ashlesh Gawande
Actions #9

Updated by Ashlesh Gawande over 3 years ago

  • Subject changed from best-route: expose RetxSuppression settings in strategy parameters to asf/best-route/multicast: expose RetxSuppression settings in strategy parameters
  • Description updated (diff)
Actions #10

Updated by Davide Pesavento about 3 years ago

  • Subject changed from asf/best-route/multicast: expose RetxSuppression settings in strategy parameters to Expose RetxSuppressionExponential settings in strategy parameters
  • Description updated (diff)
  • Target version set to 22.02
Actions #12

Updated by Davide Pesavento about 2 years ago

  • Target version changed from 22.02 to 22.12
Actions #13

Updated by Davide Pesavento almost 2 years ago

  • Subject changed from Expose RetxSuppressionExponential settings in strategy parameters to Make RetxSuppressionExponential settings configurable via strategy parameters
  • % Done changed from 0 to 100
Actions #14

Updated by Davide Pesavento almost 2 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF