diff options
author | ahothan <ahothan@cisco.com> | 2017-08-08 16:24:56 -0700 |
---|---|---|
committer | ahothan <ahothan@cisco.com> | 2017-08-08 17:48:09 -0700 |
commit | 0ab04ab7103fc4bfb17042b60c1e005049375cc2 (patch) | |
tree | bee0d88a07889fa57c7f44ca3ce7a839ab05ec53 /docs/development/design/ndrpdr.rst | |
parent | 2d66234fe3b8b3e104e63218b5120a35ca400ea5 (diff) |
Update doc with ndr/pdr section, update config comment
Change-Id: I2e0a771b21371f45fd592ff41dc8f66c0aaeb7e0
Signed-off-by: ahothan <ahothan@cisco.com>
Diffstat (limited to 'docs/development/design/ndrpdr.rst')
-rw-r--r-- | docs/development/design/ndrpdr.rst | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/development/design/ndrpdr.rst b/docs/development/design/ndrpdr.rst new file mode 100644 index 0000000..f748476 --- /dev/null +++ b/docs/development/design/ndrpdr.rst @@ -0,0 +1,29 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International +.. License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) Cisco Systems, Inc + +NDR/PDR Binary Search +===================== + +Algorithm Outline +----------------- + +The ServiceChain class is responsible for calculating the NDR/PDR for all frame sizes requested in the configuration. +Calculation for 1 frame size is delegated to the TrafficClient class. + +Call chain for calculating the NDR-PDR for a list of frame sizes: + +- ServiceChain.run() + - ServiceChain._get_chain_results() + - for every frame size: + - ServiceChain.__get_result_per_frame_size() + - TrafficClient.get_ndr_pdr() + - TrafficClient.__range_search() recursive binary search + +The search range is delimited by a left and right rate (expressed as a % of line rate per direction). + +The recursion narrows down the range by half and stops when: +- the range is smaller than the configured load_epsilon value +- or when the search hits 100% or 0% of line rate + |