1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="797px" preserveAspectRatio="none" style="width:444px;height:797px;" version="1.1" viewBox="0 0 444 797" width="444px" zoomAndPan="magnify"><defs><filter height="300%" id="fmj8a1z5wugx1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="420" x="12" y="27.4023">Append requested options algorithm (Kea 1.8.0)</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="136" y="32.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="146" y="53.8008">get configured option list</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="272" x="81.5" y="86.332"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="252" x="91.5" y="107.9336">get parameter request list (PRL) from query</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="96.5" y="184.4648"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="222" x="106.5" y="206.0664">get configured options in dhcp4 space</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="121.5" y="282.5977"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="172" x="131.5" y="304.1992">push back option code to PRL</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="148,238.5977,287,238.5977,299,250.5977,287,262.5977,148,262.5977,136,250.5977,148,238.5977" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="148" y="254.7549">for each persistent option</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="108.5,140.4648,326.5,140.4648,338.5,152.4648,326.5,164.4648,108.5,164.4648,96.5,152.4648,108.5,140.4648" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="108.5" y="156.6221">for each item from configured option list</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="96.5" y="517.208"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="222" x="106.5" y="538.8096">get configured options in dhcp4 space</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="140" y="619.8184"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="150" y="641.4199">add option to response</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="201.5,571.3408,233.5,571.3408,245.5,583.3408,233.5,595.3408,201.5,595.3408,189.5,583.3408,201.5,571.3408" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="221.5" y="605.9756">first</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="201.5" y="587.498">found</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="245.5" y="581.0205">not found or already found</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="217.5,673.9512,229.5,685.9512,217.5,697.9512,205.5,685.9512,217.5,673.9512" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="108.5,473.208,326.5,473.208,338.5,485.208,326.5,497.208,108.5,497.208,96.5,485.208,108.5,473.208" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="108.5" y="489.3652">for each item from configured option list</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="141,424.7305,294,424.7305,306,436.7305,294,448.7305,141,448.7305,129,436.7305,141,424.7305" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="221.5" y="459.3652">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="141" y="440.8877">option is not set in response</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="306" y="434.4102">no</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="217.5,739.9512,229.5,751.9512,217.5,763.9512,205.5,751.9512,217.5,739.9512" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="163.5,380.7305,271.5,380.7305,283.5,392.7305,271.5,404.7305,163.5,404.7305,151.5,392.7305,163.5,380.7305" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="163.5" y="396.8877">for each code in PRL</text><ellipse cx="59.5" cy="435.7305" fill="#FFFFFF" filter="url(#fmj8a1z5wugx1)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="59.5" cy="435.7305" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="66.332" y2="86.332"/><polygon fill="#A80036" points="213.5,76.332,217.5,86.332,221.5,76.332,217.5,80.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="262.5977" y2="282.5977"/><polygon fill="#A80036" points="213.5,272.5977,217.5,282.5977,221.5,272.5977,217.5,276.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="316.7305" y2="326.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="325.5" y1="326.7305" y2="326.7305"/><polygon fill="#A80036" points="321.5,297.6641,325.5,287.6641,329.5,297.6641,325.5,293.6641" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="325.5" x2="325.5" y1="250.5977" y2="326.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="325.5" x2="299" y1="250.5977" y2="250.5977"/><polygon fill="#A80036" points="309,246.5977,299,250.5977,309,254.5977,305,250.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="109.5" y1="250.5977" y2="250.5977"/><polygon fill="#A80036" points="105.5,283.6641,109.5,293.6641,113.5,283.6641,109.5,287.6641" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="109.5" x2="109.5" y1="250.5977" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="109.5" x2="350.5" y1="338.7305" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="152.4648" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="338.5" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="348.5,148.4648,338.5,152.4648,348.5,156.4648,344.5,152.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="218.5977" y2="238.5977"/><polygon fill="#A80036" points="213.5,228.5977,217.5,238.5977,221.5,228.5977,217.5,232.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="164.4648" y2="184.4648"/><polygon fill="#A80036" points="213.5,174.4648,217.5,184.4648,221.5,174.4648,217.5,178.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="96.5" x2="84.5" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="80.5,241.0977,84.5,251.0977,88.5,241.0977,84.5,245.0977" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="152.4648" y2="360.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="217.5" y1="360.7305" y2="360.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="360.7305" y2="380.7305"/><polygon fill="#A80036" points="213.5,370.7305,217.5,380.7305,221.5,370.7305,217.5,374.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="120.4648" y2="140.4648"/><polygon fill="#A80036" points="213.5,130.4648,217.5,140.4648,221.5,130.4648,217.5,134.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="595.3408" y2="619.8184"/><polygon fill="#A80036" points="213.5,609.8184,217.5,619.8184,221.5,609.8184,217.5,613.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="245.5" x2="305" y1="583.3408" y2="583.3408"/><polygon fill="#A80036" points="301,626.8848,305,636.8848,309,626.8848,305,630.8848" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="305" x2="305" y1="583.3408" y2="685.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="305" x2="229.5" y1="685.9512" y2="685.9512"/><polygon fill="#A80036" points="239.5,681.9512,229.5,685.9512,239.5,689.9512,235.5,685.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="653.9512" y2="673.9512"/><polygon fill="#A80036" points="213.5,663.9512,217.5,673.9512,221.5,663.9512,217.5,667.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="551.3408" y2="571.3408"/><polygon fill="#A80036" points="213.5,561.3408,217.5,571.3408,221.5,561.3408,217.5,565.3408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="497.208" y2="517.208"/><polygon fill="#A80036" points="213.5,507.208,217.5,517.208,221.5,507.208,217.5,511.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="697.9512" y2="707.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="350.5" y1="707.9512" y2="707.9512"/><polygon fill="#A80036" points="346.5,600.3184,350.5,590.3184,354.5,600.3184,350.5,596.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="485.208" y2="707.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="338.5" y1="485.208" y2="485.208"/><polygon fill="#A80036" points="348.5,481.208,338.5,485.208,348.5,489.208,344.5,485.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="96.5" x2="84.5" y1="485.208" y2="485.208"/><polygon fill="#A80036" points="80.5,586.3184,84.5,596.3184,88.5,586.3184,84.5,590.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="485.208" y2="719.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="217.5" y1="719.9512" y2="719.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="719.9512" y2="739.9512"/><polygon fill="#A80036" points="213.5,729.9512,217.5,739.9512,221.5,729.9512,217.5,733.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="448.7305" y2="473.208"/><polygon fill="#A80036" points="213.5,463.208,217.5,473.208,221.5,463.208,217.5,467.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306" x2="360.5" y1="436.7305" y2="436.7305"/><polygon fill="#A80036" points="356.5,580.3184,360.5,590.3184,364.5,580.3184,360.5,584.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.5" x2="360.5" y1="436.7305" y2="751.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.5" x2="229.5" y1="751.9512" y2="751.9512"/><polygon fill="#A80036" points="239.5,747.9512,229.5,751.9512,239.5,755.9512,235.5,751.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="404.7305" y2="424.7305"/><polygon fill="#A80036" points="213.5,414.7305,217.5,424.7305,221.5,414.7305,217.5,418.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="763.9512" y2="773.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="384.5" y1="773.9512" y2="773.9512"/><polygon fill="#A80036" points="380.5,588.3184,384.5,578.3184,388.5,588.3184,384.5,584.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="384.5" y1="392.7305" y2="773.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="283.5" y1="392.7305" y2="392.7305"/><polygon fill="#A80036" points="293.5,388.7305,283.5,392.7305,293.5,396.7305,289.5,392.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="151.5" x2="59.5" y1="392.7305" y2="392.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="59.5" x2="59.5" y1="392.7305" y2="424.7305"/><polygon fill="#A80036" points="55.5,414.7305,59.5,424.7305,63.5,414.7305,59.5,418.7305" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e3e9358e4d54eb346c856f31e4656dc6]
@startuml
Title Append requested options algorithm (Kea 1.8.0)
:get configured option list;
:get parameter request list (PRL) from query;
while (for each item from configured option list)
:get configured options in dhcp4 space;
while (for each persistent option)
:push back option code to PRL;
endwhile
endwhile
while (for each code in PRL)
if (option is not set in response) then (yes)
while (for each item from configured option list)
:get configured options in dhcp4 space;
if (found) then (first)
:add option to response;
else (not found or already found)
endif
endwhile
else (no)
endif
endwhile
->done;
stop
@enduml
PlantUML version 1.2020.15(Sun Jun 28 13:39:45 CEST 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>
|