mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-23 10:27:36 +00:00
54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
@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
|