summaryrefslogtreecommitdiffstats
path: root/doc/sphinx/uml/appendRequestedVendorOptions.uml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:15:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:15:43 +0000
commitf5f56e1a1c4d9e9496fcb9d81131066a964ccd23 (patch)
tree49e44c6f87febed37efb953ab5485aa49f6481a7 /doc/sphinx/uml/appendRequestedVendorOptions.uml
parentInitial commit. (diff)
downloadisc-kea-f5f56e1a1c4d9e9496fcb9d81131066a964ccd23.tar.xz
isc-kea-f5f56e1a1c4d9e9496fcb9d81131066a964ccd23.zip
Adding upstream version 2.4.1.upstream/2.4.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/sphinx/uml/appendRequestedVendorOptions.uml')
-rw-r--r--doc/sphinx/uml/appendRequestedVendorOptions.uml53
1 files changed, 53 insertions, 0 deletions
diff --git a/doc/sphinx/uml/appendRequestedVendorOptions.uml b/doc/sphinx/uml/appendRequestedVendorOptions.uml
new file mode 100644
index 0000000..65d3d54
--- /dev/null
+++ b/doc/sphinx/uml/appendRequestedVendorOptions.uml
@@ -0,0 +1,53 @@
+@startuml
+
+Title Append vendor requested options algorithm (Kea 1.8.0)
+
+:get vendor id from query vivso option;
+:get vendor id from response vivso option;
+if (vendor id) then (no)
+ :return;
+ stop
+else (yes)
+endif
+
+:get configured option list;
+
+:get option request list (ORO) from query DOCSIS vendor option;
+
+while (for each item from configured option list)
+ :get configured options in vendor id space;
+ while (for each persistent option)
+ :push back option code to ORO;
+ endwhile
+endwhile
+
+if (response vivso option) then (no)
+ :create vivso option for vendor id;
+else (yes)
+endif
+
+:added = false;
+while (for each code in ORO)
+ if (sub-option is not set in vivso option) then (yes)
+ while (for each item from configured option list)
+ :get configured options in vendor id space;
+ if (found) then (first)
+ :add sub-option to vivso option;
+ :added = true;
+ else (not found or already found)
+ endif
+ endwhile
+ else (no)
+ endif
+ if (added) then (yes)
+ if (vivso option in response) then (no)
+ :add vivso option in response;
+ else (yes)
+ endif
+ else (no)
+ endif
+endwhile
+->done;
+stop
+
+@enduml