[#2750] regenerate all SVGs
Mainly, to format them which puts every tag on a single line which makes diffing much easier going forward, but this also updates how they look.
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 24 KiB |
@ -1,113 +1,238 @@
|
||||
<?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="1372px" preserveAspectRatio="none" style="width:1375px;height:1372px;" version="1.1" viewBox="0 0 1375 1372" width="1375px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hqawhmrx3191" 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="287" x="535" y="17.4023">DHCPv4 Assign Lease (Kea 1.8.0)</text><!--MD5=[96a966798826de6e056b38ba6b9482ca]
|
||||
cluster init_reboot--><rect fill="#FFFFFF" filter="url(#f1hqawhmrx3191)" height="374.86" style="stroke: #000000; stroke-width: 1.5;" width="445" x="493" y="442.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="142" x="644.5" y="457.7344">INIT-REBOOT state</text><!--MD5=[71835f3367ed481a89f53801b2fdf617]
|
||||
cluster allocated--><rect fill="#FFFFFF" filter="url(#f1hqawhmrx3191)" height="263.36" style="stroke: #000000; stroke-width: 1.5;" width="158" x="7" y="1092.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="31" y="1107.5944">Lease allocated</text><!--MD5=[b13a83736ea85c18a1991bca4dbe863b]
|
||||
entity by_client_id--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="219" x="517.5" y="547.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="199" x="527.5" y="570.5944">Get existing lease by client id</text><!--MD5=[6b610307314e3774f091112845a2df2b]
|
||||
entity by_hw_addr--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="288" x="626" y="660.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="268" x="636" y="683.5944">Get existing lease by hardware address</text><!--MD5=[ef5397f1455a008291e257fb65cb453b]
|
||||
entity authoritative--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="528" y="757.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="538" y="780.5944">Get authoritative</text><!--MD5=[a54398e3d2c0f7657eea7ade058e1e7f]
|
||||
entity ddns--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="31" y="1198.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="90" x="41" y="1221.9544">update DDNS</text><!--MD5=[8edf83f1bb568d804760d31cec2ffb3b]
|
||||
entity ack--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="42.5" y="1295.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="52.5" y="1318.9544">Send ACK</text><!--MD5=[7f6071cca9390999bbf4a53289faea1c]
|
||||
entity subnet--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1205" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1215" y="51.7344">Check Subnet</text><path d="M1080,33.6992 L1080,59.0098 A0,0 0 0 0 1080,59.0098 L1170,59.0098 A0,0 0 0 0 1170,59.0098 L1170,51.6992 L1205,46.1992 L1170,43.6992 L1170,43.6992 L1160,33.6992 L1080,33.6992 A0,0 0 0 0 1080,33.6992 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1160,33.6992 L1160,43.6992 L1170,43.6992 L1160,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1086" y="51.2676">entry point</text><!--MD5=[d9ce3005481b6be8203f0e568049ebfd]
|
||||
entity server_id--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="1046" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="1056" y="148.7344">Get server id</text><!--MD5=[ee598753b08e093ad1dc6a89dd6a274b]
|
||||
entity hint--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="74" x="849" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="54" x="859" y="245.7344">Get hint</text><!--MD5=[fdc0ebc2726a1e25611a217b1a9cdddd]
|
||||
entity ident--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="565" y="335.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="238" x="575" y="358.7344">Get hardware address and client id</text><!--MD5=[9b403e692b0a4a2d394ce21b0c8a8b18]
|
||||
entity hostname--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="276" y="888.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="286" y="911.5944">Process hostname</text><!--MD5=[c7571992746652353b375880ae850124]
|
||||
entity allocate--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="204" y="985.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="214" y="1008.5944">Request lease</text><!--MD5=[18d4eff7c560e0870d2f30d7f8649cf3]
|
||||
entity failed--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="189" y="1101.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="199" y="1124.9544">No lease allocated</text><path d="M368,1106.9192 L368,1115.4192 L333.27,1119.4192 L368,1123.4192 L368,1132.2298 A0,0 0 0 0 368,1132.2298 L450,1132.2298 A0,0 0 0 0 450,1132.2298 L450,1116.9192 L440,1106.9192 L368,1106.9192 A0,0 0 0 0 368,1106.9192 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M440,1106.9192 L440,1116.9192 L450,1116.9192 L440,1106.9192 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="374" y="1124.4876">exit point</text><!--MD5=[6dac4c34c80be6dabf811d62e9db4883]
|
||||
entity nak--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="599.5" y="1198.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="609.5" y="1221.9544">Send NAK</text><path d="M722,1203.9192 L722,1212.4192 L686.59,1216.4192 L722,1220.4192 L722,1229.2298 A0,0 0 0 0 722,1229.2298 L804,1229.2298 A0,0 0 0 0 804,1229.2298 L804,1213.9192 L794,1203.9192 L722,1203.9192 A0,0 0 0 0 722,1203.9192 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M794,1203.9192 L794,1213.9192 L804,1213.9192 L794,1203.9192 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="728" y="1221.4876">exit point</text><!--MD5=[be0cad0b32609f2a377600c2fd818d08]
|
||||
entity no_response--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="1023" y="985.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="1033" y="1008.5944">No response</text><path d="M1164,990.5592 L1164,999.0592 L1129.16,1003.0592 L1164,1007.0592 L1164,1015.8698 A0,0 0 0 0 1164,1015.8698 L1246,1015.8698 A0,0 0 0 0 1246,1015.8698 L1246,1000.5592 L1236,990.5592 L1164,990.5592 A0,0 0 0 0 1164,990.5592 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1236,990.5592 L1236,1000.5592 L1246,1000.5592 L1236,990.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1170" y="1008.1276">exit point</text><!--MD5=[359b6ca0b36d81a4e33a25f71e3b7c61]
|
||||
link subnet to server_id--><path d="M1232.48,64.3992 C1204.44,80.7492 1162.31,105.2992 1132.9,122.4392 " fill="none" id="subnet->server_id" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1128.3,125.1192,1138.0915,124.0576,1132.6235,122.6079,1134.0733,117.1399,1128.3,125.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7db9f4f0423b43d622896ef15525c632]
|
||||
link subnet to nak--><path d="M1273.1,64.2792 C1284,82.7192 1299,113.3492 1299,142.1992 C1299,142.1992 1299,142.1992 1299,1120.4192 C1299,1186.7792 768.46,1163.0292 705,1182.4192 C694.58,1185.5992 683.88,1190.5892 674.36,1195.7292 " fill="none" id="subnet->nak" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="669.79,1198.2492,679.6021,1197.3996,674.1668,1195.8319,675.7345,1190.3966,669.79,1198.2492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="1300" y="626.6276">no subnet</text><!--MD5=[a38dfb09b1bcb8b95a969df0005f111d]
|
||||
link server_id to hint--><path d="M1060.43,161.3992 C1022.99,178.0992 966.32,203.3692 927.82,220.5492 " fill="none" id="server_id->hint" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="923.21,222.5992,933.0589,222.5935,927.7779,220.5659,929.8055,215.2849,923.21,222.5992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[34fbc802059013c2537c0989625530bb]
|
||||
link hint to ident--><path d="M848.75,241.0892 C774.38,241.7392 611.66,247.8692 577,288.1992 C559.81,308.1992 581.08,323.0792 609.99,333.4192 " fill="none" id="hint->ident" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="615.08,335.1692,607.8731,328.4565,610.3525,333.541,605.268,336.0204,615.08,335.1692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="578" y="301.7676">use requested address option</text><!--MD5=[34fbc802059013c2537c0989625530bb]
|
||||
link hint to ident--><path d="M856.42,258.2992 C821.75,278.3392 764.41,311.4992 727.95,332.5692 " fill="none" id="hint->ident-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="723.61,335.0792,733.4041,334.0418,727.9397,332.5785,729.403,327.1142,723.61,335.0792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="114" x="802" y="301.7676">use client address</text><!--MD5=[34fbc802059013c2537c0989625530bb]
|
||||
link hint to ident--><path d="M908.07,258.3492 C922.64,271.7392 937.02,290.4892 925,305.1992 C911.63,321.5592 871.46,332.3692 828.28,339.4492 " fill="none" id="hint->ident-2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="823.28,340.2492,832.7964,342.7867,828.218,339.4643,831.5404,334.8859,823.28,340.2492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="930" y="301.7676">no hint</text><!--MD5=[65f067d78ef63afdf91771d9a656ad03]
|
||||
link ident to init_reboot--><path d="M694,371.5692 C694,387.3142 694,411.0567 694,431.1092 C694,433.6158 694,436.0647 694,438.4331 C694,439.6173 694,440.7814 694,441.9225 " fill="none" id="ident->init_reboot" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="694,441.9225,698,432.9225,694,436.9225,690,432.9225,694,441.9225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="220" x="695" y="414.7676">requested address and no server id</text><!--MD5=[14830c65b2a034d88d53d1ea466689d7]
|
||||
link ident to hostname--><path d="M571.53,371.2492 C471.99,388.6592 348,420.0792 348,468.5592 C348,468.5592 348,468.5592 348,776.0592 C348,813.4892 348,857.0192 348,882.7392 " fill="none" id="ident->hostname" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="348,887.9492,352,878.9492,348,882.9492,344,878.9492,348,887.9492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f67bf50fbab8c942c3b4d7a43dc78f8a]
|
||||
link init_reboot to by_client_id--><path d="M693.95,470.1292 C692.56,472.0792 661.57,515.5492 642.25,542.6592 " fill="none" id="init_reboot->by_client_id" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="639.25,546.8692,647.7294,541.8593,642.1508,542.7967,641.2134,537.218,639.25,546.8692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="673" y="513.6276">has a client id</text><!--MD5=[e73d6babdacfd6f192eca91886274ed0]
|
||||
link init_reboot to by_hw_addr--><path d="M694.16,470.0592 C697.44,470.0892 750.21,470.9692 770,500.0592 C802.04,547.1592 787.68,618.8592 777.31,654.8392 " fill="none" id="init_reboot->by_hw_addr" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="775.82,659.8792,782.2006,652.3767,777.2331,655.0831,774.5268,650.1156,775.82,659.8792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="71" x="790" y="570.1276">no client id</text><!--MD5=[0bee13a6f2540e80d374adb5c9fde696]
|
||||
link by_client_id to authoritative--><path d="M612.69,583.0592 C598.68,600.9192 578.27,630.4692 570,660.0592 C561.14,691.7592 573.59,729.1292 583.87,752.2092 " fill="none" id="by_client_id->authoritative" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="586.03,756.9092,585.9217,747.061,583.9492,752.3628,578.6474,750.3903,586.03,756.9092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="571" y="683.1276">found</text><!--MD5=[81a28d33e53a361ab0f9b1ac80511604]
|
||||
link by_client_id to by_hw_addr--><path d="M622.24,583.2592 C619.47,597.2192 618.2,616.7092 628,630.0592 C636.84,642.0992 648.87,651.0992 662.21,657.8192 " fill="none" id="by_client_id->by_hw_addr" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="666.79,660.0092,660.4134,652.5033,662.2842,657.8419,656.9456,659.7126,666.79,660.0092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="62" x="629" y="626.6276">not found</text><!--MD5=[996213fdf844dcf095df5ccc9b89cdbf]
|
||||
link by_hw_addr to authoritative--><path d="M738.31,696.2592 C708.08,712.6692 662.6,737.3592 631.01,754.5092 " fill="none" id="by_hw_addr->authoritative" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="626.46,756.9792,636.2784,756.2057,630.8555,754.596,632.4652,749.173,626.46,756.9792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cc7ba6fbd1fdcf375abf61565bb8cbda]
|
||||
link authoritative to no_response--><path d="M662.09,791.8592 C705.06,803.0892 761.47,819.8992 809,841.0592 C901.17,882.0792 1000.65,948.7092 1047.95,981.9092 " fill="none" id="authoritative->no_response" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1052.08,984.8292,1047.0166,976.3816,1047.9892,981.9542,1042.4166,982.9269,1052.08,984.8292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="233" x="960" y="911.1276">not authoritative and no owned lease</text><!--MD5=[f287a43fa002547e84e3e2517c1b3af8]
|
||||
link authoritative to nak--><path d="M662.08,792.5792 C716.07,810.3592 783,844.5992 783,905.0592 C783,905.0592 783,905.0592 783,1120.4192 C783,1133.0992 719.28,1171.9092 677.82,1195.8192 " fill="none" id="authoritative->nak" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="673.38,1198.3692,683.178,1197.37,677.7195,1195.8855,679.204,1190.4269,673.38,1198.3692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="203" x="784" y="1008.1276">owned lease with hint mismatch</text><!--MD5=[f287a43fa002547e84e3e2517c1b3af8]
|
||||
link authoritative to nak--><path d="M571.78,793.3292 C544.53,815.7792 503,857.7492 503,905.0592 C503,905.0592 503,905.0592 503,1120.4192 C503,1165.8592 554.13,1191.0792 594.59,1203.9092 " fill="none" id="authoritative->nak-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="599.47,1205.4192,592.043,1198.9509,594.6908,1203.9498,589.6919,1206.5976,599.47,1205.4192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="504" y="1008.1276">authoritative and no owned lease</text><!--MD5=[b7c0267f2f455dcd84cdca29c5404c83]
|
||||
link authoritative to hostname--><path d="M527.91,789.4292 C489.09,799.3592 440.63,815.6592 403,841.0592 C386.38,852.2692 371.81,869.7892 361.85,883.6592 " fill="none" id="authoritative->hostname" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="358.91,887.8392,367.3694,882.7956,361.7945,883.7552,360.8349,878.1803,358.91,887.8392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="72" x="404" y="854.6276">other cases</text><!--MD5=[986a8f86ec6d7417d34c7fd351c484dc]
|
||||
link hostname to allocate--><path d="M332.04,924.4792 C317.45,940.4192 295.83,964.0292 280.28,981.0092 " fill="none" id="hostname->allocate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="276.86,984.7492,285.886,980.8082,280.2347,981.0599,279.9831,975.4086,276.86,984.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c34dad786bb94ff8f8cc439f61a5c35f]
|
||||
link allocate to allocated--><path d="M212.16,1021.1492 C194.16,1028.7392 174.22,1038.7792 158,1051.0592 C150.43,1056.7942 143.1831,1063.7023 136.5469,1070.8789 C133.2288,1074.4672 130.0633,1078.1226 127.0864,1081.732 C125.598,1083.5367 124.1567,1085.3299 122.767,1087.0975 C122.0722,1087.9813 121.3903,1088.8587 120.7219,1089.7279 C120.3876,1090.1625 120.0568,1090.595 119.7294,1091.0253 C119.5657,1091.2405 119.4028,1091.4551 119.2408,1091.6691 C119.1598,1091.7761 119.0791,1091.8829 118.9985,1091.9896 " fill="none" id="allocate->allocated" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="118.9985,1091.9896,127.6138,1087.2171,122.0113,1087.9992,121.2292,1082.3967,118.9985,1091.9896" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="159" y="1064.6276">lease allocated</text><!--MD5=[539a3348c1089415ce435c139bd22f41]
|
||||
link allocated to ddns--><path d="M100.99,1120.4892 C100.68,1122.4392 93.91,1165.3192 89.58,1192.7692 " fill="none" id="allocated->ddns" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="88.74,1198.0392,94.1033,1189.7788,89.5249,1193.1012,86.2025,1188.5229,88.74,1198.0392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d51d97a60fea492264b409c209ca1ef]
|
||||
link ddns to ack--><path d="M86,1234.8392 C86,1250.3792 86,1273.1992 86,1290.0792 " fill="none" id="ddns->ack" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="86,1295.1092,90,1286.1092,86,1290.1092,82,1286.1092,86,1295.1092" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[dd12c52c80378d18331ab530a0ed76ab]
|
||||
link allocate to failed--><path d="M261,1021.4292 C261,1041.4392 261,1074.3792 261,1096.2292 " fill="none" id="allocate->failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="261,1101.2592,265,1092.2592,261,1096.2592,257,1092.2592,261,1101.2592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="262" y="1064.6276">no lease allocated</text><!--MD5=[e8032f725f00abe81d7341b4b6fe8340]
|
||||
link failed to nak--><path d="M329.74,1137.5092 C406.04,1156.4892 527.27,1186.6392 594.35,1203.3192 " fill="none" id="failed->nak" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="599.48,1204.5992,591.7189,1198.5358,594.6293,1203.3865,589.7786,1206.297,599.48,1204.5992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0f73f9f94dec6643990f2b1b148176bd]
|
||||
@startuml
|
||||
|
||||
title DHCPv4 Assign Lease (Kea 1.8.0)
|
||||
|
||||
agent "Check Subnet" as subnet
|
||||
note left : entry point
|
||||
|
||||
agent "Get server id" as server_id
|
||||
|
||||
agent "Get hint" as hint
|
||||
|
||||
agent "Get hardware address and client id" as ident
|
||||
|
||||
rectangle "INIT-REBOOT state" as init_reboot {
|
||||
agent "Get existing lease by client id" as by_client_id
|
||||
|
||||
agent "Get existing lease by hardware address" as by_hw_addr
|
||||
|
||||
agent "Get authoritative" as authoritative
|
||||
}
|
||||
|
||||
agent "Process hostname" as hostname
|
||||
|
||||
agent "Request lease" as allocate
|
||||
|
||||
rectangle "Lease allocated" as allocated {
|
||||
agent "update DDNS" as ddns
|
||||
agent "Send ACK" as ack
|
||||
}
|
||||
|
||||
agent "No lease allocated" as failed
|
||||
note right : exit point
|
||||
|
||||
agent "Send NAK" as nak
|
||||
note right : exit point
|
||||
|
||||
agent "No response" as no_response
|
||||
note right : exit point
|
||||
|
||||
subnet - -> server_id
|
||||
subnet - - -> nak : no subnet
|
||||
server_id - -> hint
|
||||
hint - -> ident : use requested address option
|
||||
hint - -> ident : use client address
|
||||
hint - -> ident : no hint
|
||||
ident - -> init_reboot : requested address and no server id
|
||||
ident - - -> hostname
|
||||
init_reboot - -> by_client_id : has a client id
|
||||
init_reboot - -> by_hw_addr : no client id
|
||||
by_client_id - - -> authoritative : found
|
||||
by_client_id - -> by_hw_addr : not found
|
||||
by_hw_addr - -> authoritative
|
||||
authoritative - - -> no_response : not authoritative and no owned lease
|
||||
authoritative - -> nak : owned lease with hint mismatch
|
||||
authoritative - -> nak : authoritative and no owned lease
|
||||
authoritative - -> hostname : other cases
|
||||
hostname - -> allocate
|
||||
allocate - -> allocated : lease allocated
|
||||
allocated - -> ddns
|
||||
ddns - -> ack
|
||||
allocate - -> failed : no lease allocated
|
||||
failed - -> nak
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="1433px" preserveAspectRatio="none" style="width:1340px;height:1433px;background:#FFFFFF;" version="1.1" viewBox="0 0 1340 1433" width="1340px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="223" x="551.5" y="24.9659">DHCPv4 Assign Lease (Kea 1.8.0)</text>
|
||||
<!--cluster init_reboot-->
|
||||
<g id="cluster_init_reboot">
|
||||
<rect fill="none" height="391.06" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="442" x="487" y="477.3379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="129" x="643.5" y="494.3039">INIT-REBOOT state</text>
|
||||
</g>
|
||||
<!--cluster allocated-->
|
||||
<g id="cluster_allocated">
|
||||
<rect fill="none" height="274.03" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="160" x="7" y="1153.5379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="106" x="34" y="1170.5039">Lease allocated</text>
|
||||
</g>
|
||||
<!--entity by_client_id-->
|
||||
<g id="elem_by_client_id">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="217" x="511.5" y="587.1979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="197" x="521.5" y="612.1639">Get existing lease by client id</text>
|
||||
</g>
|
||||
<!--entity by_hw_addr-->
|
||||
<g id="elem_by_hw_addr">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="286" x="619" y="705.2679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="266" x="629" y="730.2339">Get existing lease by hardware address</text>
|
||||
</g>
|
||||
<!--entity authoritative-->
|
||||
<g id="elem_authoritative">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="133" x="519.5" y="805.3379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="529.5" y="830.3039">Get authoritative</text>
|
||||
</g>
|
||||
<!--entity ddns-->
|
||||
<g id="elem_ddns">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="111" x="31.5" y="1264.4279"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91" x="41.5" y="1289.3939">update DDNS</text>
|
||||
</g>
|
||||
<!--entity ack-->
|
||||
<g id="elem_ack">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="85" x="44.5" y="1364.4979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="54.5" y="1389.4639">Send ACK</text>
|
||||
</g>
|
||||
<!--entity subnet-->
|
||||
<g id="elem_subnet">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="112" x="1177" y="47.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="1187" y="72.0339">Check Subnet</text>
|
||||
</g>
|
||||
<g id="elem_GMN3">
|
||||
<path d="M1054,52.7479 L1054,80.4539 A0,0 0 0 0 1054,80.4539 L1142,80.4539 A0,0 0 0 0 1142,80.4539 L1142,70.7479 L1176.66,66.5979 L1142,62.7479 L1142,62.7479 L1132,52.7479 L1054,52.7479 A0,0 0 0 0 1054,52.7479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1132,52.7479 L1132,62.7479 L1142,62.7479 L1132,52.7479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="67" x="1060" y="71.6449">entry point</text>
|
||||
</g>
|
||||
<!--entity server_id-->
|
||||
<g id="elem_server_id">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="106" x="1020" y="147.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="1030" y="172.1039">Get server id</text>
|
||||
</g>
|
||||
<!--entity hint-->
|
||||
<g id="elem_hint">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="74" x="832" y="247.1979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="842" y="272.1639">Get hint</text>
|
||||
</g>
|
||||
<!--entity ident-->
|
||||
<g id="elem_ident">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="258" x="556" y="365.2679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="238" x="566" y="390.2339">Get hardware address and client id</text>
|
||||
</g>
|
||||
<!--entity hostname-->
|
||||
<g id="elem_hostname">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="142" x="277" y="941.3979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122" x="287" y="966.3639">Process hostname</text>
|
||||
</g>
|
||||
<!--entity allocate-->
|
||||
<g id="elem_allocate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="205" y="1041.4679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="215" y="1066.4339">Request lease</text>
|
||||
</g>
|
||||
<!--entity failed-->
|
||||
<g id="elem_failed">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="143" x="190.5" y="1164.3679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="123" x="200.5" y="1189.3339">No lease allocated</text>
|
||||
</g>
|
||||
<g id="elem_GMN19">
|
||||
<path d="M368,1170.0479 L368,1179.8979 L333.93,1183.8979 L368,1187.8979 L368,1197.7539 A0,0 0 0 0 368,1197.7539 L446,1197.7539 A0,0 0 0 0 446,1197.7539 L446,1180.0479 L436,1170.0479 L368,1170.0479 A0,0 0 0 0 368,1170.0479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M436,1170.0479 L436,1180.0479 L446,1180.0479 L436,1170.0479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="374" y="1188.9449">exit point</text>
|
||||
</g>
|
||||
<!--entity nak-->
|
||||
<g id="elem_nak">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="87" x="591.5" y="1264.4279"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67" x="601.5" y="1289.3939">Send NAK</text>
|
||||
</g>
|
||||
<g id="elem_GMN23">
|
||||
<path d="M713,1270.1179 L713,1279.9679 L678.88,1283.9679 L713,1287.9679 L713,1297.8239 A0,0 0 0 0 713,1297.8239 L791,1297.8239 A0,0 0 0 0 791,1297.8239 L791,1280.1179 L781,1270.1179 L713,1270.1179 A0,0 0 0 0 713,1270.1179 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M781,1270.1179 L781,1280.1179 L791,1280.1179 L781,1270.1179 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="719" y="1289.0149">exit point</text>
|
||||
</g>
|
||||
<!--entity no_response-->
|
||||
<g id="elem_no_response">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="105" x="999.5" y="1041.4679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="1009.5" y="1066.4339">No response</text>
|
||||
</g>
|
||||
<g id="elem_GMN27">
|
||||
<path d="M1139,1047.1479 L1139,1057.0079 L1104.66,1061.0079 L1139,1065.0079 L1139,1074.8539 A0,0 0 0 0 1139,1074.8539 L1217,1074.8539 A0,0 0 0 0 1217,1074.8539 L1217,1057.1479 L1207,1047.1479 L1139,1047.1479 A0,0 0 0 0 1139,1047.1479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1207,1047.1479 L1207,1057.1479 L1217,1057.1479 L1207,1047.1479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="1145" y="1066.0449">exit point</text>
|
||||
</g>
|
||||
<!--link subnet to server_id-->
|
||||
<g id="link_subnet_server_id">
|
||||
<path d="M1202.15,86.5079 C1175.67,102.7379 1137.47,126.1579 1109.48,143.3079 " fill="none" id="subnet-to-server_id" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1105.32,145.8579,1115.0825,144.5568,1109.5807,143.2414,1110.8961,137.7396,1105.32,145.8579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link subnet to nak-->
|
||||
<g id="link_subnet_nak">
|
||||
<path d="M1244.71,86.3479 C1255.55,105.5279 1270,136.5579 1270,165.6679 C1270,165.6679 1270,165.6679 1270,1184.8979 C1270,1249.0679 757.06,1228.6979 696,1248.4279 C686.6,1251.4679 677.03,1256.0479 668.34,1260.8979 " fill="none" id="subnet-to-nak" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="664.37,1263.1779,674.1655,1262.1545,668.7033,1260.6834,670.1743,1255.2212,664.37,1263.1779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="61" x="1271" y="671.1649">no subnet</text>
|
||||
</g>
|
||||
<!--link server_id to hint-->
|
||||
<g id="link_server_id_hint">
|
||||
<path d="M1033.67,186.5779 C998.83,203.3279 948.06,227.7279 912.13,245.0079 " fill="none" id="server_id-to-hint" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="907.86,247.0579,917.704,246.7491,912.3631,244.885,914.2273,239.5441,907.86,247.0579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link hint to ident-->
|
||||
<g id="link_hint_ident">
|
||||
<path d="M831.51,268.0879 C759.25,269.6479 604.9,277.5579 572,316.2679 C555.28,335.9479 575.32,351.4079 602.93,362.5379 " fill="none" id="hint-to-ident" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="607.52,364.3079,600.5673,357.3323,602.8562,362.5054,597.6832,364.7943,607.52,364.3079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="178" x="573" y="331.1649">use requested address option</text>
|
||||
</g>
|
||||
<!--link hint to ident-->
|
||||
<g id="link_hint_ident">
|
||||
<path d="M839.01,286.6279 C824.77,295.6079 807.5,306.4879 792,316.2679 C768.12,331.3279 741.25,348.2879 720.41,361.4479 " fill="none" id="hint-to-ident-1" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="716.26,364.0679,726.0052,362.6427,720.4871,361.3974,721.7324,355.8793,716.26,364.0679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="106" x="793" y="331.1649">use client address</text>
|
||||
</g>
|
||||
<!--link hint to ident-->
|
||||
<g id="link_hint_ident">
|
||||
<path d="M890.07,286.6879 C903.34,300.9279 915.9,320.4379 904,335.2679 C892.23,349.9379 858.17,360.4479 820.31,367.8479 " fill="none" id="hint-to-ident-2" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="815.69,368.7279,825.2762,370.9874,820.6031,367.7996,823.7908,363.1265,815.69,368.7279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="43" x="909" y="331.1649">no hint</text>
|
||||
</g>
|
||||
<!--link ident to init_reboot-->
|
||||
<g id="link_ident_init_reboot">
|
||||
<path d="M685,404.6979 C685,421.4329 685,446.4029 685,467.4479 C685,470.0785 685,472.6478 685,475.1321 C685,475.7531 685,476.3688 685,476.9789 " fill="none" id="ident-to-init_reboot" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="685,476.9789,689,467.9789,685,471.9789,681,467.9789,685,476.9789" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="210" x="686" y="449.2349">requested address and no server id</text>
|
||||
</g>
|
||||
<!--link ident to hostname-->
|
||||
<g id="link_ident_hostname">
|
||||
<path d="M569.5,404.8179 C471.94,424.2579 348,458.4479 348,506.6979 C348,506.6979 348,506.6979 348,825.8679 C348,863.8479 348,907.8779 348,934.8179 " fill="none" id="ident-to-hostname" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="348,939.7679,352,930.7679,348,934.7679,344,930.7679,348,939.7679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link init_reboot to by_client_id-->
|
||||
<g id="link_init_reboot_by_client_id">
|
||||
<path d="M684.81,508.4779 C682.27,512.2879 654.33,554.2279 635.97,581.7679 " fill="none" id="init_reboot-to-by_client_id" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="633.28,585.8079,641.5922,580.5251,636.0469,581.6433,634.9287,576.098,633.28,585.8079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="80" x="664" y="553.0949">has a client id</text>
|
||||
</g>
|
||||
<!--link init_reboot to by_hw_addr-->
|
||||
<g id="link_init_reboot_by_hw_addr">
|
||||
<path d="M685.56,508.2379 C691.04,508.6379 735.47,512.6679 753,538.1979 C786.32,586.7179 776.72,660.3479 768.45,698.6579 " fill="none" id="init_reboot-to-by_hw_addr" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="767.37,703.4579,773.2491,695.5563,768.4682,698.58,765.4445,693.7991,767.37,703.4579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="65" x="777" y="612.1249">no client id</text>
|
||||
</g>
|
||||
<!--link by_client_id to authoritative-->
|
||||
<g id="link_by_client_id_authoritative">
|
||||
<path d="M605.16,626.5679 C591.42,645.2879 571.95,675.4579 564,705.2679 C555.44,737.3479 565.93,775.1879 575.15,799.3479 " fill="none" id="by_client_id-to-authoritative" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="576.89,803.7779,577.2979,793.9375,575.0503,799.1287,569.8591,796.8811,576.89,803.7779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="36" x="565" y="730.1949">found</text>
|
||||
</g>
|
||||
<!--link by_client_id to by_hw_addr-->
|
||||
<g id="link_by_client_id_by_hw_addr">
|
||||
<path d="M615.57,626.5079 C613.24,641.2079 612.7,661.4279 623,675.2679 C631.4,686.5579 642.62,695.2379 655.06,701.9079 " fill="none" id="by_client_id-to-by_hw_addr" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="659.5,704.1479,653.2585,696.5293,655.0336,701.9004,649.6625,703.6755,659.5,704.1479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="60" x="624" y="671.1649">not found</text>
|
||||
</g>
|
||||
<!--link by_hw_addr to authoritative-->
|
||||
<g id="link_by_hw_addr_authoritative">
|
||||
<path d="M728.07,744.7079 C698.82,761.0079 656.57,784.5479 625.75,801.7179 " fill="none" id="by_hw_addr-to-authoritative" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="621.45,804.1179,631.26,803.2438,625.8208,801.6897,627.3748,796.2505,621.45,804.1179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link authoritative to no_response-->
|
||||
<g id="link_authoritative_no_response">
|
||||
<path d="M652.89,841.8779 C695.29,853.2479 750.68,870.3979 797,892.3979 C884.78,934.0979 977.68,1002.0879 1023.3,1037.2879 " fill="none" id="authoritative-to-no_response" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1027.17,1040.2779,1022.5281,1031.5915,1023.2255,1037.2052,1017.6119,1037.9027,1027.17,1040.2779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="224" x="944" y="966.3349">not authoritative and no owned lease</text>
|
||||
</g>
|
||||
<!--link authoritative to nak-->
|
||||
<g id="link_authoritative_nak">
|
||||
<path d="M652.79,844.4179 C705.78,863.6879 771,899.6479 771,959.9379 C771,959.9379 771,959.9379 771,1184.8979 C771,1197.1579 712.12,1235.7379 671.85,1260.6979 " fill="none" id="authoritative-to-nak" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="667.83,1263.1779,677.5925,1261.8768,672.0907,1260.5614,673.4061,1255.0596,667.83,1263.1779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="192" x="772" y="1066.4049">owned lease with hint mismatch</text>
|
||||
</g>
|
||||
<!--link authoritative to nak-->
|
||||
<g id="link_authoritative_nak">
|
||||
<path d="M563.6,844.6979 C537.82,868.6079 499,912.4879 499,959.9379 C499,959.9379 499,959.9379 499,1184.8979 C499,1229.0079 546.66,1255.2679 585.55,1269.3379 " fill="none" id="authoritative-to-nak-1" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="589.79,1270.8279,582.6258,1264.0697,585.0729,1269.1698,579.9728,1271.617,589.79,1270.8279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="200" x="500" y="1066.4049">authoritative and no owned lease</text>
|
||||
</g>
|
||||
<!--link authoritative to hostname-->
|
||||
<g id="link_authoritative_hostname">
|
||||
<path d="M519.21,840.8179 C482.59,851.2179 437.72,867.7179 403,892.3979 C386.76,903.9479 372.66,921.5079 362.8,935.8279 " fill="none" id="authoritative-to-hostname" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="360.21,939.6879,368.5513,934.4513,363,935.5387,361.9126,929.9873,360.21,939.6879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="68" x="404" y="907.2949">other cases</text>
|
||||
</g>
|
||||
<!--link hostname to allocate-->
|
||||
<g id="link_hostname_allocate">
|
||||
<path d="M331.42,980.8479 C317.5,996.7179 297.55,1019.4679 282.6,1036.5079 " fill="none" id="hostname-to-allocate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="279.53,1040.0179,288.4746,1035.8956,282.8296,1036.2612,282.4639,1030.6162,279.53,1040.0179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link allocate to allocated-->
|
||||
<g id="link_allocate_allocated">
|
||||
<path d="M214.81,1080.8979 C198.19,1088.7379 179.94,1098.7679 165,1110.5379 C156.9975,1116.8404 149.2931,1124.3342 142.2119,1132.0726 C138.6713,1135.9418 135.2864,1139.8722 132.098,1143.7455 C130.5038,1145.6821 128.9586,1147.6044 127.4677,1149.4977 C126.7222,1150.4443 125.9903,1151.3837 125.2726,1152.3139 C125.0931,1152.5465 124.9146,1152.7784 124.7369,1153.0098 C124.6481,1153.1255 124.5595,1153.2411 124.4711,1153.3565 " fill="none" id="allocate-to-allocated" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="124.4711,1153.3565,133.1191,1148.6435,127.5113,1149.3869,126.7678,1143.7792,124.4711,1153.3565" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="166" y="1125.4349">lease allocated</text>
|
||||
</g>
|
||||
<!--link allocated to ddns-->
|
||||
<g id="link_allocated_ddns">
|
||||
<path d="M103.99,1184.9679 C103.65,1186.9379 96.26,1229.5779 91.34,1257.9479 " fill="none" id="allocated-to-ddns" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="90.52,1262.6279,96.0029,1254.4464,91.3767,1257.7019,88.1212,1253.0756,90.52,1262.6279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link ddns to ack-->
|
||||
<g id="link_ddns_ack">
|
||||
<path d="M87,1303.8779 C87,1319.2079 87,1340.9479 87,1357.7679 " fill="none" id="ddns-to-ack" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="87,1362.6679,91,1353.6679,87,1357.6679,83,1353.6679,87,1362.6679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link allocate to failed-->
|
||||
<g id="link_allocate_failed">
|
||||
<path d="M262,1080.8979 C262,1101.5679 262,1134.8079 262,1157.6879 " fill="none" id="allocate-to-failed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="262,1162.6279,266,1153.6279,262,1157.6279,258,1153.6279,262,1162.6279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="106" x="263" y="1125.4349">no lease allocated</text>
|
||||
</g>
|
||||
<!--link failed to nak-->
|
||||
<g id="link_failed_nak">
|
||||
<path d="M333.92,1203.8079 C407.65,1223.1879 520.38,1252.8279 584.94,1269.8079 " fill="none" id="failed-to-nak" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="589.57,1271.0179,581.8807,1264.8636,584.7339,1269.7483,579.8493,1272.6014,589.57,1271.0179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--SRC=[dLF1Rjim3BtxAuYSjaEA3jXXw650bWnRqI4jcju3nM8Y8OwKMNJIODY_Zv8intBI3TZ5iAZt7YdoaJHL2BFlqwV3HvWufpS6Vg1m2EyUKC27cqytj- -BGcpG48oc2iijB9gLGHg1SE32Rs4i8LIu9hW31jOds5jjgEDzGmA7zG5hq38ImscfPOPHJ0hNQiXMefP7KIC8AMjq3eIHK5RQ0rf9BT6JQYn9c0s_QdG_ltyPFt_zylZu0eu4OSGPJSiQLzOI_2gWbmHVjIDjDlmKtu7LQP1XTLh6GAZxxynXmKb07PS-ajD5GyhMcalKXrXa5Yb-Txrugctfdw-i8oDs4PmE7UePVpReA5OJzQhAbjo1h3znqEbAPa3Pwqspbno1sMo-21WfZUik5yYJc4mV8hlSzegTsxOVUOgrq1NAQ9fQRrHmpQkcWMc2y7mIXOtO_fF0wRZJUslQDnkxJEUtkT71C1v_xdco2tAKCpF5sEJr3XKumQZ-4qx1Wenk-Crrd04tCbdMxabRSntT6gs5Nc8uVqWLp-6cP-ExAzdyWlYgqzfrL5zrCanVn5_q7Swgoe_ql0JNuAsVOubdP2OKScQEPlZQDkO2To59PrmANuWLkNISsddshKuEQhjZZuPR5anweP96tyF0KPCAWu2TTZj1fNgJzX_vqbXyKb8yjP9nR8OK3YzFYvn-igWVsc3bYlETHuRTzP_8uttDXE9kncaEXTgxzed57m00]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 23 KiB |
@ -1,147 +1,301 @@
|
||||
<?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="2163px" preserveAspectRatio="none" style="width:969px;height:2163px;" version="1.1" viewBox="0 0 969 2163" width="969px" zoomAndPan="magnify"><defs><filter height="300%" id="fgxgo3z1vpo2" 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="277" x="337.25" y="17.4023">currentHost DHCPv4 (Kea 1.8.0)</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
|
||||
entity entry--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="314.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="324.5" y="51.7344">Subnet Selection</text><!--MD5=[f65ad2d20ed779f8ee7fa3e9ca8ab4c3]
|
||||
entity setSelected--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="247" x="258" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="227" x="268" y="148.7344">Set subnet to the selected subnet</text><!--MD5=[c0678c1aaf89874ea821e39d7ef5404f]
|
||||
entity clientid_lookup--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="259" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="225" x="269" y="245.7344">Has client a lease for its client id?</text><!--MD5=[a51c27fcfb0c2b9388b266a7e30efdf3]
|
||||
entity clientid_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="283" x="7" y="319.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="263" x="17" y="342.7344">Iterate on allowed subnets for client id</text><!--MD5=[96d14c76c72fae1f84c71c464af0f0e6]
|
||||
entity found_clientid--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="253" x="22" y="498.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="233" x="32" y="521.7344">Set subnet to the by client id lease</text><!--MD5=[9f5518b92d1482f0724c659635bb4f8f]
|
||||
entity hwaddr_lookup--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="449" y="432.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="191" x="459" y="455.7344">Has client a matching lease?</text><!--MD5=[7366630e5488cbc20c26d829a87e86ca]
|
||||
entity hwaddr_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="352" x="201.5" y="564.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="332" x="211.5" y="587.7344">Iterate on allowed subnets for hardware address</text><!--MD5=[096d593c9a7e1a0b5ae2681804d4217f]
|
||||
entity found_hwaddr--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="243" x="229" y="677.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="223" x="239" y="700.7344">Set subnet to the matching lease</text><!--MD5=[f1bd864ca92b3a59ad91e15b6c278a16]
|
||||
entity hasAddressReservation--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="375" y="930.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="191" x="385" y="953.7344">Has an address reservation?</text><!--MD5=[0af8b8cc29117b7db26a4bf8fde82b62]
|
||||
entity setAddressReservation--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="300" x="220.5" y="1043.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="280" x="230.5" y="1066.7344">Set subnet to address reservation subnet</text><!--MD5=[42a0a2711e18aa980e3ea9f910af1c90]
|
||||
entity pool--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="355" y="1140.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="231" x="365" y="1163.7344">Is the address in an allowed pool?</text><!--MD5=[ec337e6f6831b541235537d1c5125816]
|
||||
entity pool_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="269" x="141" y="1237.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="249" x="151" y="1260.7344">Iterate on allowed subnets with pool</text><!--MD5=[8426a0f58e3c900bd89aafdc516c0a64]
|
||||
entity inAllowedPool--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="254" x="148.5" y="1350.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="234" x="158.5" y="1373.7344">Set subnet to address pool subnet</text><!--MD5=[c7571992746652353b375880ae850124]
|
||||
entity allocate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="393.5" y="1447.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="138" x="403.5" y="1470.7344">Allocate a new lease</text><!--MD5=[539657d7008b7b9e186112fa27fe2a64]
|
||||
entity allocate_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="232" y="1560.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="181" x="242" y="1583.7344">Iterate on allowed subnets</text><!--MD5=[98bd7f0fd78ffed8e2b0c08f2369be38]
|
||||
entity allocated--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="266" x="270.5" y="1673.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="246" x="280.5" y="1696.7344">Set subnet to allocated lease subnet</text><!--MD5=[a2ab21a8d09e419da8ba4e22e422b87f]
|
||||
entity getHRmode--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="394.5" y="1770.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="232" x="404.5" y="1793.7344">Get subnet host reservation mode</text><!--MD5=[9e66760393f24350dd53d10577644815]
|
||||
entity checkHRmode--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="293" x="374" y="1867.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="273" x="384" y="1890.7344">Is subnet host reservation mode global?</text><!--MD5=[9225881c05e5dcc29801826dc3c4a44b]
|
||||
entity global--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="205" x="298" y="1980.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="185" x="308" y="2003.7344">Get global host reservation</text><!--MD5=[fb2193611fca68211907294b61bd1772]
|
||||
entity bySubnet--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="538" y="1980.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="189" x="548" y="2003.7344">Get subnet host reservation</text><!--MD5=[c13398c59c328d6fcc544c8c17f5b117]
|
||||
entity return--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="235" x="403" y="2093.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="215" x="413" y="2116.7344">Return current host reservation</text><!--MD5=[4190d3dcd511d21b11bd238065bcb30b]
|
||||
link entry to setSelected--><path d="M381.5,64.6192 C381.5,80.1592 381.5,102.9792 381.5,119.8592 " fill="none" id="entry->setSelected" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="381.5,124.8892,385.5,115.8892,381.5,119.8892,377.5,115.8892,381.5,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e08d915304835ed62ca4e0728c34eef1]
|
||||
link setSelected to clientid_lookup--><path d="M381.5,161.6192 C381.5,177.1592 381.5,199.9792 381.5,216.8592 " fill="none" id="setSelected->clientid_lookup" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="381.5,221.8892,385.5,212.8892,381.5,216.8892,377.5,212.8892,381.5,221.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6be1f2e9e03fb1c5265b47f0fe05d4fb]
|
||||
link clientid_lookup to hwaddr_lookup--><path d="M450.66,258.2792 C487.31,270.2592 530.95,289.5492 561.5,319.1992 C589.76,346.6192 605.63,365.0792 592.5,402.1992 C589.19,411.5492 583.15,420.3992 576.84,427.8492 " fill="none" id="clientid_lookup->hwaddr_lookup" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="573.32,431.8292,582.2724,427.7238,576.6267,428.0788,576.2717,422.4331,573.32,431.8292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="116" x="591.5" y="342.2676">no client id option</text><!--MD5=[e88e8ce2e61ddfe0f17d6f35f9f4b567]
|
||||
link clientid_lookup to clientid_iterate--><path d="M339.58,258.2892 C298.95,274.8592 237.46,299.9292 195.27,317.1292 " fill="none" id="clientid_lookup->clientid_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="190.48,319.0792,200.324,319.3879,195.1105,317.1927,197.3056,311.9792,190.48,319.0792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[574cfa9865ae5a8c4342d01c24825c76]
|
||||
link clientid_iterate to clientid_iterate--><path d="M290.1,329.0592 C310.94,330.3392 325,333.0492 325,337.1992 C325,340.9892 313.25,343.5892 295.32,344.9792 " fill="none" id="clientid_iterate->clientid_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="290.1,345.3392,299.3532,348.7123,295.0882,344.9962,298.8044,340.7312,290.1,345.3392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="224" x="331" y="342.2676">match-client-id is false or no lease</text><!--MD5=[6bcef6072872efd8a87246b817e1d22e]
|
||||
link clientid_iterate to found_clientid--><path d="M148.5,355.4892 C148.5,387.8292 148.5,457.3892 148.5,493.0792 " fill="none" id="clientid_iterate->found_clientid" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="148.5,498.0992,152.5,489.0992,148.5,493.0992,144.5,489.0992,148.5,498.0992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="149.5" y="398.7676">found a lease</text><!--MD5=[7615618d548cc7387965d08a49484701]
|
||||
link found_clientid to hasAddressReservation--><path d="M148.5,534.3592 C148.5,557.7292 148.5,600.8792 148.5,637.6992 C148.5,637.6992 148.5,637.6992 148.5,869.1992 C148.5,915.6592 273.28,934.4692 369.84,942.0692 " fill="none" id="found_clientid->hasAddressReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="375,942.4692,366.3353,937.7869,370.0149,942.0836,365.7183,945.7631,375,942.4692" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a2c6bf2befd5a55c13fb7d14d9b0c240]
|
||||
link clientid_iterate to hwaddr_lookup--><path d="M180.8,355.2592 C209.44,369.7192 252.75,389.9992 292.5,402.1992 C341.2,417.1492 396.54,427.9392 443.77,435.3792 " fill="none" id="clientid_iterate->hwaddr_lookup" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="448.9,436.1792,440.6245,430.8392,443.9598,435.4082,439.3908,438.7436,448.9,436.1792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="294" x="293.5" y="398.7676">not found by client id, try by hardware address</text><!--MD5=[5a497db9eec20d36442cfd8ff0bb8196]
|
||||
link hwaddr_lookup to hasAddressReservation--><path d="M660.05,459.9192 C736.51,472.7092 826.5,504.1292 826.5,581.1992 C826.5,581.1992 826.5,581.1992 826.5,869.1992 C826.5,918.2492 692.51,936.4592 591.29,943.2192 " fill="none" id="hwaddr_lookup->hasAddressReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="586.19,943.5492,595.4238,946.9751,591.1801,943.2347,594.9205,938.9909,586.19,943.5492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="130" x="827.5" y="756.7676">no hardware address</text><!--MD5=[3e65bd8831bbfab836115278d54dbd54]
|
||||
link hwaddr_lookup to hwaddr_iterate--><path d="M531,468.4592 C498.37,492.4192 439.49,535.6692 404.91,561.0692 " fill="none" id="hwaddr_lookup->hwaddr_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="400.82,564.0692,410.4373,561.946,404.8438,561.1013,405.6886,555.5078,400.82,564.0692" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8827ae6ff5ddcc22e7f77fe98cdf1a45]
|
||||
link hwaddr_iterate to hwaddr_iterate--><path d="M553.73,573.1792 C574.76,574.8192 588.5,577.8192 588.5,582.1992 C588.5,586.1992 577.02,589.0592 558.99,590.7692 " fill="none" id="hwaddr_iterate->hwaddr_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="553.73,591.2192,563.0395,594.4337,558.7116,590.791,562.3544,586.4631,553.73,591.2192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="190" x="594.5" y="587.2676">no lease or client id mismatch</text><!--MD5=[c5ee7e899f7e78ebb49c392f0cd68ce0]
|
||||
link hwaddr_iterate to found_hwaddr--><path d="M373.28,600.5392 C368.61,619.7692 361.05,650.8292 355.93,671.8592 " fill="none" id="hwaddr_iterate->found_hwaddr" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="354.69,676.9792,360.6886,669.1679,355.8623,672.1186,352.9116,667.2923,354.69,676.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="367.5" y="643.7676">found a lease</text><!--MD5=[49806d919f2e8f347acf33d16af6c958]
|
||||
link found_hwaddr to hasAddressReservation--><path d="M359.44,713.4492 C382.5,757.9792 443.99,876.6992 469.34,925.6492 " fill="none" id="found_hwaddr->hasAddressReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="471.67,930.1592,471.0846,920.3278,469.3713,925.7189,463.9802,924.0056,471.67,930.1592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[419c32f3c11394d82c4ebd3db00104c7]
|
||||
link hwaddr_iterate to hasAddressReservation--><path d="M433.87,600.2492 C475.7,616.7892 525.5,646.4992 525.5,694.1992 C525.5,694.1992 525.5,694.1992 525.5,869.1992 C525.5,890.4892 512.76,911.2092 500.84,925.9292 " fill="none" id="hwaddr_iterate->hasAddressReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="497.51,929.9192,506.343,925.5627,500.7095,926.0769,500.1953,920.4435,497.51,929.9192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="62" x="526.5" y="803.7676">not found</text><!--MD5=[1a9e971bc87c9d378000ad9b2e367c91]
|
||||
link hasAddressReservation to setAddressReservation--><path d="M463.31,966.5392 C443.86,986.1792 412.17,1018.1492 391.33,1039.1792 " fill="none" id="hasAddressReservation->setAddressReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="387.57,1042.9792,396.7481,1039.4066,391.0912,1039.4295,391.0684,1033.7726,387.57,1042.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="21" x="432.5" y="1009.7676">yes</text><!--MD5=[d42a4bd24fb375c431deb7abe8a74e17]
|
||||
link hasAddressReservation to pool--><path d="M497.22,966.4192 C518.88,990.8992 552.33,1037.4392 538.5,1079.1992 C531.33,1100.8692 515.54,1121.4192 502.24,1135.9792 " fill="none" id="hasAddressReservation->pool" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="498.57,1139.9292,507.6356,1136.0803,501.9821,1136.2744,501.7879,1130.6209,498.57,1139.9292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="542.5" y="1066.2676">no or not check in the taken branch</text><!--MD5=[791581dff43cc3b6477c496805383c47]
|
||||
link setAddressReservation to pool--><path d="M390.42,1079.3992 C409.11,1095.5392 437.07,1119.6992 456.88,1136.7992 " fill="none" id="setAddressReservation->pool" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="460.73,1140.1192,456.5357,1131.2081,456.9468,1136.85,451.305,1137.2612,460.73,1140.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7a1241998e61cc09e6a084344a13ee40]
|
||||
link pool to pool_iterate--><path d="M443.38,1176.3992 C407.82,1192.8792 354.25,1217.7092 317.23,1234.8592 " fill="none" id="pool->pool_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="312.35,1237.1192,322.1978,1236.9736,316.8885,1235.0212,318.841,1229.712,312.35,1237.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1c40abd319323f0f8c3e812984d047be]
|
||||
link pool to allocate--><path d="M562.27,1176.2592 C595.56,1187.6592 630.78,1206.4492 650.5,1237.1992 C659.14,1250.6692 654.47,1257.6992 650.5,1273.1992 C636.28,1328.6892 627.14,1343.9092 588.5,1386.1992 C566.39,1410.3992 535.31,1430.7792 510.89,1444.6292 " fill="none" id="pool->allocate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="506.41,1447.1392,516.2178,1446.2406,510.7747,1444.7001,512.3152,1439.2571,506.41,1447.1392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="205" x="642.5" y="1316.7676">pool check is not in all branches</text><!--MD5=[f92712dd8e32c9acdf8619de922fc5cb]
|
||||
link pool_iterate to pool_iterate--><path d="M410.12,1246.9692 C430.88,1248.2192 445,1250.9592 445,1255.1992 C445,1259.0792 433.2,1261.6992 415.32,1263.0692 " fill="none" id="pool_iterate->pool_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="410.12,1263.4292,419.3732,1266.8023,415.1082,1263.0862,418.8244,1258.8212,410.12,1263.4292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="193" x="451" y="1260.2676">address not in an allowed pool</text><!--MD5=[89f40702130c31205e20b7afecbe9ed1]
|
||||
link pool_iterate to inAllowedPool--><path d="M275.5,1273.5392 C275.5,1292.7692 275.5,1323.8292 275.5,1344.8592 " fill="none" id="pool_iterate->inAllowedPool" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="275.5,1349.9792,279.5,1340.9792,275.5,1344.9792,271.5,1340.9792,275.5,1349.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="276.5" y="1316.7676">address in an allowed pool</text><!--MD5=[03b0dcad835fe04723134b797eb9a319]
|
||||
link pool_iterate to allocate--><path d="M375.89,1273.2492 C408.78,1280.8692 439.69,1290.9192 450.5,1303.1992 C484.66,1341.9792 481.2,1407.7092 476.46,1441.9492 " fill="none" id="pool_iterate->allocate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="475.7,1447.1692,480.9697,1438.8487,476.4291,1442.2227,473.0552,1437.6821,475.7,1447.1692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="100" x="479.5" y="1373.2676">no allowed pool</text><!--MD5=[27c03cbbcf5b4bbc0f83ff469240ee91]
|
||||
link inAllowedPool to allocate--><path d="M311.18,1386.3992 C345.34,1402.8792 396.82,1427.7092 432.4,1444.8592 " fill="none" id="inAllowedPool->allocate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="437.09,1447.1192,430.7227,1439.6054,432.5869,1444.9463,427.246,1446.8104,437.09,1447.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c7ed7f8e85efd784aa0446a03842ecad]
|
||||
link allocate to allocate_iterate--><path d="M393.3,1481.6592 C375.37,1488.5992 357.97,1498.6492 345.5,1513.1992 C335.73,1524.5992 332.59,1541.3292 331.83,1554.8292 " fill="none" id="allocate->allocate_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="331.65,1560.0092,335.9813,1551.1639,331.8356,1555.0127,327.9868,1550.867,331.65,1560.0092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="346.5" y="1526.7676">start from preferred (last used) subnet</text><!--MD5=[b4b32474e67014a0ea8b9d2dcb8b921b]
|
||||
link allocate to getHRmode--><path d="M551.57,1482.2592 C567.28,1489.1692 581.88,1499.0592 591.5,1513.1992 C647.03,1594.8392 571.65,1717.1292 536.65,1765.9492 " fill="none" id="allocate->getHRmode" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="533.6,1770.1692,542.1109,1765.2129,536.5264,1766.1151,535.6242,1760.5306,533.6,1770.1692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="198" x="605.5" y="1639.7676">allocation is not in all branches</text><!--MD5=[5d722979ddb74375b031e6d5bd55f242]
|
||||
link allocate_iterate to allocate_iterate--><path d="M433.25,1568.1192 C453.52,1569.2292 468,1572.5892 468,1578.1992 C468,1583.3192 455.9,1586.5692 438.34,1587.9492 " fill="none" id="allocate_iterate->allocate_iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="433.25,1588.2792,442.4936,1591.6787,438.2392,1587.9504,441.9675,1583.696,433.25,1588.2792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="474" y="1583.2676">no free address</text><!--MD5=[0a74e69bd975a88dffe2300213585d86]
|
||||
link allocate_iterate to allocated--><path d="M343.59,1596.5392 C356.05,1616.0092 376.26,1647.6192 389.72,1668.6592 " fill="none" id="allocate_iterate->allocated" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="392.48,1672.9792,390.9779,1663.2456,389.7762,1668.7733,384.2485,1667.5716,392.48,1672.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="373.5" y="1639.7676">found a free address</text><!--MD5=[1be0f2f74e199399aa4e09476dce36f7]
|
||||
link allocated to getHRmode--><path d="M424.69,1709.3992 C444.57,1725.5392 474.31,1749.6992 495.38,1766.7992 " fill="none" id="allocated->getHRmode" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="499.47,1770.1192,494.9879,1761.3494,495.5824,1766.9749,489.9569,1767.5694,499.47,1770.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9e14dd0054774aedb71cf602d40d12b7]
|
||||
link getHRmode to checkHRmode--><path d="M520.5,1806.6192 C520.5,1822.1592 520.5,1844.9792 520.5,1861.8592 " fill="none" id="getHRmode->checkHRmode" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="520.5,1866.8892,524.5,1857.8892,520.5,1861.8892,516.5,1857.8892,520.5,1866.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a84b25cfb30efcca4b707749deb6e97a]
|
||||
link checkHRmode to global--><path d="M502.01,1903.2992 C480.76,1922.9592 445.87,1955.2292 423.04,1976.3492 " fill="none" id="checkHRmode->global" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="419.21,1979.8992,428.5379,1976.7384,422.8857,1976.5096,423.1145,1970.8574,419.21,1979.8992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="21" x="468.5" y="1946.7676">yes</text><!--MD5=[a6bc61640de244f08df3cca17a4f2365]
|
||||
link checkHRmode to bySubnet--><path d="M539.3,1903.2992 C560.9,1922.9592 596.37,1955.2292 619.58,1976.3492 " fill="none" id="checkHRmode->bySubnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="623.48,1979.8992,619.5026,1970.8892,619.7771,1976.5394,614.1269,1976.8139,623.48,1979.8992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="589.5" y="1946.7676">no</text><!--MD5=[b516e9f33f07fd0923019528919312cb]
|
||||
link global to return--><path d="M397.59,2016.3892 C396.2,2030.3392 396.61,2049.8292 406.5,2063.1992 C415.42,2075.2592 428,2084.2392 441.56,2090.9292 " fill="none" id="global->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="446.2,2093.1092,439.7564,2085.6607,441.6749,2090.9823,436.3533,2092.9008,446.2,2093.1092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="187" x="407.5" y="2059.7676">return global host reservation</text><!--MD5=[31ce4acb5044d12c75fb908f2994650f]
|
||||
link bySubnet to return--><path d="M633.84,2016.2092 C626.18,2030.0592 613.99,2049.4892 599.5,2063.1992 C588.25,2073.8392 574.18,2083.1692 561.05,2090.6492 " fill="none" id="bySubnet->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="556.63,2093.1192,566.4378,2092.2206,560.9947,2090.6801,562.5352,2085.2371,556.63,2093.1192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="191" x="614.5" y="2059.7676">return subnet host reservation</text><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="622" x="164.75" y="2150.3555">Only the initial lookup is always performed: other occasions to change the subnet so the current host are only in some branches</text><!--MD5=[84940467d5c8b64b9d1a8ec6eb53bf6f]
|
||||
@startuml
|
||||
|
||||
title currentHost DHCPv4 (Kea 1.8.0)
|
||||
|
||||
agent "Subnet Selection" as entry
|
||||
|
||||
agent "Set subnet to the selected subnet" as setSelected
|
||||
|
||||
agent "Has client a lease for its client id?" as clientid_lookup
|
||||
|
||||
agent "Iterate on allowed subnets for client id" as clientid_iterate
|
||||
|
||||
agent "Set subnet to the by client id lease" as found_clientid
|
||||
|
||||
agent "Has client a matching lease?" as hwaddr_lookup
|
||||
|
||||
agent "Iterate on allowed subnets for hardware address" as hwaddr_iterate
|
||||
|
||||
agent "Set subnet to the matching lease" as found_hwaddr
|
||||
|
||||
agent "Has an address reservation?" as hasAddressReservation
|
||||
|
||||
agent "Set subnet to address reservation subnet" as setAddressReservation
|
||||
|
||||
agent "Is the address in an allowed pool?" as pool
|
||||
|
||||
agent "Iterate on allowed subnets with pool" as pool_iterate
|
||||
|
||||
agent "Set subnet to address pool subnet" as inAllowedPool
|
||||
|
||||
agent "Allocate a new lease" as allocate
|
||||
|
||||
agent "Iterate on allowed subnets" as allocate_iterate
|
||||
|
||||
agent "Set subnet to allocated lease subnet" as allocated
|
||||
|
||||
agent "Get subnet host reservation mode" as getHRmode
|
||||
|
||||
agent "Is subnet host reservation mode global?" as checkHRmode
|
||||
|
||||
agent "Get global host reservation" as global
|
||||
|
||||
agent "Get subnet host reservation" as bySubnet
|
||||
|
||||
agent "Return current host reservation" as return
|
||||
|
||||
entry - -> setSelected
|
||||
setSelected - -> clientid_lookup
|
||||
clientid_lookup - - -> hwaddr_lookup : no client id option
|
||||
clientid_lookup - -> clientid_iterate
|
||||
clientid_iterate -> clientid_iterate : match-client-id is false or no lease
|
||||
clientid_iterate - -> found_clientid : found a lease
|
||||
found_clientid - - - -> hasAddressReservation
|
||||
clientid_iterate - -> hwaddr_lookup : not found by client id, try by hardware address
|
||||
hwaddr_lookup - - -> hasAddressReservation : no hardware address
|
||||
hwaddr_lookup - -> hwaddr_iterate
|
||||
hwaddr_iterate -> hwaddr_iterate : no lease or client id mismatch
|
||||
hwaddr_iterate - -> found_hwaddr : found a lease
|
||||
found_hwaddr - - - -> hasAddressReservation
|
||||
hwaddr_iterate - -> hasAddressReservation : not found
|
||||
hasAddressReservation - -> setAddressReservation : yes
|
||||
hasAddressReservation - -> pool : no or not check in the taken branch
|
||||
setAddressReservation - -> pool
|
||||
pool - -> pool_iterate
|
||||
pool - - -> allocate : pool check is not in all branches
|
||||
pool_iterate -> pool_iterate : address not in an allowed pool
|
||||
pool_iterate - -> inAllowedPool : address in an allowed pool
|
||||
pool_iterate - - -> allocate : no allowed pool
|
||||
inAllowedPool - -> allocate
|
||||
allocate - -> allocate_iterate : start from preferred (last used) subnet
|
||||
allocate - - -> getHRmode : allocation is not in all branches
|
||||
allocate_iterate -> allocate_iterate : no free address
|
||||
allocate_iterate - -> allocated : found a free address
|
||||
allocated - -> getHRmode
|
||||
getHRmode - -> checkHRmode
|
||||
checkHRmode - -> global : yes
|
||||
checkHRmode - -> bySubnet : no
|
||||
global - -> return : return global host reservation
|
||||
bySubnet - -> return : return subnet host reservation
|
||||
|
||||
footer Only the initial lookup is always performed: other occasions to change the subnet so the current host are only in some branches
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="2256px" preserveAspectRatio="none" style="width:944px;height:2256px;background:#FFFFFF;" version="1.1" viewBox="0 0 944 2256" width="944px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="218" x="356.25" y="24.9659">currentHost DHCPv4 (Kea 1.8.0)</text>
|
||||
<!--entity entry-->
|
||||
<g id="elem_entry">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="133" x="301" y="47.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="311" y="72.0339">Subnet Selection</text>
|
||||
</g>
|
||||
<!--entity setSelected-->
|
||||
<g id="elem_setSelected">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="246" x="244.5" y="147.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="226" x="254.5" y="172.1039">Set subnet to the selected subnet</text>
|
||||
</g>
|
||||
<!--entity clientid_lookup-->
|
||||
<g id="elem_clientid_lookup">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="244" x="245.5" y="247.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="224" x="255.5" y="272.1739">Has client a lease for its client id?</text>
|
||||
</g>
|
||||
<!--entity clientid_iterate-->
|
||||
<g id="elem_clientid_iterate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="281" x="7" y="347.2779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="261" x="17" y="372.2439">Iterate on allowed subnets for client id</text>
|
||||
</g>
|
||||
<!--entity found_clientid-->
|
||||
<g id="elem_found_clientid">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="252" x="21.5" y="534.4079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="232" x="31.5" y="559.3739">Set subnet to the by client id lease</text>
|
||||
</g>
|
||||
<!--entity hwaddr_lookup-->
|
||||
<g id="elem_hwaddr_lookup">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="211" x="429" y="465.3379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="191" x="439" y="490.3039">Has client a matching lease?</text>
|
||||
</g>
|
||||
<!--entity hwaddr_iterate-->
|
||||
<g id="elem_hwaddr_iterate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="350" x="200.5" y="603.4779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="330" x="210.5" y="628.4439">Iterate on allowed subnets for hardware address</text>
|
||||
</g>
|
||||
<!--entity found_hwaddr-->
|
||||
<g id="elem_found_hwaddr">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="242" x="227.5" y="721.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="222" x="237.5" y="746.5139">Set subnet to the matching lease</text>
|
||||
</g>
|
||||
<!--entity hasAddressReservation-->
|
||||
<g id="elem_hasAddressReservation">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="210" x="373.5" y="981.6079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="190" x="383.5" y="1006.5739">Has an address reservation?</text>
|
||||
</g>
|
||||
<!--entity setAddressReservation-->
|
||||
<g id="elem_setAddressReservation">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="298" x="220.5" y="1099.6779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="278" x="230.5" y="1124.6439">Set subnet to address reservation subnet</text>
|
||||
</g>
|
||||
<!--entity pool-->
|
||||
<g id="elem_pool">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="249" x="354" y="1199.7479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="229" x="364" y="1224.7139">Is the address in an allowed pool?</text>
|
||||
</g>
|
||||
<!--entity pool_iterate-->
|
||||
<g id="elem_pool_iterate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="266" x="146.5" y="1299.8179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="246" x="156.5" y="1324.7839">Iterate on allowed subnets with pool</text>
|
||||
</g>
|
||||
<!--entity inAllowedPool-->
|
||||
<g id="elem_inAllowedPool">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="251" x="154" y="1417.8879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="231" x="164" y="1442.8539">Set subnet to address pool subnet</text>
|
||||
</g>
|
||||
<!--entity allocate-->
|
||||
<g id="elem_allocate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="156" x="396.5" y="1517.9479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="136" x="406.5" y="1542.9139">Allocate a new lease</text>
|
||||
</g>
|
||||
<!--entity allocate_iterate-->
|
||||
<g id="elem_allocate_iterate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="200" x="237.5" y="1636.0179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="180" x="247.5" y="1660.9839">Iterate on allowed subnets</text>
|
||||
</g>
|
||||
<!--entity allocated-->
|
||||
<g id="elem_allocated">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="264" x="273.5" y="1754.0879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="244" x="283.5" y="1779.0539">Set subnet to allocated lease subnet</text>
|
||||
</g>
|
||||
<!--entity getHRmode-->
|
||||
<g id="elem_getHRmode">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="249" x="395" y="1854.1579"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="229" x="405" y="1879.1239">Get subnet host reservation mode</text>
|
||||
</g>
|
||||
<!--entity checkHRmode-->
|
||||
<g id="elem_checkHRmode">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="290" x="374.5" y="1954.2279"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="270" x="384.5" y="1979.1939">Is subnet host reservation mode global?</text>
|
||||
</g>
|
||||
<!--entity global-->
|
||||
<g id="elem_global">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="202" x="298.5" y="2072.2879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="182" x="308.5" y="2097.2539">Get global host reservation</text>
|
||||
</g>
|
||||
<!--entity bySubnet-->
|
||||
<g id="elem_bySubnet">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="207" x="536" y="2072.2879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="187" x="546" y="2097.2539">Get subnet host reservation</text>
|
||||
</g>
|
||||
<!--entity return-->
|
||||
<g id="elem_return">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="233" x="402" y="2190.3579"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="213" x="412" y="2215.3239">Return current host reservation</text>
|
||||
</g>
|
||||
<!--link entry to setSelected-->
|
||||
<g id="link_entry_setSelected">
|
||||
<path d="M367.5,86.5079 C367.5,101.8379 367.5,123.5879 367.5,140.4079 " fill="none" id="entry-to-setSelected" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="367.5,145.3079,371.5,136.3079,367.5,140.3079,363.5,136.3079,367.5,145.3079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link setSelected to clientid_lookup-->
|
||||
<g id="link_setSelected_clientid_lookup">
|
||||
<path d="M367.5,186.5779 C367.5,201.9079 367.5,223.6579 367.5,240.4779 " fill="none" id="setSelected-to-clientid_lookup" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="367.5,245.3779,371.5,236.3779,367.5,240.3779,363.5,236.3779,367.5,245.3779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link clientid_lookup to hwaddr_lookup-->
|
||||
<g id="link_clientid_lookup_hwaddr_lookup">
|
||||
<path d="M432.71,286.6579 C466.61,299.2479 506.66,318.7979 534.5,347.2779 C563.51,376.9479 577.14,395.5079 565.5,435.3379 C562.95,444.0779 558.29,452.7279 553.35,460.2679 " fill="none" id="clientid_lookup-to-hwaddr_lookup" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="550.77,464.0379,559.1444,458.8543,553.5862,459.9065,552.5341,454.3483,550.77,464.0379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="108" x="564.5" y="372.2049">no client id option</text>
|
||||
</g>
|
||||
<!--link clientid_lookup to clientid_iterate-->
|
||||
<g id="link_clientid_lookup_clientid_iterate">
|
||||
<path d="M324.82,286.7679 C287.78,303.2779 234.2,327.1579 195.64,344.3479 " fill="none" id="clientid_lookup-to-clientid_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="191.44,346.2179,201.2889,346.2122,196.0079,344.1846,198.0355,338.9036,191.44,346.2179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link clientid_iterate to clientid_iterate-->
|
||||
<g id="link_clientid_iterate_clientid_iterate">
|
||||
<path d="M288.3,358.3179 C309.02,359.6579 323,362.4879 323,366.8079 C323,370.6879 311.71,373.3679 294.4,374.8379 " fill="none" id="clientid_iterate-to-clientid_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="289.81,375.1879,299.0823,378.5082,294.7962,374.8165,298.488,370.5303,289.81,375.1879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="199" x="329" y="372.2049">match-client-id is false or no lease</text>
|
||||
</g>
|
||||
<!--link clientid_iterate to found_clientid-->
|
||||
<g id="link_clientid_iterate_found_clientid">
|
||||
<path d="M147.5,386.5779 C147.5,420.1179 147.5,490.3479 147.5,527.9379 " fill="none" id="clientid_iterate-to-found_clientid" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="147.5,532.6079,151.5,523.6079,147.5,527.6079,143.5,523.6079,147.5,532.6079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="79" x="148.5" y="431.2349">found a lease</text>
|
||||
</g>
|
||||
<!--link found_clientid to hasAddressReservation-->
|
||||
<g id="link_found_clientid_hasAddressReservation">
|
||||
<path d="M147.5,573.7479 C147.5,598.3879 147.5,642.9479 147.5,681.0479 C147.5,681.0479 147.5,681.0479 147.5,920.6079 C147.5,966.8079 270.91,986.2379 367.03,994.3679 " fill="none" id="found_clientid-to-hasAddressReservation" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="371.81,994.7679,363.1721,990.0364,366.8272,994.3539,362.5097,998.0089,371.81,994.7679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link clientid_iterate to hwaddr_lookup-->
|
||||
<g id="link_clientid_iterate_hwaddr_lookup">
|
||||
<path d="M182.5,386.8379 C215.25,404.3879 261.96,428.6879 281.5,435.3379 C326.59,450.6879 377.94,461.6679 422.55,469.2579 " fill="none" id="clientid_iterate-to-hwaddr_lookup" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="427.3,470.0579,419.0851,464.625,422.3688,469.2313,417.7626,472.515,427.3,470.0579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="278" x="282.5" y="431.2349">not found by client id, try by hardware address</text>
|
||||
</g>
|
||||
<!--link hwaddr_lookup to hasAddressReservation-->
|
||||
<g id="link_hwaddr_lookup_hasAddressReservation">
|
||||
<path d="M640.43,496.0879 C717.9,510.0979 809.5,543.2979 809.5,622.0079 C809.5,622.0079 809.5,622.0079 809.5,920.6079 C809.5,966.8079 686.09,986.2379 589.97,994.3679 " fill="none" id="hwaddr_lookup-to-hasAddressReservation" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="585.19,994.7679,594.4903,998.0089,590.1728,994.3539,593.8279,990.0364,585.19,994.7679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="126" x="810.5" y="805.5049">no hardware address</text>
|
||||
</g>
|
||||
<!--link hwaddr_lookup to hwaddr_iterate-->
|
||||
<g id="link_hwaddr_lookup_hwaddr_iterate">
|
||||
<path d="M512.39,504.8079 C483.64,529.4279 433.44,572.4079 402.47,598.9179 " fill="none" id="hwaddr_lookup-to-hwaddr_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="398.83,602.0379,408.2726,599.2383,402.6333,598.7922,403.0794,593.153,398.83,602.0379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link hwaddr_iterate to hwaddr_iterate-->
|
||||
<g id="link_hwaddr_iterate_hwaddr_iterate">
|
||||
<path d="M550.89,613.4979 C571.83,615.2279 585.5,618.3979 585.5,623.0079 C585.5,627.1579 574.46,630.1379 557.04,631.9479 " fill="none" id="hwaddr_iterate-to-hwaddr_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="552.4,632.3879,561.7285,635.547,557.379,631.9301,560.9959,627.5806,552.4,632.3879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="176" x="591.5" y="628.4049">no lease or client id mismatch</text>
|
||||
</g>
|
||||
<!--link hwaddr_iterate to found_hwaddr-->
|
||||
<g id="link_hwaddr_iterate_found_hwaddr">
|
||||
<path d="M371.1,642.9179 C366.53,662.5579 359.36,693.3979 354.32,715.0579 " fill="none" id="hwaddr_iterate-to-found_hwaddr" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="353.24,719.7079,359.168,711.8429,354.3685,714.8369,351.3745,710.0374,353.24,719.7079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="79" x="365.5" y="687.4449">found a lease</text>
|
||||
</g>
|
||||
<!--link found_hwaddr to hasAddressReservation-->
|
||||
<g id="link_found_hwaddr_hasAddressReservation">
|
||||
<path d="M358.06,761.0579 C381.21,807.0079 440.27,924.2479 466.09,975.5179 " fill="none" id="found_hwaddr-to-hasAddressReservation" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="468.25,979.7879,467.7902,969.9498,466.0082,975.3186,460.6394,973.5366,468.25,979.7879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link hwaddr_iterate to hasAddressReservation-->
|
||||
<g id="link_hwaddr_iterate_hasAddressReservation">
|
||||
<path d="M432.33,643.0379 C473.7,660.8879 522.5,692.1179 522.5,740.0779 C522.5,740.0779 522.5,740.0779 522.5,920.6079 C522.5,941.1679 511.11,961.3979 499.91,976.3179 " fill="none" id="hwaddr_iterate-to-hasAddressReservation" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="497.07,979.9679,505.7564,975.326,500.1427,976.0235,499.4452,970.4098,497.07,979.9679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="60" x="523.5" y="854.5049">not found</text>
|
||||
</g>
|
||||
<!--link hasAddressReservation to setAddressReservation-->
|
||||
<g id="link_hasAddressReservation_setAddressReservation">
|
||||
<path d="M460.74,1021.0579 C441.9,1041.1179 412.09,1072.8679 391.7,1094.5779 " fill="none" id="hasAddressReservation-to-setAddressReservation" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="388.28,1098.2079,397.3611,1094.3956,391.7068,1094.5669,391.5355,1088.9127,388.28,1098.2079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="20" x="431.5" y="1065.5749">yes</text>
|
||||
</g>
|
||||
<!--link hasAddressReservation to pool-->
|
||||
<g id="link_hasAddressReservation_pool">
|
||||
<path d="M495.7,1020.7579 C517.49,1046.6879 550.63,1095.3879 536.5,1138.7479 C529.65,1159.7679 514.91,1179.8579 502,1194.5879 " fill="none" id="hasAddressReservation-to-pool" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="498.72,1198.2379,507.7062,1194.207,502.0577,1194.5151,501.7496,1188.8666,498.72,1198.2379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="212" x="540.5" y="1124.6149">no or not check in the taken branch</text>
|
||||
</g>
|
||||
<!--link setAddressReservation to pool-->
|
||||
<g id="link_setAddressReservation_pool">
|
||||
<path d="M390.52,1139.1279 C408.31,1155.1279 433.88,1178.1379 452.87,1195.2279 " fill="none" id="setAddressReservation-to-pool" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="456.42,1198.4179,452.4062,1189.4241,452.7035,1195.0731,447.0545,1195.3704,456.42,1198.4179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link pool to pool_iterate-->
|
||||
<g id="link_pool_pool_iterate">
|
||||
<path d="M440.13,1239.1879 C406.79,1255.6179 358.5,1279.4179 323.58,1296.6279 " fill="none" id="pool-to-pool_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="319.45,1298.6679,329.2909,1298.271,323.9335,1296.4547,325.7497,1291.0974,319.45,1298.6679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link pool to allocate-->
|
||||
<g id="link_pool_allocate">
|
||||
<path d="M557.89,1239.2379 C589.58,1251.1179 622.9,1270.0379 641.5,1299.8179 C650.7,1314.5379 645.43,1321.9679 641.5,1338.8879 C628.27,1395.8279 621.1,1412.1779 583.5,1456.9479 C564.11,1480.0379 536.68,1500.0079 514.18,1514.1679 " fill="none" id="pool-to-allocate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="510.16,1516.6579,519.9161,1515.3094,514.408,1514.0207,515.6966,1508.5126,510.16,1516.6579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="188" x="634.5" y="1383.7849">pool check is not in all branches</text>
|
||||
</g>
|
||||
<!--link pool_iterate to pool_iterate-->
|
||||
<g id="link_pool_iterate_pool_iterate">
|
||||
<path d="M412.93,1310.7779 C433.5,1312.0679 447.5,1314.9279 447.5,1319.3479 C447.5,1323.3279 436.2,1326.0379 418.99,1327.4879 " fill="none" id="pool_iterate-to-pool_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="414.44,1327.8179,423.7123,1331.1382,419.4262,1327.4465,423.118,1323.1603,414.44,1327.8179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="182" x="453.5" y="1324.7449">address not in an allowed pool</text>
|
||||
</g>
|
||||
<!--link pool_iterate to inAllowedPool-->
|
||||
<g id="link_pool_iterate_inAllowedPool">
|
||||
<path d="M279.5,1339.2579 C279.5,1358.8179 279.5,1389.4779 279.5,1411.1179 " fill="none" id="pool_iterate-to-inAllowedPool" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="279.5,1416.0079,283.5,1407.0079,279.5,1411.0079,275.5,1407.0079,279.5,1416.0079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="158" x="280.5" y="1383.7849">address in an allowed pool</text>
|
||||
</g>
|
||||
<!--link pool_iterate to allocate-->
|
||||
<g id="link_pool_iterate_allocate">
|
||||
<path d="M405.43,1339.2479 C421.34,1346.3379 436.03,1355.9279 447.5,1368.8879 C482.63,1408.5679 481.73,1475.1879 478.08,1511.3279 " fill="none" id="pool_iterate-to-allocate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="477.55,1516.2079,482.5033,1507.6953,478.0928,1511.2375,474.5506,1506.8269,477.55,1516.2079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="95" x="479.5" y="1442.8149">no allowed pool</text>
|
||||
</g>
|
||||
<!--link inAllowedPool to allocate-->
|
||||
<g id="link_inAllowedPool_allocate">
|
||||
<path d="M317.1,1457.3279 C349.64,1473.6879 396.7,1497.3579 430.89,1514.5579 " fill="none" id="inAllowedPool-to-allocate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="435.33,1516.7879,429.0787,1509.1773,430.8607,1514.5461,425.4919,1516.3281,435.33,1516.7879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link allocate to allocate_iterate-->
|
||||
<g id="link_allocate_allocate_iterate">
|
||||
<path d="M399.66,1557.3979 C383.63,1564.4479 368.06,1574.0279 356.5,1587.0179 C346.18,1598.6179 341.42,1615.4079 339.25,1629.3479 " fill="none" id="allocate-to-allocate_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="338.63,1634.0279,343.778,1625.6316,339.2871,1629.0713,335.8474,1624.5803,338.63,1634.0279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="228" x="357.5" y="1601.9149">start from preferred (last used) subnet</text>
|
||||
</g>
|
||||
<!--link allocate to getHRmode-->
|
||||
<g id="link_allocate_getHRmode">
|
||||
<path d="M552.86,1556.5279 C567.72,1563.5779 581.43,1573.3879 590.5,1587.0179 C646.76,1671.5379 572.93,1796.9279 537.05,1848.8479 " fill="none" id="allocate-to-getHRmode" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="534.36,1852.6879,542.7993,1847.6107,537.2283,1848.5924,536.2465,1843.0214,534.36,1852.6879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="182" x="605.5" y="1719.9849">allocation is not in all branches</text>
|
||||
</g>
|
||||
<!--link allocate_iterate to allocate_iterate-->
|
||||
<g id="link_allocate_iterate_allocate_iterate">
|
||||
<path d="M437.88,1644.9279 C458.07,1646.0979 472.5,1649.6479 472.5,1655.5579 C472.5,1660.8179 461.06,1664.2079 444.29,1665.7079 " fill="none" id="allocate_iterate-to-allocate_iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="439.39,1666.0679,448.6623,1669.3882,444.3762,1665.6965,448.068,1661.4103,439.39,1666.0679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="92" x="478.5" y="1660.9549">no free address</text>
|
||||
</g>
|
||||
<!--link allocate_iterate to allocated-->
|
||||
<g id="link_allocate_iterate_allocated">
|
||||
<path d="M348.58,1675.4579 C360.18,1695.2779 378.46,1726.4779 391.17,1748.1579 " fill="none" id="allocate_iterate-to-allocated" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="393.66,1752.4179,392.5601,1742.6307,391.1318,1748.1042,385.6582,1746.6758,393.66,1752.4179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="122" x="377.5" y="1719.9849">found a free address</text>
|
||||
</g>
|
||||
<!--link allocated to getHRmode-->
|
||||
<g id="link_allocated_getHRmode">
|
||||
<path d="M427.48,1793.5279 C446.09,1809.5379 472.83,1832.5479 492.69,1849.6279 " fill="none" id="allocated-to-getHRmode" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="496.44,1852.8479,492.2264,1843.9459,492.6498,1849.5869,487.0088,1850.0103,496.44,1852.8479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link getHRmode to checkHRmode-->
|
||||
<g id="link_getHRmode_checkHRmode">
|
||||
<path d="M519.5,1893.5979 C519.5,1908.9279 519.5,1930.6779 519.5,1947.4979 " fill="none" id="getHRmode-to-checkHRmode" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="519.5,1952.3979,523.5,1943.3979,519.5,1947.3979,515.5,1943.3979,519.5,1952.3979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link checkHRmode to global-->
|
||||
<g id="link_checkHRmode_global">
|
||||
<path d="M499.95,1993.6679 C479.12,2013.8179 446.11,2045.7479 423.66,2067.4579 " fill="none" id="checkHRmode-to-global" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="420.13,2070.8779,429.3782,2067.4911,423.7221,2067.3999,423.8133,2061.7437,420.13,2070.8779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="20" x="467.5" y="2038.1849">yes</text>
|
||||
</g>
|
||||
<!--link checkHRmode to bySubnet-->
|
||||
<g id="link_checkHRmode_bySubnet">
|
||||
<path d="M539.05,1993.6679 C559.88,2013.8179 592.89,2045.7479 615.34,2067.4579 " fill="none" id="checkHRmode-to-bySubnet" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="618.87,2070.8779,615.1867,2061.7437,615.2779,2067.3999,609.6218,2067.4911,618.87,2070.8779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="16" x="587.5" y="2038.1849">no</text>
|
||||
</g>
|
||||
<!--link global to return-->
|
||||
<g id="link_global_return">
|
||||
<path d="M398,2111.5979 C397.82,2126.2979 399.86,2146.5079 410.5,2160.3579 C419.21,2171.6979 431.16,2180.4579 443.95,2187.2079 " fill="none" id="global-to-return" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="448.12,2189.2979,441.859,2181.6953,443.6479,2187.0618,438.2813,2188.8507,448.12,2189.2979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="179" x="411.5" y="2156.2549">return global host reservation</text>
|
||||
</g>
|
||||
<!--link bySubnet to return-->
|
||||
<g id="link_bySubnet_return">
|
||||
<path d="M630.17,2111.5779 C622.32,2126.0679 610.05,2146.0179 595.5,2160.3579 C585.35,2170.3579 572.79,2179.3379 560.79,2186.7779 " fill="none" id="bySubnet-to-return" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="556.61,2189.2979,566.3825,2188.0735,560.8912,2186.715,562.2497,2181.2237,556.61,2189.2979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="184" x="611.5" y="2156.2549">return subnet host reservation</text>
|
||||
</g>
|
||||
<text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="620" x="155.25" y="2245.1158">Only the initial lookup is always performed: other occasions to change the subnet so the current host are only in some branches</text>
|
||||
<!--SRC=[bLR1Rjim3BtxAuYUMc0fDc27eOSEnGOinGuhsWye59k9XJfI82aDylUZH5cMR2TfBuP4yZrIbFHa9rs7KE-DGUMMsZhulVprzFuThl-YW6-tFsw_tbILs90NhbxsAuKENh33sacjha1O88yv3Y7ajnpcDBWMmOPeRA8vO2owbsXEo2NPwqxwiO0EXKLOQmFI9RDiVWOqJsNpscdzjjybXaU7HZW4hK1qdJwad3Om9PQIH3Bgp0fMnm7BbGM6jTwhvhNdcL_7LhYwbMh3C2w_FOYcCPyilXMcEGY3uB5eRSvqUGLb6Ldrp53KBbIV0-Y3vbtuhOwb2_l0lkV1TIBl3Cde29oXUhIXxfv3gb1MxCjEwuxhyQEFTF0WNHk24-f2q_h4FZIlMge7fdxACtjRxLCBK7Z8cYoYumCr5l6NgejXyJJc1IPNWluPeAs_t_b-R7N3XMxGBP_zBD-1SoZOT7ebuZRKBTPl8xnFop4J0iuOV1-fCeIlZYm-2V2CRczKhrpp81DYgYf852mMzuNmPEFW6ylAQ4un55HSNhW3fJDjqBjmYAV0-wdSZ0qm4qJyuUOksB6W599khkXepqaJA7VO_nak8YlbYQY2eTVMQkHUyEfcx_Si_RGHBcR8vV8B-CwJPQnVLOa_dPrxV15-FnR3SWgJ0ERb-vC_3h2LDZHzmf1woeuJ7OtES_sS8JwzzDZLQZuYdkbPx17j6LHGjj23S98SNsAlj5vudNX31IiZ53LYFa5FKWMcVfRw7wraxYM9iWLZJ6H3LXc4C6QYWdCE674IGQ_BFRHy54PeWXTwdU4lOyl2bIw3Izuyk4get9ejmJfXQ5EDtiBEu1f9lnguxWJfrzvYSnDbCESXeYJGVX7iyPjmeekJjFEbqAhM1eTBDOLbk5n2Pb6ieiDBCfGS131x8x8nO_YTu2CxTlRA7-gjOgXtiBgJEGvEl3PL8fW3dNXpAhhDcfe0_rHt33T2AkaaqKV5aVwfFOWZ_IAWeH-qBJPte2dGWAvhOOd3-gUwReNQ8Fy8SohBlsJ5m-MLJVjCj95MRt7OoVy0]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 28 KiB |
@ -1,67 +1,116 @@
|
||||
<?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="699px" preserveAspectRatio="none" style="width:631px;height:699px;" version="1.1" viewBox="0 0 631 699" width="631px" zoomAndPan="magnify"><defs><filter height="300%" id="f14qs590hur024" 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="203" x="205" y="17.4023">lease states (Kea 1.8.0)</text><!--MD5=[4278daa906671312366ccb0dccb3e92f]
|
||||
entity free--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="268" y="35.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="278" y="58.8744">Free</text><path d="M55,40.8392 L55,66.1498 A0,0 0 0 0 55,66.1498 L233,66.1498 A0,0 0 0 0 233,66.1498 L233,58.8392 L267.71,53.3392 L233,50.8392 L233,50.8392 L223,40.8392 L55,40.8392 A0,0 0 0 0 55,40.8392 " fill="#FBFB77" filter="url(#f14qs590hur024)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M223,40.8392 L223,50.8392 L233,50.8392 L223,40.8392 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="157" x="61" y="58.4076">not in the lease database</text><!--MD5=[4c0421e83b31106584008715812a1ea8]
|
||||
entity assigned--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="83" x="256.5" y="210.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="63" x="266.5" y="233.8744">Assigned</text><!--MD5=[046a8c2cc2caa2564a440430281543c8]
|
||||
entity assigned_expired--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="357" y="323.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="367" y="346.8744">Assigned expired</text><!--MD5=[be39be446611673079158bd75084bb29]
|
||||
entity declined--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="130.5" y="436.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="59" x="140.5" y="459.8744">Declined</text><!--MD5=[b74f0280ed02bec002eedfc3903cd610]
|
||||
entity declined_expired--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="38" y="549.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="48" y="572.8744">Declined expired</text><!--MD5=[309798e71ae1dfa592ce5bb406cc7544]
|
||||
entity reclaimed--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="272.5" y="646.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="282.5" y="669.8744">Expired-Reclaimed</text><!--MD5=[219c0a330ff1ab87a7e7f51a72cedfde]
|
||||
link free to assigned--><path d="M276.19,71.5392 C260.17,90.0792 239.64,120.7892 248,149.3392 C254.2,170.4992 268.1,191.3692 279.68,206.1892 " fill="none" id="free->assigned" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="282.87,210.1992,280.3967,200.666,279.757,206.2865,274.1364,205.6468,282.87,210.1992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="249" y="145.9076">assignment</text><!--MD5=[d0e432b1584877a475e5f2fe76611e15]
|
||||
reverse link free to assigned--><path d="M305.4,76.1392 C313.32,91.3492 322.85,112.4192 327,132.3392 C332.77,160.0292 319.25,191.2292 308.78,210.0792 " fill="none" id="free<-assigned" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="303.01,71.6192,303.6712,81.4459,305.3429,76.0416,310.7471,77.7133,303.01,71.6192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="330" y="145.9076">release query</text><!--MD5=[7534ad65a31e40f6f58c860fbe4b1334]
|
||||
link assigned to assigned_expired--><path d="M339.85,243.3892 C357.83,250.9992 378.09,261.8492 393,276.3392 C405.06,288.0492 413.79,304.9692 419.38,318.4692 " fill="none" id="assigned->assigned_expired" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="421.3,323.2692,421.6714,313.4274,419.443,318.6268,414.2436,316.3985,421.3,323.2692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="407" y="289.9076">after valid lifetime</text><!--MD5=[fde569cd6ac85f95e2a638ce16dc5096]
|
||||
reverse link assigned to assigned_expired--><path d="M312.18,250.8492 C321.59,264.0992 334.8,280.8792 349,293.3392 C362.19,304.9092 378.61,315.2892 392.97,323.3192 " fill="none" id="assigned<-assigned_expired" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="309.13,246.4992,311.0324,256.1626,312.005,250.59,317.5776,251.5626,309.13,246.4992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="350" y="289.9076">reuse</text><!--MD5=[21716a85bcf00f22f38541e3e291568a]
|
||||
link assigned to assigned--><path d="M339.71,219.4792 C358.36,218.6392 374.5,221.5892 374.5,228.3392 C374.5,234.4592 361.25,237.4592 344.88,237.3392 " fill="none" id="assigned->assigned" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="339.71,237.1992,348.6042,241.4292,344.7083,237.3277,348.8098,233.4319,339.71,237.1992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="380.5" y="233.4076">renew query</text><!--MD5=[8bb46c3b4dde016c313b8e321f1d7e1a]
|
||||
link assigned to declined--><path d="M269.68,246.4392 C245,262.9292 210.38,290.2192 192,323.3392 C173.05,357.4892 169.59,403.8692 169.39,430.9992 " fill="none" id="assigned->declined" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="169.39,436.1592,173.39,427.1592,169.39,431.1592,165.39,427.1592,169.39,436.1592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="193" y="346.4076">decline query</text><!--MD5=[8dc60d8855cbb8c3dba4463bc36210b7]
|
||||
link declined to declined_expired--><path d="M157.58,472.3892 C151.4,481.1592 144,492.1192 138,502.3392 C130.01,515.9592 122.06,531.8392 116.09,544.3692 " fill="none" id="declined->declined_expired" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="113.82,549.1692,121.2851,542.7449,115.9586,544.6497,114.0538,539.3231,113.82,549.1692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="139" y="515.9076">after probation period</text><!--MD5=[6d44915acfde63a8254178afd3aa27e3]
|
||||
reverse link assigned to declined_expired--><path d="M251.59,248.4092 C236.48,255.8492 220.22,265.2692 207,276.3392 C159.82,315.8392 153.14,333.6292 127,389.3392 C101.63,443.4092 102.58,516.5492 104.58,549.2792 " fill="none" id="assigned<-declined_expired" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="256.23,246.1592,246.386,246.468,251.7269,248.3322,249.8627,253.673,256.23,246.1592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="128" y="402.9076">reuse</text><!--MD5=[bdcfcd9c1cacddd2a3f75c7ff5da35a5]
|
||||
link assigned_expired to reclaimed--><path d="M422.75,359.5992 C409.44,413.6992 368.51,579.9992 353.55,640.7892 " fill="none" id="assigned_expired->reclaimed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="352.27,645.9992,358.3119,638.2213,353.4692,641.1452,350.5454,636.3025,352.27,645.9992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="388" y="515.9076">reclaim</text><!--MD5=[1c9e2837121ab398f7070aba53df7029]
|
||||
link declined_expired to free--><path d="M75.18,549.2492 C45.8,530.4392 6,497.2292 6,455.3392 C6,139.8392 6,139.8392 6,139.8392 C6,27.1992 143.26,107.3192 250,71.3392 C254.16,69.9392 258.5,68.3592 262.75,66.7492 " fill="none" id="declined_expired->free" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="267.69,64.8392,257.8532,64.3528,263.0262,66.6418,260.7373,71.8148,267.69,64.8392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="7" y="289.9076">remove</text><!--MD5=[b52d5a7ca53f64269da3993e04180d07]
|
||||
reverse link assigned to reclaimed--><path d="M299.31,251.7292 C301.08,283.8392 304,344.8492 304,396.8392 C304,396.8392 304,396.8392 304,568.3392 C304,597.7892 321.62,628.0092 334.56,646.2292 " fill="none" id="assigned<-reclaimed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="299.02,246.4492,295.5152,255.6534,299.2918,251.4418,303.5033,255.2185,299.02,246.4492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="305" y="459.4076">reuse</text><!--MD5=[d78006695828b24d5c043b2b2f6223cc]
|
||||
reverse link free to reclaimed--><path d="M323.27,57.1392 C395.5,64.6392 572,88.2592 572,139.8392 C572,139.8392 572,139.8392 572,568.3392 C572,634.3392 488.55,655.1692 423.52,661.3692 " fill="none" id="free<-reclaimed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="318.25,56.6192,326.8045,61.4998,323.2249,57.1196,327.6051,53.5399,318.25,56.6192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="573" y="346.4076">remove</text><!--MD5=[7a97b2a903c7311ebfa1bcbf72f0a383]
|
||||
link declined_expired to reclaimed--><!--MD5=[ad1f216ff27ad402bdd959662ff0ee60]
|
||||
@startuml
|
||||
|
||||
title lease states (Kea 1.8.0)
|
||||
|
||||
agent "Free" as free
|
||||
note left : not in the lease database
|
||||
|
||||
agent "Assigned" as assigned
|
||||
|
||||
agent "Assigned expired" as assigned_expired
|
||||
|
||||
agent "Declined" as declined
|
||||
|
||||
agent "Declined expired" as declined_expired
|
||||
|
||||
agent "Expired-Reclaimed" as reclaimed
|
||||
|
||||
free - - -> assigned : assignment
|
||||
|
||||
assigned -> assigned_expired : after valid lifetime
|
||||
assigned -> assigned : renew query
|
||||
assigned - - -> declined : decline query
|
||||
assigned -up-> free : release query
|
||||
|
||||
declined - -> declined_expired : after probation period
|
||||
|
||||
assigned_expired -up-> assigned : reuse
|
||||
declined_expired -up-> assigned : reuse
|
||||
|
||||
assigned_expired - - -> reclaimed : reclaim
|
||||
declined_expired - - -> free : remove
|
||||
|
||||
reclaimed -up-> assigned : reuse
|
||||
reclaimed -up- -> free : remove
|
||||
|
||||
declined_expired -[hidden]-> reclaimed
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="728px" preserveAspectRatio="none" style="width:617px;height:728px;background:#FFFFFF;" version="1.1" viewBox="0 0 617 728" width="617px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="156" x="223.5" y="24.9659">lease states (Kea 1.8.0)</text>
|
||||
<!--entity free-->
|
||||
<g id="elem_free">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="266.5" y="49.3979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="276.5" y="74.3639">Free</text>
|
||||
</g>
|
||||
<g id="elem_GMN3">
|
||||
<path d="M61,55.0779 L61,82.7839 A0,0 0 0 0 61,82.7839 L231,82.7839 A0,0 0 0 0 231,82.7839 L231,73.0779 L266.26,68.9379 L231,65.0779 L231,65.0779 L221,55.0779 L61,55.0779 A0,0 0 0 0 61,55.0779 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M221,55.0779 L221,65.0779 L231,65.0779 L221,55.0779 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="149" x="67" y="73.9749">not in the lease database</text>
|
||||
</g>
|
||||
<!--entity assigned-->
|
||||
<g id="elem_assigned">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82" x="257" y="229.4679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62" x="267" y="254.4339">Assigned</text>
|
||||
</g>
|
||||
<!--entity assigned_expired-->
|
||||
<g id="elem_assigned_expired">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="137" x="353.5" y="347.5379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="117" x="363.5" y="372.5039">Assigned expired</text>
|
||||
</g>
|
||||
<!--entity declined-->
|
||||
<g id="elem_declined">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="79" x="129.5" y="465.6079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="139.5" y="490.5739">Declined</text>
|
||||
</g>
|
||||
<!--entity declined_expired-->
|
||||
<g id="elem_declined_expired">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="134" x="40" y="583.6679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="50" y="608.6339">Declined expired</text>
|
||||
</g>
|
||||
<!--entity reclaimed-->
|
||||
<g id="elem_reclaimed">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="146" x="271" y="683.7379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="281" y="708.7039">Expired-Reclaimed</text>
|
||||
</g>
|
||||
<!--link free to assigned-->
|
||||
<g id="link_free_assigned">
|
||||
<path d="M273.81,88.6079 C258.11,108.0179 238.52,139.5279 247,168.4679 C253.01,188.9779 266.11,209.2079 277.53,224.1279 " fill="none" id="free-to-assigned" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="280.39,227.7879,278.0148,218.2298,277.3173,223.8435,271.7036,223.146,280.39,227.7879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="70" x="248" y="164.3649">assignment</text>
|
||||
</g>
|
||||
<!--reverse link free to assigned-->
|
||||
<g id="link_free_assigned">
|
||||
<path d="M303.84,94.7279 C311.04,110.0579 319.3,130.3779 323,149.4679 C328.44,177.5379 316.98,209.5379 307.84,229.2579 " fill="none" id="free-backto-assigned" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="301.7,90.2779,302.0088,100.1219,303.8729,94.7811,309.2138,96.6452,301.7,90.2779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="80" x="326" y="164.3649">release query</text>
|
||||
</g>
|
||||
<!--link assigned to assigned_expired-->
|
||||
<g id="link_assigned_assigned_expired">
|
||||
<path d="M339.42,264.1779 C357.42,272.0179 377.63,283.3079 392,298.5379 C403.22,310.4379 410.71,327.2279 415.39,341.0879 " fill="none" id="assigned-to-assigned_expired" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="416.89,345.7879,417.9535,335.9966,415.3646,341.0263,410.3349,338.4373,416.89,345.7879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="106" x="405" y="313.4349">after valid lifetime</text>
|
||||
</g>
|
||||
<!--reverse link assigned to assigned_expired-->
|
||||
<g id="link_assigned_assigned_expired">
|
||||
<path d="M313.23,274.0979 C322.56,287.7579 335.31,304.6379 349,317.5379 C360.86,328.6979 375.55,339.0079 388.65,347.2279 " fill="none" id="assigned-backto-assigned_expired" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="310.55,270.0979,312.2372,279.8012,313.3334,274.2516,318.883,275.3478,310.55,270.0979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="33" x="350" y="313.4349">reuse</text>
|
||||
</g>
|
||||
<!--link assigned to assigned-->
|
||||
<g id="link_assigned_assigned">
|
||||
<path d="M339.43,239.7679 C357.97,238.8879 374,241.9679 374,248.9979 C374,255.2179 361.51,258.3379 345.82,258.3879 " fill="none" id="assigned-to-assigned" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="340.95,258.2679,349.8562,262.4725,345.9487,258.3822,350.0391,254.4746,340.95,258.2679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="75" x="380" y="254.3949">renew query</text>
|
||||
</g>
|
||||
<!--link assigned to declined-->
|
||||
<g id="link_assigned_declined">
|
||||
<path d="M268.22,269.0179 C243.65,286.3679 210,314.3379 192,347.5379 C172.82,382.9179 168.88,430.4079 168.46,459.0679 " fill="none" id="assigned-to-declined" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="168.43,463.7179,172.4814,454.7409,168.4586,458.718,164.4815,454.6952,168.43,463.7179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="80" x="193" y="372.4649">decline query</text>
|
||||
</g>
|
||||
<!--link declined to declined_expired-->
|
||||
<g id="link_declined_declined_expired">
|
||||
<path d="M156.82,504.7479 C151.16,513.6679 144.49,524.5779 139,534.6679 C131.42,548.6079 123.78,564.6379 117.87,577.5879 " fill="none" id="declined-to-declined_expired" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="115.9,581.9179,123.2734,575.3886,117.9744,577.3685,115.9944,572.0695,115.9,581.9179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="133" x="140" y="549.5649">after probation period</text>
|
||||
</g>
|
||||
<!--reverse link assigned to declined_expired-->
|
||||
<g id="link_assigned_declined_expired">
|
||||
<path d="M251.01,269.6579 C235.72,277.3479 219.28,287.0879 206,298.5379 C158.17,339.7579 153.15,359.1379 127,416.6079 C101.37,472.9479 102.85,548.5379 105.26,583.2879 " fill="none" id="assigned-backto-declined_expired" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="255.22,267.5879,245.3791,267.9849,250.7365,269.8011,248.9203,275.1585,255.22,267.5879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="33" x="128" y="431.5049">reuse</text>
|
||||
</g>
|
||||
<!--link assigned_expired to reclaimed-->
|
||||
<g id="link_assigned_expired_reclaimed">
|
||||
<path d="M417.58,386.9979 C404.31,443.8679 364.78,613.2479 349.82,677.3379 " fill="none" id="assigned_expired-to-reclaimed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="348.71,682.0779,354.638,674.2129,349.8385,677.2069,346.8445,672.4074,348.71,682.0779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="43" x="384" y="549.5649">reclaim</text>
|
||||
</g>
|
||||
<!--link declined_expired to free-->
|
||||
<g id="link_declined_expired_free">
|
||||
<path d="M74.77,583.3279 C45.21,563.3179 6,528.7479 6,486.1379 C6,157.9679 6,157.9679 6,157.9679 C6,46.0679 142.63,126.1379 248,88.4679 C252.01,87.0379 256.18,85.4079 260.28,83.7379 " fill="none" id="declined_expired-to-free" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="264.81,81.8479,254.9636,81.628,260.1967,83.7761,258.0486,89.0092,264.81,81.8479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="46" x="7" y="313.4349">remove</text>
|
||||
</g>
|
||||
<!--reverse link assigned to reclaimed-->
|
||||
<g id="link_assigned_reclaimed">
|
||||
<path d="M298.47,275.3379 C299.06,309.3879 300,371.8079 300,425.1079 C300,425.1079 300,425.1079 300,604.2079 C300,633.8779 316.97,664.5179 329.84,683.4879 " fill="none" id="assigned-backto-reclaimed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="298.38,270.4279,294.5349,279.4952,298.4657,275.4272,302.5337,279.358,298.38,270.4279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="33" x="301" y="490.5349">reuse</text>
|
||||
</g>
|
||||
<!--reverse link free to reclaimed-->
|
||||
<g id="link_free_reclaimed">
|
||||
<path d="M321.67,73.3179 C392.62,81.9779 562,107.9079 562,157.9679 C562,157.9679 562,157.9679 562,604.2079 C562,669.1579 480.53,691.3479 417.2,698.7779 " fill="none" id="free-backto-reclaimed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="317.03,72.7579,325.4985,77.7863,321.9955,73.3446,326.4372,69.8416,317.03,72.7579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="46" x="563" y="372.4649">remove</text>
|
||||
</g>
|
||||
<!--link declined_expired to reclaimed-->
|
||||
<!--SRC=[TP6nJiGm343tV8Lr4mmzmOOOa93W5ZPMX52Ek7UMsgGaxW5_ZzCskPRqDZjvVhOJ9cuG6jG18R1c373rWXfkjtVRcskbz04jmsRd4JUW0zGIAEiurjGCzo0na0K-9elHhFSIvDh74EXWqGprUagAMy2VZlm_wcCwpFGJVZQKN6PAYjk5Ar65wtdCgrS1DBKJxbEcLDmLggfwoFF8lcFOYa54wNY6f3OHhHazd7H31XggaKMxMYEiHulVyDMZ_vqXiNUQNw0fBB2-4swODeh6RnWPbQldgcB6phkzPd8MElJap7crZ8vD5XFtyic5yWAt8emJvTSUm25UKLRpzLft4jsvy4B39L0AoYvlHp86xVjyBFK7]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 11 KiB |
@ -1,99 +1,162 @@
|
||||
<?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="974px" preserveAspectRatio="none" style="width:674px;height:974px;" version="1.1" viewBox="0 0 674 974" width="674px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hatkcuz2d0l4" 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="300" x="178" y="17.4023">DHCP server main loop (Kea 1.8.0)</text><!--MD5=[f7a7ee0c51b4e04c55c1f405505b5a33]
|
||||
cluster Main Loop--><rect fill="#FFFFFF" filter="url(#f1hatkcuz2d0l4)" height="911.86" style="stroke: #000000; stroke-width: 1.5;" width="650" x="7" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="294.5" y="43.7344">Main Loop</text><!--MD5=[5612987a0f9796801dd6d08eccf6974b]
|
||||
cluster run_one--><rect fill="#FFFFFF" filter="url(#f1hatkcuz2d0l4)" height="467.86" style="stroke: #000000; stroke-width: 1.5;" width="572" x="49" y="170.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="79" x="295.5" y="185.7344">Event Loop</text><!--MD5=[983d0794f401e349a629364dfc448d7d]
|
||||
entity run--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="145.5" y="63.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="155.5" y="86.7344">Wait for next event</text><!--MD5=[463fa6ce3d00da797e8ff80a4d9c8378]
|
||||
entity shutdown--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="28.5" y="888.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="38.5" y="911.5944">Check Shutdown</text><!--MD5=[f73c77a11c1a01c10ee045ae76f5a064]
|
||||
entity timeout--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="306.5" y="578.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="316.5" y="601.5944">Timeout</text><!--MD5=[53133b9ef51e4e7f3d2c6bacee8894bf]
|
||||
entity signal--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="62" x="311" y="277.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="42" x="321" y="300.5944">Signal</text><!--MD5=[7492a645d94b1ba942c71cddc305dc30]
|
||||
entity handleSignal--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="97" y="277.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="107" y="300.5944">Handle Signal</text><!--MD5=[82e30069e7a5a9e7454e349f4f7c28bc]
|
||||
entity external_socket--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="97" y="378.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="107" y="401.5944">External Socket</text><!--MD5=[ba069a43eac8d7db5b41bef0d2c2bb79]
|
||||
entity handleExternalSocket--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="178" x="395" y="378.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="158" x="405" y="401.5944">Handle External Socket</text><!--MD5=[a096c1983bcf686c95ea726f28f7a0ed]
|
||||
entity query--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="371.5" y="479.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="381.5" y="502.5944">DHCP Query</text><!--MD5=[15a052d0312126cb226db0f9a615136d]
|
||||
entity processQuery--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="97.5" y="479.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="97" x="107.5" y="502.5944">Process Query</text><!--MD5=[3ec86a5ecee919912764a4f49fada726]
|
||||
entity poll--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="60" y="711.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="70" y="734.5944">I/O Service</text><!--MD5=[55a3d76f9f066a914db2e6a0219879c4]
|
||||
entity ready--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="275.5" y="711.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="153" x="285.5" y="734.5944">Execute ready handler</text><!--MD5=[5e1c1922f34751d45a9d92a38b9ac144]
|
||||
link run to run_one--><path d="M265,99.3792 C265,114.9742 265,138.0042 265,157.8405 C265,160.32 265,162.7496 265,165.1086 C265,166.2881 265,167.4499 265,168.5915 C265,168.8768 265,169.161 265,169.4438 C265,169.5852 265,169.7263 265,169.867 " fill="none" id="run->run_one" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="265,169.867,269,160.867,265,164.867,261,160.867,265,169.867" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="236" y="142.7676">get next event</text><!--MD5=[0596cb5bc7e39429b5a70ee803d7702a]
|
||||
link run_one to signal--><path d="M265,198.1292 C265,205.6592 265,286.0592 265,286.0592 C265,286.0592 305.68,286.0592 305.68,286.0592 " fill="none" id="run_one->signal" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="310.68,286.0592,301.68,282.0592,305.68,286.0592,301.68,290.0592,310.68,286.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[71bca8b2b5579f3e01e5a5e6d05e252f]
|
||||
link signal to handleSignal--><path d="M310.96,295.0592 C310.96,295.0592 216.31,295.0592 216.31,295.0592 " fill="none" id="signal->handleSignal" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="211.31,295.0592,220.31,299.0592,216.31,295.0592,220.31,291.0592,211.31,295.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[59b958d73309821d887c593216a24bf9]
|
||||
link handleSignal to poll--><path d="M96.78,295.0592 C86.25,295.0592 78.5,295.0592 78.5,295.0592 C78.5,295.0592 78.5,705.9592 78.5,705.9592 " fill="none" id="handleSignal->poll" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="78.5,710.9592,82.5,701.9592,78.5,705.9592,74.5,701.9592,78.5,710.9592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[85a6501bbdb71fe843a154c65df0b326]
|
||||
link signal to external_socket--><path d="M310.78,304.0592 C273.76,304.0592 217,304.0592 217,304.0592 C217,304.0592 217,372.8792 217,372.8792 " fill="none" id="signal->external_socket" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="217,377.8792,221,368.8792,217,372.8792,213,368.8792,217,377.8792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3cd4ee53a51a0c2827ab7b17e0cc3c3c]
|
||||
link external_socket to handleExternalSocket--><path d="M223.24,390.0592 C223.24,390.0592 389.87,390.0592 389.87,390.0592 " fill="none" id="external_socket->handleExternalSocket" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="394.87,390.0592,385.87,386.0592,389.87,390.0592,385.87,394.0592,394.87,390.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9e360989e7d922bcf27daccb5299f564]
|
||||
link handleExternalSocket to poll--><path d="M394.76,402.0592 C335.73,402.0592 269.17,402.0592 269.17,402.0592 C269.17,402.0592 269.17,723.0592 269.17,723.0592 C269.17,723.0592 159.34,723.0592 159.34,723.0592 " fill="none" id="handleExternalSocket->poll" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="154.34,723.0592,163.34,727.0592,159.34,723.0592,163.34,719.0592,154.34,723.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[281658fee0b0d1e8e512917c18413af8]
|
||||
link external_socket to query--><path d="M218.75,414.3792 C218.75,441.9792 218.75,491.0592 218.75,491.0592 C218.75,491.0592 366.46,491.0592 366.46,491.0592 " fill="none" id="external_socket->query" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="371.46,491.0592,362.46,487.0592,366.46,491.0592,362.46,495.0592,371.46,491.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0da47bb881eae3b3085d664f44c330f1]
|
||||
link query to processQuery--><path d="M371.2,503.0592 C371.2,503.0592 219.62,503.0592 219.62,503.0592 " fill="none" id="query->processQuery" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="214.62,503.0592,223.62,507.0592,219.62,503.0592,223.62,499.0592,214.62,503.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5ae6948e7f9ea24c9961deb19f615012]
|
||||
link processQuery to poll--><path d="M116.33,515.2592 C116.33,515.2592 116.33,705.9392 116.33,705.9392 " fill="none" id="processQuery->poll" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="116.33,710.9392,120.33,701.9392,116.33,705.9392,112.33,701.9392,116.33,710.9392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[351006a45bcbe20db47f41960f495fbd]
|
||||
link query to timeout--><path d="M377.5,515.2192 C377.5,515.2192 377.5,573.0192 377.5,573.0192 " fill="none" id="query->timeout" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="377.5,578.0192,381.5,569.0192,377.5,573.0192,373.5,569.0192,377.5,578.0192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8da1f0cfac91639d3cdbe4344b95ba5e]
|
||||
link timeout to poll--><path d="M306.02,596.0592 C245.34,596.0592 135.17,596.0592 135.17,596.0592 C135.17,596.0592 135.17,705.8492 135.17,705.8492 " fill="none" id="timeout->poll" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="135.17,710.8492,139.17,701.8492,135.17,705.8492,131.17,701.8492,135.17,710.8492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="100" x="277" y="675.6276">timeout expired</text><!--MD5=[7fc4943622e5fd2b8bdecbc7965863a3]
|
||||
link poll to ready--><path d="M154.07,735.0592 C154.07,735.0592 270.48,735.0592 270.48,735.0592 " fill="none" id="poll->ready" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="275.48,735.0592,266.48,731.0592,270.48,735.0592,266.48,739.0592,275.48,735.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[82806226eee1d65d24007de8ef94d3ba]
|
||||
link poll to shutdown--><path d="M107,747.3392 C107,747.3392 107,882.8792 107,882.8792 " fill="none" id="poll->shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="107,887.8792,111,878.8792,107,882.8792,103,878.8792,107,887.8792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="102" y="823.6276">no ready handler</text><!--MD5=[9e95aa1826d8662af772234e20e4c11a]
|
||||
link ready to ready--><path d="M285,711.0292 C285,691.4792 285,663.0592 285,663.0592 C285,663.0592 272.33,663.0592 272.33,663.0592 C272.33,663.0592 272.33,818.0592 272.33,818.0592 C272.33,818.0592 362,818.0592 362,818.0592 C362,818.0592 362,752.0692 362,752.0692 " fill="none" id="ready->ready" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="362,747.0692,358,756.0692,362,752.0692,366,756.0692,362,747.0692" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e3e9af49381d3719c9282a3c352c133e]
|
||||
reverse link run to shutdown--><path d="M243.5,104.5792 C243.5,104.5792 243.5,906.0592 243.5,906.0592 C243.5,906.0592 202.48,906.0592 163.71,906.0592 " fill="none" id="run<-shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="243.5,99.5792,239.5,108.5792,243.5,104.5792,247.5,108.5792,243.5,99.5792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="139" x="258.5" y="960.7272">dashed arrow means priority</text><!--MD5=[8fa551d0c9d64d50247cb50d8338b7c4]
|
||||
@startuml
|
||||
|
||||
title DHCP server main loop (Kea 1.8.0)
|
||||
|
||||
skinparam linetype ortho
|
||||
|
||||
rectangle "Main Loop" {
|
||||
agent "Wait for next event" as run
|
||||
|
||||
rectangle "Event Loop" as run_one {
|
||||
together {
|
||||
agent "Signal" as signal
|
||||
|
||||
agent "Handle Signal" as handleSignal
|
||||
}
|
||||
|
||||
together {
|
||||
agent "External Socket" as external_socket
|
||||
|
||||
agent "Handle External Socket" as handleExternalSocket
|
||||
}
|
||||
|
||||
together {
|
||||
agent "DHCP Query" as query
|
||||
|
||||
agent "Process Query" as processQuery
|
||||
}
|
||||
|
||||
agent "Timeout" as timeout
|
||||
}
|
||||
|
||||
together {
|
||||
agent "I/O Service" as poll
|
||||
|
||||
agent "Execute ready handler" as ready
|
||||
}
|
||||
|
||||
agent "Check Shutdown" as shutdown
|
||||
}
|
||||
|
||||
run - -> run_one : get next event
|
||||
run_one - -> signal
|
||||
signal -right-> handleSignal : got signal
|
||||
handleSignal - -> poll
|
||||
signal -[dashed]-> external_socket
|
||||
external_socket -right-> handleExternalSocket : external socket ready
|
||||
handleExternalSocket - -> poll
|
||||
external_socket -[dashed]-> query
|
||||
query -right-> processQuery : DHCP socket ready
|
||||
processQuery - -> poll
|
||||
query -[dashed]-> timeout
|
||||
timeout - -> poll : timeout expired
|
||||
poll -> ready : handler ready
|
||||
poll - - -> shutdown : no ready handler
|
||||
ready -> ready : execute ready handler
|
||||
shutdown -u-> run
|
||||
|
||||
footer dashed arrow means priority
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="883px" preserveAspectRatio="none" style="width:498px;height:883px;background:#FFFFFF;" version="1.1" viewBox="0 0 498 883" width="498px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="235" x="124.5" y="24.9659">DHCP server main loop (Kea 1.8.0)</text>
|
||||
<!--cluster Main Loop-->
|
||||
<g id="cluster_Main Loop">
|
||||
<rect fill="none" height="809.48" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="485" x="7" y="47.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="73" x="213" y="64.0339">Main Loop</text>
|
||||
</g>
|
||||
<!--cluster run_one-->
|
||||
<g id="cluster_run_one">
|
||||
<rect fill="none" height="451.13" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="395" x="65" y="154.2779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="78" x="223.5" y="171.2439">Event Loop</text>
|
||||
</g>
|
||||
<!--entity run-->
|
||||
<g id="elem_run">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="147" x="113.5" y="85.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="127" x="123.5" y="110.0339">Wait for next event</text>
|
||||
</g>
|
||||
<!--entity poll-->
|
||||
<g id="elem_poll">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="93" x="108.5" y="641.4079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="118.5" y="666.3739">I/O Service</text>
|
||||
</g>
|
||||
<!--entity ready-->
|
||||
<g id="elem_ready">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="171" x="236.5" y="641.4079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="151" x="246.5" y="666.3739">Execute ready handler</text>
|
||||
</g>
|
||||
<!--entity shutdown-->
|
||||
<g id="elem_shutdown">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="132" x="56" y="801.4779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="112" x="66" y="826.4439">Check Shutdown</text>
|
||||
</g>
|
||||
<!--entity signal-->
|
||||
<g id="elem_signal">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="62" x="246" y="245.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="42" x="256" y="270.1039">Signal</text>
|
||||
</g>
|
||||
<!--entity handleSignal-->
|
||||
<g id="elem_handleSignal">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="97" y="245.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="107" y="270.1039">Handle Signal</text>
|
||||
</g>
|
||||
<!--entity external_socket-->
|
||||
<g id="elem_external_socket">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="122" x="97" y="344.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="107" y="369.1739">External Socket</text>
|
||||
</g>
|
||||
<!--entity handleExternalSocket-->
|
||||
<g id="elem_handleExternalSocket">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="174" x="254" y="344.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="154" x="264" y="369.1739">Handle External Socket</text>
|
||||
</g>
|
||||
<!--entity query-->
|
||||
<g id="elem_query">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="102" x="248" y="443.2779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="258" y="468.2439">DHCP Query</text>
|
||||
</g>
|
||||
<!--entity processQuery-->
|
||||
<g id="elem_processQuery">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="116" x="97" y="443.2779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="107" y="468.2439">Process Query</text>
|
||||
</g>
|
||||
<!--entity timeout-->
|
||||
<g id="elem_timeout">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="75" x="226.5" y="542.3479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="236.5" y="567.3139">Timeout</text>
|
||||
</g>
|
||||
<!--link run to run_one-->
|
||||
<g id="link_run_run_one">
|
||||
<path d="M232,124.3879 C232,129.8504 232,135.9954 232,142.2182 C232,145.3296 232,148.4605 232,151.5352 C232,152.3039 232,153.0691 232,153.8296 C232,153.9246 232,154.0196 232,154.1145 " fill="none" id="run-to-run_one" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="232,154.1145,236,145.1145,232,149.1145,228,145.1145,232,154.1145" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="144" y="150.0849">get next event</text>
|
||||
</g>
|
||||
<!--link run_one to signal-->
|
||||
<g id="link_run_one_signal">
|
||||
<path d="M232.06,185.5479 C233.31,185.5479 253.25,185.5479 253.25,185.5479 C253.25,185.5479 253.25,238.1979 253.25,238.1979 " fill="none" id="run_one-to-signal" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="253.25,243.1979,257.25,234.1979,253.25,238.1979,249.25,234.1979,253.25,243.1979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link signal to handleSignal-->
|
||||
<g id="link_signal_handleSignal">
|
||||
<path d="M245.64,258.5479 C245.64,258.5479 217.64,258.5479 217.64,258.5479 " fill="none" id="signal-to-handleSignal" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="212.64,258.5479,221.64,262.5479,217.64,258.5479,221.64,254.5479,212.64,258.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="59" x="186.89" y="273.4449">got signal</text>
|
||||
</g>
|
||||
<!--link handleSignal to poll-->
|
||||
<g id="link_handleSignal_poll">
|
||||
<path d="M96.86,265.5479 C85.25,265.5479 76.5,265.5479 76.5,265.5479 C76.5,265.5479 76.5,661.5479 76.5,661.5479 C76.5,661.5479 101.92,661.5479 101.92,661.5479 " fill="none" id="handleSignal-to-poll" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="106.92,661.5479,97.92,657.5479,101.92,661.5479,97.92,665.5479,106.92,661.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link signal to external_socket-->
|
||||
<g id="link_signal_external_socket">
|
||||
<path d="M245.64,271.5479 C230.26,271.5479 215,271.5479 215,271.5479 C215,271.5479 215,337.2279 215,337.2279 " fill="none" id="signal-to-external_socket" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="#181818" points="215,342.2279,219,333.2279,215,337.2279,211,333.2279,215,342.2279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link external_socket to handleExternalSocket-->
|
||||
<g id="link_external_socket_handleExternalSocket">
|
||||
<path d="M219.45,354.5479 C219.45,354.5479 247.17,354.5479 247.17,354.5479 " fill="none" id="external_socket-to-handleExternalSocket" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="252.17,354.5479,243.17,350.5479,247.17,354.5479,243.17,358.5479,252.17,354.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="128" x="234.31" y="350.4449">external socket ready</text>
|
||||
</g>
|
||||
<!--link handleExternalSocket to poll-->
|
||||
<g id="link_handleExternalSocket_poll">
|
||||
<path d="M253.51,373.5479 C235.94,373.5479 222.75,373.5479 222.75,373.5479 C222.75,373.5479 222.75,651.5479 222.75,651.5479 C222.75,651.5479 208.2,651.5479 208.2,651.5479 " fill="none" id="handleExternalSocket-to-poll" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="203.2,651.5479,212.2,655.5479,208.2,651.5479,212.2,647.5479,203.2,651.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link external_socket to query-->
|
||||
<g id="link_external_socket_query">
|
||||
<path d="M219.4,364.5479 C222.66,364.5479 224.62,364.5479 224.62,364.5479 C224.62,364.5479 224.62,456.5479 224.62,456.5479 C224.62,456.5479 241.24,456.5479 241.24,456.5479 " fill="none" id="external_socket-to-query" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="#181818" points="246.24,456.5479,237.24,452.5479,241.24,456.5479,237.24,460.5479,246.24,456.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link query to processQuery-->
|
||||
<g id="link_query_processQuery">
|
||||
<path d="M247.83,469.5479 C247.83,469.5479 219.89,469.5479 219.89,469.5479 " fill="none" id="query-to-processQuery" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="214.89,469.5479,223.89,473.5479,219.89,469.5479,223.89,465.5479,214.89,469.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="114" x="176.86" y="484.4449">DHCP socket ready</text>
|
||||
</g>
|
||||
<!--link processQuery to poll-->
|
||||
<g id="link_processQuery_poll">
|
||||
<path d="M155,482.5279 C155,482.5279 155,634.4979 155,634.4979 " fill="none" id="processQuery-to-poll" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="155,639.4979,159,630.4979,155,634.4979,151,630.4979,155,639.4979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link query to timeout-->
|
||||
<g id="link_query_timeout">
|
||||
<path d="M274.75,482.3779 C274.75,482.3779 274.75,535.4979 274.75,535.4979 " fill="none" id="query-to-timeout" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="#181818" points="274.75,540.4979,278.75,531.4979,274.75,535.4979,270.75,531.4979,274.75,540.4979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link timeout to poll-->
|
||||
<g id="link_timeout_poll">
|
||||
<path d="M229.83,581.5679 C229.83,610.6179 229.83,661.5479 229.83,661.5479 C229.83,661.5479 208.48,661.5479 208.48,661.5479 " fill="none" id="timeout-to-poll" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="203.48,661.5479,212.48,665.5479,208.48,661.5479,212.48,657.5479,203.48,661.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="96" x="132.83" y="628.1349">timeout expired</text>
|
||||
</g>
|
||||
<!--link poll to ready-->
|
||||
<g id="link_poll_ready">
|
||||
<path d="M201.96,671.5479 C201.96,671.5479 229.64,671.5479 229.64,671.5479 " fill="none" id="poll-to-ready" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="234.64,671.5479,225.64,667.5479,229.64,671.5479,225.64,675.5479,234.64,671.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="174.3" y="686.4449">handler ready</text>
|
||||
</g>
|
||||
<!--link poll to shutdown-->
|
||||
<g id="link_poll_shutdown">
|
||||
<path d="M148.25,680.8979 C148.25,680.8979 148.25,794.5479 148.25,794.5479 " fill="none" id="poll-to-shutdown" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="148.25,799.5479,152.25,790.5479,148.25,794.5479,144.25,790.5479,148.25,799.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102" x="45.25" y="733.6249">no ready handler</text>
|
||||
</g>
|
||||
<!--link ready to ready-->
|
||||
<g id="link_ready_ready">
|
||||
<path d="M269,641.1379 C269,627.3979 269,611.5479 269,611.5479 C269,611.5479 233.17,611.5479 233.17,611.5479 C233.17,611.5479 233.17,741.5479 233.17,741.5479 C233.17,741.5479 322,741.5479 322,741.5479 C322,741.5479 322,687.3879 322,687.3879 " fill="none" id="ready-to-ready" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="322,682.3879,318,691.3879,322,687.3879,326,691.3879,322,682.3879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="133" x="239.17" y="735.2349">execute ready handler</text>
|
||||
</g>
|
||||
<!--reverse link run to shutdown-->
|
||||
<g id="link_run_shutdown">
|
||||
<path d="M220.87,131.0479 C220.87,131.0479 220.87,821.5479 220.87,821.5479 C220.87,821.5479 206.39,821.5479 188.5,821.5479 " fill="none" id="run-backto-shutdown" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="220.88,126.0479,216.88,135.0479,220.88,131.0479,224.88,135.0479,220.88,126.0479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="139" x="172.5" y="872.2379">dashed arrow means priority</text>
|
||||
<!--SRC=[VLF1ZjCm4BtFLunwWaDtuORsm6LPQLU0M5Ga3WYjh6GsiPfwWkFijaByEsEF7TnIk3JncpVlJVocmOQ1yDtjzJrEv9_8uyvOXmFpY2_Uay7N5sykNhq4cBRMZSQR7GxMKJYCXEn3pm2Ucc1S9pAhZx7tW_Iky2UWwSW5N7qrDk0ZUtIq3qXF0gxGJEXd1u1LzqqivNQjFx2Zg8I1EmgzJ1SFHNXZEsU6n9tIArJ5M-DQ4QquVK8K4E8l-9VkpJwG5n9kkDcI3aiPUvWITiRfN9TQbeeM_ckTWlWyap-a_X_nhVQwzzpGD5MKKP445Ed2_c9tnBEE4lGT4kF8EvFlBZ_XHbR0DgJ2FAGBNIw5cZcGv6NQG_umhpb5H7KpzxgdPekRVWujFpiDA1z0Q18ihjTlbu2lKAQfjWDA8P9oilh0jRTT7mIkmum270hpg18LqeUK_c-jcNfglmj-6kd9-TJhE4NnB7pCVBs7i-HbZByygdaqxFJxnxkELpprZrhx7H4MdwnIgPVyytEXYcY1Q3zQJoqaEEQJehugOHV3L4tHv4o5ulXuCK1FbGYTsnzO9DQpBWJ08xFS4UhaQBpdPzoHSN7LBNiR3l0R]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@ -1,160 +1,355 @@
|
||||
<?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="1814px" preserveAspectRatio="none" style="width:1862px;height:1814px;" version="1.1" viewBox="0 0 1862 1814" width="1862px" zoomAndPan="magnify"><defs><filter height="300%" id="f1u1c8b25aigi3" 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="332" x="756" y="17.4023">DHCPv4 packet processing (Kea 1.8.0)</text><!--MD5=[91c043391605f0bbc36c648123f05f04]
|
||||
cluster process--><rect fill="#FFFFFF" filter="url(#f1u1c8b25aigi3)" height="103" style="stroke: #000000; stroke-width: 1.5;" width="849" x="715" y="924.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="257" x="1011" y="939.7344">Process Query on its Message Type</text><!--MD5=[a6437f938727ef6368484703a6d5a51f]
|
||||
entity processDiscover--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="1088" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="1098" y="990.7344">Process Discover</text><!--MD5=[776f46e8e787ed3ff8f7399fa81d4ef1]
|
||||
entity processRequest--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="758.5" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="768.5" y="990.7344">Process Request</text><!--MD5=[fc7d6e37f840cd9a10a681e81df6f28b]
|
||||
entity processRelease--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="128" x="925" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="935" y="990.7344">Process Release</text><!--MD5=[8d825f552c438f1d41e38a94f08e3f47]
|
||||
entity processDecline--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="1257" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="1267" y="990.7344">Process Decline</text><!--MD5=[3b341f45531d1fcf2cf88cb83e9fdef4]
|
||||
entity processInform--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="1418" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="1428" y="990.7344">Process Inform</text><!--MD5=[aa62c1eea3f70b4dbb2d8a2ad04d8b75]
|
||||
entity receivePacket--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1560" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1570" y="51.7344">Receive query</text><path d="M1471,33.6992 L1471,59.0098 A0,0 0 0 0 1471,59.0098 L1525,59.0098 A0,0 0 0 0 1525,59.0098 L1525,51.6992 L1559.77,46.1992 L1525,43.6992 L1525,43.6992 L1515,33.6992 L1471,33.6992 A0,0 0 0 0 1471,33.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1515,33.6992 L1515,43.6992 L1525,43.6992 L1515,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="1477" y="51.2676">input</text><!--MD5=[37dd4220ca2f2608029cfa1ef00c2d62]
|
||||
entity isServiceEnabled--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="1553.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="1563.5" y="148.7344">Service Enabled</text><!--MD5=[f1e4a9c8bda8d25100748cfdff400bf1]
|
||||
entity buffer4_receive--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="1000.5" y="238.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="159" x="1010.5" y="261.7344">Callout buffer4_receive</text><path d="M1214.5,243.6992 L1214.5,252.1992 L1179.66,256.1992 L1214.5,260.1992 L1214.5,269.0098 A0,0 0 0 0 1214.5,269.0098 L1267.5,269.0098 A0,0 0 0 0 1267.5,269.0098 L1267.5,253.6992 L1257.5,243.6992 L1214.5,243.6992 A0,0 0 0 0 1214.5,243.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1257.5,243.6992 L1257.5,253.6992 L1267.5,253.6992 L1257.5,243.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1220.5" y="261.2676">hook</text><!--MD5=[ce6c3f645c8aec4915456c978c48f6f1]
|
||||
entity unpack--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="640" y="351.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="650" y="374.7344">Unpack query</text><!--MD5=[f8582116def27e35cdbbbf5463e43073]
|
||||
entity classify--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="639.5" y="448.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="95" x="649.5" y="471.7344">Classify query</text><!--MD5=[92aee3b8b080bbd52e01e7cb395370c4]
|
||||
entity pkt4_receive--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="454.5" y="545.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="464.5" y="568.7344">Callout pkt4_receive</text><path d="M648.5,550.6992 L648.5,559.1992 L613.59,563.1992 L648.5,567.1992 L648.5,576.0098 A0,0 0 0 0 648.5,576.0098 L701.5,576.0098 A0,0 0 0 0 701.5,576.0098 L701.5,560.6992 L691.5,550.6992 L648.5,550.6992 A0,0 0 0 0 648.5,550.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M691.5,550.6992 L691.5,560.6992 L701.5,560.6992 L691.5,550.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="654.5" y="568.2676">hook</text><!--MD5=[7aeeef4718a003ce2e7ad9bcbdf71ad9]
|
||||
entity drop_class--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="243.5" y="658.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="253.5" y="681.7344">Check DROP class</text><!--MD5=[a52533196b9ad0f42d77bd2c5acf5304]
|
||||
entity same_client--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="333" x="147.5" y="755.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="313" x="157.5" y="778.7344">Avoid same client race in multi-threaded mode</text><path d="M587.5,760.6992 L587.5,769.1992 L480.63,773.1992 L587.5,777.1992 L587.5,786.0098 A0,0 0 0 0 587.5,786.0098 L790.5,786.0098 A0,0 0 0 0 790.5,786.0098 L790.5,770.6992 L780.5,760.6992 L587.5,760.6992 A0,0 0 0 0 587.5,760.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M780.5,760.6992 L780.5,770.6992 L790.5,770.6992 L780.5,760.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="593.5" y="778.2676">postpone processing or drop</text><!--MD5=[a8af8e48f2cc558a0fee70431885f908]
|
||||
entity leases4_committed--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1045.5" y="1098.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="177" x="1055.5" y="1121.7344">Callout leases4_committed</text><path d="M1277.5,1103.6992 L1277.5,1112.1992 L1242.75,1116.1992 L1277.5,1120.1992 L1277.5,1129.0098 A0,0 0 0 0 1277.5,1129.0098 L1330.5,1129.0098 A0,0 0 0 0 1330.5,1129.0098 L1330.5,1113.6992 L1320.5,1103.6992 L1277.5,1103.6992 A0,0 0 0 0 1277.5,1103.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1320.5,1103.6992 L1320.5,1113.6992 L1330.5,1113.6992 L1320.5,1103.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1283.5" y="1121.2676">hook</text><!--MD5=[8e18f13991ca58e5a79e0b81ed56b9db]
|
||||
entity park--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="1119" y="1211.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="1129" y="1234.7344">Park</text><!--MD5=[145fde1089ff11319f35031b66a8b2bf]
|
||||
entity pkt4_send--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="943" y="1324.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="953" y="1347.7344">Callout pkt4_send</text><!--MD5=[62d5b04920c444814fafa1dbf06b35cd]
|
||||
entity send--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1052.5" y="1647.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1062.5" y="1670.7344">Send response</text><!--MD5=[5f600c2348a98514851ba709bbd3f597]
|
||||
entity pack--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="1077" y="1437.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="1087" y="1460.7344">Pack response</text><!--MD5=[d6829aa81ee0cd45a2e878b8b13197d5]
|
||||
entity buffer4_send--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="1037" y="1534.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="144" x="1047" y="1557.7344">Callout buffer4_send</text><path d="M954.5,1652.6992 L954.5,1678.0098 A0,0 0 0 0 954.5,1678.0098 L1017.5,1678.0098 A0,0 0 0 0 1017.5,1678.0098 L1017.5,1670.6992 L1052.35,1665.1992 L1017.5,1662.6992 L1017.5,1662.6992 L1007.5,1652.6992 L954.5,1652.6992 A0,0 0 0 0 954.5,1652.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1007.5,1652.6992 L1007.5,1662.6992 L1017.5,1662.6992 L1007.5,1652.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="960.5" y="1670.2676">output</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
|
||||
entity drop--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="912.5" y="1744.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="922.5" y="1767.7344">Drop packet</text><path d="M826.5,1749.6992 L826.5,1775.0098 A0,0 0 0 0 826.5,1775.0098 L877.5,1775.0098 A0,0 0 0 0 877.5,1775.0098 L877.5,1767.6992 L912.49,1762.1992 L877.5,1759.6992 L877.5,1759.6992 L867.5,1749.6992 L826.5,1749.6992 A0,0 0 0 0 826.5,1749.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M867.5,1749.6992 L867.5,1759.6992 L877.5,1759.6992 L867.5,1749.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="30" x="832.5" y="1767.2676">error</text><!--MD5=[9670815d90e482d849702fdd57183fae]
|
||||
link receivePacket to isServiceEnabled--><path d="M1617,64.6192 C1617,80.1592 1617,102.9792 1617,119.8592 " fill="none" id="receivePacket->isServiceEnabled" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1617,124.8892,1621,115.8892,1617,119.8892,1613,115.8892,1617,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8b6c78e5054b687dbc9e19308d3a0129]
|
||||
link isServiceEnabled to buffer4_receive--><path d="M1553.43,157.5892 C1459.11,177.4592 1281.88,214.7792 1176.04,237.0792 " fill="none" id="isServiceEnabled->buffer4_receive" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1171.05,238.1292,1180.681,240.1893,1175.9427,237.0992,1179.0329,232.3609,1171.05,238.1292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="1386" y="204.7676">service is enabled</text><!--MD5=[228411fb88ef1bcdfe7f19b853e215d2]
|
||||
link isServiceEnabled to drop--><path d="M1655.3,161.3592 C1689.09,179.3992 1733,211.2992 1733,255.1992 C1733,255.1992 1733,255.1992 1733,1666.1992 C1733,1737.9692 1198.66,1756.0992 1020.81,1760.1492 " fill="none" id="isServiceEnabled->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.65,1760.2592,1024.7391,1764.0525,1020.6487,1760.145,1024.5562,1756.0546,1015.65,1760.2592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="116" x="1734" y="896.7676">service is disabled</text><!--MD5=[939988dada0403ed6d1a4e6924dd7701]
|
||||
link buffer4_receive to unpack--><path d="M1029.46,274.2992 C956.18,294.9992 833.42,329.6692 759.35,350.5892 " fill="none" id="buffer4_receive->unpack" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="754.1,352.0692,763.8515,353.4505,758.9087,350.6994,761.6598,345.7566,754.1,352.0692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="918" y="317.7676">CONTINUE</text><!--MD5=[02f70f5bfef59fd4c02228f0fd276994]
|
||||
link buffer4_receive to classify--><path d="M1066.12,274.4492 C1047.04,287.8992 1019.38,306.6792 994,321.1992 C907.16,370.8892 800.63,419.7792 741.66,445.8492 " fill="none" id="buffer4_receive->classify" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="736.8,447.9892,746.6488,448.032,741.3778,445.9784,743.4314,440.7075,736.8,447.9892" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="940" y="374.2676">SKIP</text><!--MD5=[41e6595d93b5d76e06ef1219c230b624]
|
||||
link buffer4_receive to drop--><path d="M1179.77,272.9392 C1336.38,300.6992 1643,356.5292 1643,368.1992 C1643,368.1992 1643,368.1992 1643,1666.1992 C1643,1728.8292 1184.07,1752.6892 1020.81,1759.1992 " fill="none" id="buffer4_receive->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.59,1759.3992,1024.7431,1763.0353,1020.586,1759.1988,1024.4224,1755.0417,1015.59,1759.3992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="1644" y="990.2676">DROP</text><!--MD5=[1ecae68ae42d9a73e40e9217f03f9ce7]
|
||||
link unpack to classify--><path d="M697,387.6192 C697,403.1592 697,425.9792 697,442.8592 " fill="none" id="unpack->classify" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="697,447.8892,701,438.8892,697,442.8892,693,438.8892,697,447.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[27fcba0ca5551c2a3eff6088113b3400]
|
||||
link unpack to drop--><path d="M639.86,372.0692 C474.31,378.2592 6,401.3992 6,465.1992 C6,465.1992 6,465.1992 6,1666.1992 C6,1765.3592 797.05,1728.7492 895,1744.1992 C898.94,1744.8192 902.99,1745.5592 907.05,1746.3692 " fill="none" id="unpack->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="912.2,1747.4292,904.201,1741.6833,907.3044,1746.4129,902.5748,1749.5163,912.2,1747.4292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="7" y="1064.7676">on error</text><!--MD5=[6d44324a94e4b11142830ec71aa81556]
|
||||
link classify to pkt4_receive--><path d="M667.48,484.3992 C639.44,500.7492 597.31,525.2992 567.9,542.4392 " fill="none" id="classify->pkt4_receive" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="563.3,545.1192,573.0915,544.0576,567.6235,542.6079,569.0733,537.1399,563.3,545.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0057d53684278b0199141f1c920049f3]
|
||||
link pkt4_receive to drop_class--><path d="M499.2,581.2692 C481.2,590.1392 458.89,601.1892 439,611.1992 C409.58,626.0092 376.4,643.0092 351.62,655.7692 " fill="none" id="pkt4_receive->drop_class" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="347.1,658.0992,356.9329,657.5388,351.5461,655.8118,353.2731,650.425,347.1,658.0992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="440" y="624.7676">CONTINUE</text><!--MD5=[23d76d484a8ade2f68bc32d339275e55]
|
||||
link pkt4_receive to drop--><path d="M534,581.4992 C534,603.3392 534,642.0492 534,675.1992 C534,675.1992 534,675.1992 534,1666.1992 C534,1687.5792 558.43,1677.3692 579,1683.1992 C716.63,1722.1692 755.29,1713.5292 895,1744.1992 C899.07,1745.0892 903.27,1746.0492 907.49,1747.0292 " fill="none" id="pkt4_receive->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="912.45,1748.1992,904.6015,1742.2493,907.5822,1747.0572,902.7743,1750.0379,912.45,1748.1992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="535" y="1177.7676">DROP</text><!--MD5=[2ba86aae9fb469d61f9b8011ebc0bd96]
|
||||
link drop_class to same_client--><path d="M314,694.6192 C314,710.1592 314,732.9792 314,749.8592 " fill="none" id="drop_class->same_client" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="314,754.8892,318,745.8892,314,749.8892,310,745.8892,314,754.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4eef49efa4e6a39b9cad1f9dd4db75c9]
|
||||
link drop_class to drop--><path d="M243.48,679.2592 C179.13,685.3592 94,705.9492 94,772.1992 C94,772.1992 94,772.1992 94,1666.1992 C94,1720.9492 161.68,1676.3392 216,1683.1992 C337.59,1698.5492 367.98,1702.7792 490,1714.1992 C669.71,1731.0192 716.75,1715.8392 895,1744.1992 C898.94,1744.8292 902.99,1745.5692 907.05,1746.3792 " fill="none" id="drop_class->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="912.2,1747.4492,904.1976,1741.708,907.3038,1746.4357,902.576,1749.5419,912.2,1747.4492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="126" x="95" y="1234.2676">query in DROP class</text><!--MD5=[bb9b361438ecdeec2ed5ec34799fad2e]
|
||||
link same_client to process--><path d="M347.12,791.2092 C395.425,816.0092 488.31,863.6992 569.655,905.4642 C610.3275,926.3467 648.115,945.748 676.0025,960.0661 C689.9463,967.2252 701.415,973.1134 709.5319,977.2807 C711.5611,978.3225 713.3808,979.2568 714.9774,980.0764 " fill="none" id="same_client->process" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="714.9774,980.0764,708.7978,972.4075,710.5293,977.7928,705.144,979.5244,714.9774,980.0764" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2de62570b816e5df0f82700c4b296cc3]
|
||||
link same_client to drop--><path d="M299.7,791.2592 C288.57,806.3092 275,829.3392 275,852.1992 C275,852.1992 275,852.1992 275,1173.6992 C275,1222.3992 247.11,1229.1792 239,1277.1992 C237.74,1284.6492 238.76,1286.6492 239,1294.1992 C239.67,1315.1192 242,1320.2692 242,1341.1992 C242,1341.1992 242,1341.1992 242,1666.1992 C242,1713.3692 777.64,1725.3292 895,1744.1992 C898.94,1744.8292 902.99,1745.5792 907.05,1746.3992 " fill="none" id="same_client->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="912.19,1747.4692,904.2071,1741.7009,907.2973,1746.4392,902.559,1749.5293,912.19,1747.4692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="240" y="1290.7676">queries from the same client possible race</text><!--MD5=[3640933a3eded42de606c73d1c2efb26]
|
||||
link process to drop--><path d="M714.7345,990.1215 C714.4884,990.2441 714.2376,990.3695 713.9823,990.4976 C712.9607,991.0103 711.8653,991.5676 710.703,992.1686 C708.3783,993.3708 705.7858,994.7482 702.9805,996.2952 C691.7591,1002.483 677.1319,1011.383 662.6163,1022.6242 C633.585,1045.1067 605,1076.9542 605,1115.1992 C605,1115.1992 605,1115.1992 605,1286.6992 C605,1382.9192 605,1406.9792 605,1503.1992 C605,1503.1992 605,1503.1992 605,1666.1992 C605,1670.0592 805.92,1721.3092 907.14,1746.8892 " fill="none" id="process->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="912.18,1748.1592,904.4231,1742.0904,907.3301,1746.9432,902.4774,1749.8502,912.18,1748.1592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="606" y="1403.7676">unknown message type</text><!--MD5=[952846e6e065ca3396c39be4d5d60980]
|
||||
link processDiscover to leases4_committed--><path d="M1153.54,1003.3292 C1151.58,1026.3592 1148.08,1067.3592 1145.91,1092.8192 " fill="none" id="processDiscover->leases4_committed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1145.47,1097.9992,1150.2261,1089.3749,1145.8982,1093.0176,1142.2555,1088.6897,1145.47,1097.9992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7f61b5f2e024f0ea6329d761794804a2]
|
||||
link processDiscover to drop--><path d="M1178.66,1003.2492 C1195.43,1015.0392 1218.66,1030.7692 1240,1043.1992 C1301.84,1079.1992 1384,1043.6492 1384,1115.1992 C1384,1115.1992 1384,1115.1992 1384,1343.1992 C1384,1405.5792 1346.5,1559.4192 1323,1617.1992 C1310.64,1647.5792 1313.41,1660.2292 1290,1683.1992 C1252.31,1720.1992 1104.17,1743.9392 1021.16,1754.6292 " fill="none" id="processDiscover->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.79,1755.3092,1025.2217,1758.1453,1020.7503,1754.6802,1024.2153,1750.2088,1015.79,1755.3092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="1380" y="1403.7676">on error</text><!--MD5=[f46ab6743faf3720230dd3ca9adf25a5]
|
||||
link processRequest to leases4_committed--><path d="M845.36,1003.3592 C861.72,1015.8092 885.26,1032.3292 908,1043.1992 C957.4,1066.8292 1016.32,1084.8192 1062.92,1096.8992 " fill="none" id="processRequest->leases4_committed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1067.97,1098.1992,1060.2468,1092.0875,1063.1269,1096.9563,1058.2582,1099.8364,1067.97,1098.1992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[46780bcbdce00599e22cc2808afc4298]
|
||||
link processRequest to drop--><path d="M814.47,1003.5592 C802.08,1027.7992 782,1073.5092 782,1115.1992 C782,1115.1992 782,1115.1992 782,1343.1992 C782,1504.6592 842.57,1536.4892 910,1683.1992 C916.56,1697.4792 918.33,1701.0892 927,1714.1992 C932.7,1722.8192 939.57,1731.8492 945.83,1739.6592 " fill="none" id="processRequest->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="949.23,1743.8592,946.6802,1734.3461,946.0857,1739.9717,940.4601,1739.3771,949.23,1743.8592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="786" y="1403.7676">on error</text><!--MD5=[dd5280f7a4fbe519a789693377d2c3dc]
|
||||
link processRelease to leases4_committed--><path d="M1009.58,1003.3292 C1037.95,1026.9392 1089.01,1069.4292 1119.37,1094.6992 " fill="none" id="processRelease->leases4_committed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1123.33,1097.9992,1118.9735,1089.1663,1119.4877,1094.7997,1113.8543,1095.3139,1123.33,1097.9992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9c1ccee308c843163ae9c7fab5373c87]
|
||||
link processRelease to drop--><path d="M958.18,1003.1992 C924.12,1024.5192 874,1064.4892 874,1115.1992 C874,1115.1992 874,1115.1992 874,1343.1992 C874,1496.1392 893.83,1533.8992 927,1683.1992 C930.11,1697.2092 930.28,1701.0392 936,1714.1992 C939.7,1722.7092 944.65,1731.5692 949.37,1739.2792 " fill="none" id="processRelease->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="952.26,1743.9092,950.8732,1734.1585,949.6062,1739.6716,944.093,1738.4046,952.26,1743.9092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="876" y="1403.7676">on error</text><!--MD5=[762f153a4fd6a7efd08d553c7afbf530]
|
||||
link processDecline to leases4_committed--><path d="M1296.63,1003.3292 C1264.28,1027.0392 1205.97,1069.7792 1171.54,1095.0092 " fill="none" id="processDecline->leases4_committed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1167.47,1097.9992,1177.0921,1095.8981,1171.5007,1095.0405,1172.3582,1089.4491,1167.47,1097.9992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d9fbe084438a9903d341665e19467c6]
|
||||
link processDecline to drop--><path d="M1344.72,1003.4392 C1388.71,1034.5392 1476,1098.3692 1476,1115.1992 C1476,1115.1992 1476,1115.1992 1476,1666.1992 C1476,1712.0592 1154.4,1744.8992 1020.96,1756.5492 " fill="none" id="processDecline->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.91,1756.9892,1025.2195,1760.2037,1020.8916,1756.561,1024.5344,1752.2331,1015.91,1756.9892" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="1477" y="1403.7676">on error</text><!--MD5=[403b2bcd25ba6f5a11641c975fae6de0]
|
||||
link processInform to leases4_committed--><path d="M1459.75,1003.3292 C1444.69,1015.9292 1422.73,1032.6492 1401,1043.1992 C1350.13,1067.9092 1289.34,1085.4192 1239.66,1096.9892 " fill="none" id="processInform->leases4_committed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1234.58,1098.1592,1244.2506,1100.0248,1239.451,1097.0307,1242.445,1092.2312,1234.58,1098.1592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c5223c78dfc731d8a0b6dd3ad2587a32]
|
||||
link processInform to drop--><path d="M1501,1003.2392 C1527.36,1025.7692 1568,1068.1292 1568,1115.1992 C1568,1115.1992 1568,1115.1992 1568,1666.1992 C1568,1721.2392 1171.5,1749.4592 1021.01,1758.1792 " fill="none" id="processInform->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.76,1758.4792,1024.9741,1761.9578,1020.7518,1758.1932,1024.5164,1753.9709,1015.76,1758.4792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="1569" y="1403.7676">on error</text><!--MD5=[887612e1a41deb0055e6b261cad7b207]
|
||||
link leases4_committed to pkt4_send--><path d="M1113.34,1134.3192 C1087.4,1150.5592 1051.56,1177.4592 1033,1211.1992 C1014.26,1245.2592 1012.51,1291.6692 1013.42,1318.8292 " fill="none" id="leases4_committed->pkt4_send" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1013.63,1323.9992,1017.2398,1314.8358,1013.4153,1319.0038,1009.2472,1315.1793,1013.63,1323.9992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="1034" y="1234.2676">CONTINUE</text><!--MD5=[03d4f1b76350f6f230f27d5a69f4e552]
|
||||
link leases4_committed to drop--><path d="M1215.67,1134.3092 C1261.73,1150.0592 1313,1178.6992 1313,1228.1992 C1313,1228.1992 1313,1228.1992 1313,1399.6992 C1313,1528.5792 1332.51,1582.5492 1252,1683.1992 C1223.32,1719.0492 1096.3,1742.6492 1020.86,1753.7692 " fill="none" id="leases4_committed->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.52,1754.5492,1025.0071,1757.1941,1020.4666,1753.8201,1023.8405,1749.2796,1015.52,1754.5492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="1315" y="1460.2676">DROP</text><!--MD5=[e6b479318b22374427e5a12769813441]
|
||||
link leases4_committed to park--><path d="M1144,1134.5392 C1144,1153.7692 1144,1184.8292 1144,1205.8592 " fill="none" id="leases4_committed->park" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1144,1210.9792,1148,1201.9792,1144,1205.9792,1140,1201.9792,1144,1210.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1145" y="1177.7676">PARK</text><!--MD5=[6b0b05ab5b5e01054aa0e3030e86c15b]
|
||||
link park to pkt4_send--><path d="M1124.13,1247.2992 C1101.18,1267.0392 1063.46,1299.4992 1038.93,1320.6092 " fill="none" id="park->pkt4_send" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1035.11,1323.8992,1044.5412,1321.0616,1038.9002,1320.6382,1039.3236,1314.9972,1035.11,1323.8992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="44" x="1088" y="1290.7676">unpark</text><!--MD5=[e1e7c40ae99ae9db4be329f6b3cb143f]
|
||||
link pkt4_send to pack--><path d="M1033.64,1360.2992 C1055.07,1379.9592 1090.25,1412.2292 1113.27,1433.3492 " fill="none" id="pkt4_send->pack" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1117.14,1436.8992,1113.218,1427.8649,1113.4578,1433.5167,1107.806,1433.7565,1117.14,1436.8992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="1083" y="1403.7676">CONTINUE</text><!--MD5=[729fab78839d14d65a522c939ef9b552]
|
||||
link pkt4_send to buffer4_send--><path d="M1013.6,1360.3192 C1012.24,1386.3092 1012.69,1436.5492 1032,1473.1992 C1044.57,1497.0592 1067.55,1517.1692 1086.73,1530.9992 " fill="none" id="pkt4_send->buffer4_send" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1091.02,1534.0292,1085.9763,1525.5698,1086.936,1531.1447,1081.3611,1532.1043,1091.02,1534.0292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="1033" y="1460.2676">SKIP</text><!--MD5=[7a343c005ca5222349b93a374f6aa4be]
|
||||
link pkt4_send to drop--><path d="M1008.96,1360.3792 C993.2,1406.2292 951.09,1535.5692 937,1647.1992 C935,1663.0692 934.35,1667.4192 937,1683.1992 C940.27,1702.6292 947.81,1723.6792 954.1,1739.0092 " fill="none" id="pkt4_send->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="956.17,1743.9792,956.39,1734.1328,954.2419,1739.3659,949.0087,1737.2179,956.17,1743.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="959" y="1557.2676">DROP</text><!--MD5=[e1b3754cee4214144faeedd0f77d1671]
|
||||
link pack to buffer4_send--><path d="M1132.88,1473.6192 C1130.1,1489.1592 1126.02,1511.9792 1123,1528.8592 " fill="none" id="pack->buffer4_send" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1122.1,1533.8892,1127.61,1525.7259,1122.973,1528.966,1119.7329,1524.3291,1122.1,1533.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0fe92c55fb860475c26b6ea914a50894]
|
||||
link buffer4_send to send--><path d="M1118.06,1570.5392 C1117.02,1589.7692 1115.34,1620.8292 1114.21,1641.8592 " fill="none" id="buffer4_send->send" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1113.93,1646.9792,1118.412,1638.2093,1114.201,1641.9866,1110.4237,1637.7756,1113.93,1646.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="1117" y="1613.7676">CONTINUE</text><!--MD5=[887aa11356841167329c21249679272f]
|
||||
link buffer4_send to drop--><path d="M1161.34,1570.3192 C1173.8,1577.5792 1185.96,1587.3992 1193,1600.1992 C1201.95,1616.4792 1222.86,1639.9692 1191,1683.1992 C1151.85,1736.3392 1074.24,1753.5792 1020.76,1758.9992 " fill="none" id="buffer4_send->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.66,1759.4892,1025.0054,1762.5977,1020.6364,1759.0044,1024.2297,1754.6354,1015.66,1759.4892" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="1208" y="1670.2676">DROP</text><!--MD5=[6b25e4fe160ab604f67b02c1ded86970]
|
||||
link send to drop--><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="225" x="809.5" y="1801.3555">dashed arrow means asynchronous processing</text><!--MD5=[3241bf81dfc1d82f66e0faca3c9d8456]
|
||||
@startuml
|
||||
|
||||
title DHCPv4 packet processing (Kea 1.8.0)
|
||||
|
||||
agent "Receive query" as receivePacket
|
||||
note left : input
|
||||
|
||||
agent "Service Enabled" as isServiceEnabled
|
||||
|
||||
agent "Callout buffer4_receive" as buffer4_receive
|
||||
note right : hook
|
||||
|
||||
agent "Unpack query" as unpack
|
||||
|
||||
agent "Classify query" as classify
|
||||
|
||||
agent "Callout pkt4_receive" as pkt4_receive
|
||||
note right : hook
|
||||
|
||||
agent "Check DROP class" as drop_class
|
||||
|
||||
agent "Avoid same client race in multi-threaded mode" as same_client
|
||||
note right : postpone processing or drop
|
||||
|
||||
rectangle "Process Query on its Message Type" as process {
|
||||
agent "Process Discover" as processDiscover
|
||||
agent "Process Request" as processRequest
|
||||
agent "Process Release" as processRelease
|
||||
agent "Process Decline" as processDecline
|
||||
agent "Process Inform" as processInform
|
||||
}
|
||||
|
||||
agent "Callout leases4_committed" as leases4_committed
|
||||
note right : hook
|
||||
|
||||
agent "Park" as park
|
||||
|
||||
agent "Callout pkt4_send" as pkt4_send
|
||||
|
||||
agent "Send response" as send
|
||||
|
||||
agent "Pack response" as pack
|
||||
|
||||
agent "Callout buffer4_send" as buffer4_send
|
||||
|
||||
agent "Send response" as send
|
||||
note left : output
|
||||
|
||||
agent "Drop packet" as drop
|
||||
note left : error
|
||||
|
||||
receivePacket - -> isServiceEnabled
|
||||
isServiceEnabled - -> buffer4_receive : service is enabled
|
||||
isServiceEnabled - - - -> drop : service is disabled
|
||||
buffer4_receive - -> unpack : CONTINUE
|
||||
buffer4_receive - -> classify : SKIP
|
||||
buffer4_receive - - - -> drop : DROP
|
||||
unpack - -> classify
|
||||
unpack - - -> drop : on error
|
||||
classify - -> pkt4_receive
|
||||
pkt4_receive - -> drop_class : CONTINUE
|
||||
pkt4_receive - - -> drop : DROP
|
||||
drop_class - -> same_client
|
||||
drop_class - - -> drop : query in DROP class
|
||||
same_client - - -> process
|
||||
same_client - - -> drop : queries from the same client possible race
|
||||
process - - -> drop : unknown message type
|
||||
processDiscover - -> leases4_committed
|
||||
processDiscover - - -> drop : on error
|
||||
processRequest - -> leases4_committed
|
||||
processRequest - - -> drop : on error
|
||||
processRelease - -> leases4_committed
|
||||
processRelease - - -> drop : on error
|
||||
processDecline - -> leases4_committed
|
||||
processDecline - - -> drop : on error
|
||||
processInform - -> leases4_committed
|
||||
processInform - - -> drop : on error
|
||||
leases4_committed - -> pkt4_send : CONTINUE
|
||||
leases4_committed - - -> drop : DROP
|
||||
leases4_committed - -> park : PARK
|
||||
park -[dashed]-> pkt4_send : unpark
|
||||
pkt4_send - -> pack : CONTINUE
|
||||
pkt4_send - -> buffer4_send : SKIP
|
||||
pkt4_send - - -> drop : DROP
|
||||
pack - -> buffer4_send
|
||||
buffer4_send - -> send : CONTINUE
|
||||
buffer4_send - - -> drop : DROP
|
||||
send -[hidden]-> drop
|
||||
|
||||
footer dashed arrow means asynchronous processing
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="1930px" preserveAspectRatio="none" style="width:1791px;height:1930px;background:#FFFFFF;" version="1.1" viewBox="0 0 1791 1930" width="1791px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="260" x="758.5" y="24.9659">DHCPv4 packet processing (Kea 1.8.0)</text>
|
||||
<!--cluster process-->
|
||||
<g id="cluster_process">
|
||||
<rect fill="none" height="109.06" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="842" x="680" y="975.6179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="243" x="979.5" y="992.5839">Process Query on its Message Type</text>
|
||||
</g>
|
||||
<!--entity processDiscover-->
|
||||
<g id="elem_processDiscover">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="132" x="1050" y="1021.6179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="112" x="1060" y="1046.5839">Process Discover</text>
|
||||
</g>
|
||||
<!--entity processRequest-->
|
||||
<g id="elem_processRequest">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="723" y="1021.6179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="733" y="1046.5839">Process Request</text>
|
||||
</g>
|
||||
<!--entity processRelease-->
|
||||
<g id="elem_processRelease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="127" x="888.5" y="1021.6179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="898.5" y="1046.5839">Process Release</text>
|
||||
</g>
|
||||
<!--entity processDecline-->
|
||||
<g id="elem_processDecline">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="1216.5" y="1021.6179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="1226.5" y="1046.5839">Process Decline</text>
|
||||
</g>
|
||||
<!--entity processInform-->
|
||||
<g id="elem_processInform">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121" x="1376.5" y="1021.6179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="1386.5" y="1046.5839">Process Inform</text>
|
||||
</g>
|
||||
<!--entity receivePacket-->
|
||||
<g id="elem_receivePacket">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="1505" y="47.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="1515" y="72.0339">Receive query</text>
|
||||
</g>
|
||||
<g id="elem_GMN3">
|
||||
<path d="M1417.5,52.7479 L1417.5,80.4539 A0,0 0 0 0 1417.5,80.4539 L1470.5,80.4539 A0,0 0 0 0 1470.5,80.4539 L1470.5,70.7479 L1504.6,66.6079 L1470.5,62.7479 L1470.5,62.7479 L1460.5,52.7479 L1417.5,52.7479 A0,0 0 0 0 1417.5,52.7479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1460.5,52.7479 L1460.5,62.7479 L1470.5,62.7479 L1460.5,52.7479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="32" x="1423.5" y="71.6449">input</text>
|
||||
</g>
|
||||
<!--entity isServiceEnabled-->
|
||||
<g id="elem_isServiceEnabled">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="127" x="1498.5" y="147.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="1508.5" y="172.1039">Service Enabled</text>
|
||||
</g>
|
||||
<!--entity buffer4_receive-->
|
||||
<g id="elem_buffer4_receive">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="175" x="974.5" y="265.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155" x="984.5" y="290.1739">Callout buffer4_receive</text>
|
||||
</g>
|
||||
<g id="elem_GMN8">
|
||||
<path d="M1185,270.8879 L1185,280.7379 L1149.89,284.7379 L1185,288.7379 L1185,298.5939 A0,0 0 0 0 1185,298.5939 L1237,298.5939 A0,0 0 0 0 1237,298.5939 L1237,280.8879 L1227,270.8879 L1185,270.8879 A0,0 0 0 0 1185,270.8879 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1227,270.8879 L1227,280.8879 L1237,280.8879 L1227,270.8879 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="31" x="1191" y="289.7849">hook</text>
|
||||
</g>
|
||||
<!--entity unpack-->
|
||||
<g id="elem_unpack">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="630.5" y="383.2779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="640.5" y="408.2439">Unpack query</text>
|
||||
</g>
|
||||
<!--entity classify-->
|
||||
<g id="elem_classify">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="630" y="483.3379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="640" y="508.3039">Classify query</text>
|
||||
</g>
|
||||
<!--entity pkt4_receive-->
|
||||
<g id="elem_pkt4_receive">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="154" x="459" y="583.4079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="469" y="608.3739">Callout pkt4_receive</text>
|
||||
</g>
|
||||
<g id="elem_GMN14">
|
||||
<path d="M648,589.0879 L648,598.9479 L613.36,602.9479 L648,606.9479 L648,616.7939 A0,0 0 0 0 648,616.7939 L700,616.7939 A0,0 0 0 0 700,616.7939 L700,599.0879 L690,589.0879 L648,589.0879 A0,0 0 0 0 648,589.0879 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M690,589.0879 L690,599.0879 L700,599.0879 L690,589.0879 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="31" x="654" y="607.9849">hook</text>
|
||||
</g>
|
||||
<!--entity drop_class-->
|
||||
<g id="elem_drop_class">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="139" x="245.5" y="701.4779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="119" x="255.5" y="726.4439">Check DROP class</text>
|
||||
</g>
|
||||
<!--entity same_client-->
|
||||
<g id="elem_same_client">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="336" x="147" y="801.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="316" x="157" y="826.5139">Avoid same client race in multi-threaded mode</text>
|
||||
</g>
|
||||
<g id="elem_GMN19">
|
||||
<path d="M588.5,807.2279 L588.5,817.0779 L483.47,821.0779 L588.5,825.0779 L588.5,834.9339 A0,0 0 0 0 588.5,834.9339 L783.5,834.9339 A0,0 0 0 0 783.5,834.9339 L783.5,817.2279 L773.5,807.2279 L588.5,807.2279 A0,0 0 0 0 588.5,807.2279 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M773.5,807.2279 L773.5,817.2279 L783.5,817.2279 L773.5,807.2279 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="174" x="594.5" y="826.1249">postpone processing or drop</text>
|
||||
</g>
|
||||
<!--entity leases4_committed-->
|
||||
<g id="elem_leases4_committed">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="199" x="991.5" y="1157.6779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="179" x="1001.5" y="1182.6439">Callout leases4_committed</text>
|
||||
</g>
|
||||
<g id="elem_GMN29">
|
||||
<path d="M1225,1163.3679 L1225,1173.2179 L1191,1177.2179 L1225,1181.2179 L1225,1191.0739 A0,0 0 0 0 1225,1191.0739 L1277,1191.0739 A0,0 0 0 0 1277,1191.0739 L1277,1173.3679 L1267,1163.3679 L1225,1163.3679 A0,0 0 0 0 1225,1163.3679 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1267,1163.3679 L1267,1173.3679 L1277,1173.3679 L1267,1163.3679 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="31" x="1231" y="1182.2649">hook</text>
|
||||
</g>
|
||||
<!--entity park-->
|
||||
<g id="elem_park">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="1130.5" y="1275.7479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="1140.5" y="1300.7139">Park</text>
|
||||
</g>
|
||||
<!--entity pkt4_send-->
|
||||
<g id="elem_pkt4_send">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="139" x="991.5" y="1393.8179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="119" x="1001.5" y="1418.7839">Callout pkt4_send</text>
|
||||
</g>
|
||||
<!--entity send-->
|
||||
<g id="elem_send">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="120" x="1000" y="1730.0179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="1010" y="1754.9839">Send response</text>
|
||||
</g>
|
||||
<!--entity pack-->
|
||||
<g id="elem_pack">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="116" x="1003" y="1511.8879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="1013" y="1536.8539">Pack response</text>
|
||||
</g>
|
||||
<!--entity buffer4_send-->
|
||||
<g id="elem_buffer4_send">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="160" x="953" y="1611.9579"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="140" x="963" y="1636.9239">Callout buffer4_send</text>
|
||||
</g>
|
||||
<g id="elem_GMN37">
|
||||
<path d="M855.5,1617.6379 L855.5,1645.3439 A0,0 0 0 0 855.5,1645.3439 L918.5,1645.3439 A0,0 0 0 0 918.5,1645.3439 L918.5,1635.6379 L952.8,1631.4879 L918.5,1627.6379 L918.5,1627.6379 L908.5,1617.6379 L855.5,1617.6379 A0,0 0 0 0 855.5,1617.6379 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M908.5,1617.6379 L908.5,1627.6379 L918.5,1627.6379 L908.5,1617.6379 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="42" x="861.5" y="1636.5349">output</text>
|
||||
</g>
|
||||
<!--entity drop-->
|
||||
<g id="elem_drop">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="101" x="920.5" y="1830.0879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="930.5" y="1855.0539">Drop packet</text>
|
||||
</g>
|
||||
<g id="elem_GMN41">
|
||||
<path d="M834.5,1835.7679 L834.5,1863.4739 A0,0 0 0 0 834.5,1863.4739 L885.5,1863.4739 A0,0 0 0 0 885.5,1863.4739 L885.5,1853.7679 L920.28,1849.6279 L885.5,1845.7679 L885.5,1845.7679 L875.5,1835.7679 L834.5,1835.7679 A0,0 0 0 0 834.5,1835.7679 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M875.5,1835.7679 L875.5,1845.7679 L885.5,1845.7679 L875.5,1835.7679 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="840.5" y="1854.6649">error</text>
|
||||
</g>
|
||||
<!--link receivePacket to isServiceEnabled-->
|
||||
<g id="link_receivePacket_isServiceEnabled">
|
||||
<path d="M1562,86.5179 C1562,101.8479 1562,123.5879 1562,140.4079 " fill="none" id="receivePacket-to-isServiceEnabled" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1562,145.3079,1566,136.3079,1562,140.3079,1558,136.3079,1562,145.3079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link isServiceEnabled to buffer4_receive-->
|
||||
<g id="link_isServiceEnabled_buffer4_receive">
|
||||
<path d="M1498.17,182.4879 C1409.72,203.0279 1249.54,240.2079 1149.86,263.3479 " fill="none" id="isServiceEnabled-to-buffer4_receive" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1145.15,264.4379,1154.8218,266.2972,1150.0203,263.3063,1153.0112,258.5048,1145.15,264.4379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="104" x="1342" y="231.1049">service is enabled</text>
|
||||
</g>
|
||||
<!--link isServiceEnabled to drop-->
|
||||
<g id="link_isServiceEnabled_drop">
|
||||
<path d="M1600.28,186.6079 C1633.4,206.0079 1676,239.5379 1676,283.7379 C1676,283.7379 1676,283.7379 1676,1750.5579 C1676,1815.7879 1196.34,1840.1279 1028.31,1846.6579 " fill="none" id="isServiceEnabled-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1023.5,1846.8379,1032.6423,1850.5011,1028.4966,1846.6523,1032.3453,1842.5066,1023.5,1846.8379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="106" x="1677" y="947.5149">service is disabled</text>
|
||||
</g>
|
||||
<!--link buffer4_receive to unpack-->
|
||||
<g id="link_buffer4_receive_unpack">
|
||||
<path d="M1000.92,304.6479 C931.81,326.0379 819.84,360.6979 749.97,382.3179 " fill="none" id="buffer4_receive-to-unpack" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="745.2,383.7979,754.9823,384.9414,749.9739,382.3114,752.6039,377.3031,745.2,383.7979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="66" x="897" y="349.1749">CONTINUE</text>
|
||||
</g>
|
||||
<!--link buffer4_receive to classify-->
|
||||
<g id="link_buffer4_receive_classify">
|
||||
<path d="M1039.06,304.5979 C1021.3,318.7879 995.8,338.2779 972,353.2779 C891.44,404.0279 791.65,453.1479 734.06,480.2579 " fill="none" id="buffer4_receive-to-classify" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="729.65,482.3279,739.4967,482.1195,734.1751,480.201,736.0936,474.8794,729.65,482.3279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="27" x="922" y="408.2049">SKIP</text>
|
||||
</g>
|
||||
<!--link buffer4_receive to drop-->
|
||||
<g id="link_buffer4_receive_drop">
|
||||
<path d="M1149.71,302.9379 C1298.88,332.4779 1586,390.7779 1586,401.8079 C1586,401.8079 1586,401.8079 1586,1750.5579 C1586,1806.7379 1180.52,1836.3379 1028.04,1845.4879 " fill="none" id="buffer4_receive-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1023.36,1845.7679,1032.5834,1849.2217,1028.351,1845.4685,1032.1043,1841.2361,1023.36,1845.7679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="35" x="1587" y="1046.5449">DROP</text>
|
||||
</g>
|
||||
<!--link unpack to classify-->
|
||||
<g id="link_unpack_classify">
|
||||
<path d="M687,422.7179 C687,438.0479 687,459.7979 687,476.6179 " fill="none" id="unpack-to-classify" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="687,481.5079,691,472.5079,687,476.5079,683,472.5079,687,481.5079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link unpack to drop-->
|
||||
<g id="link_unpack_drop">
|
||||
<path d="M630.11,406.0479 C466.44,413.2279 6,439.0179 6,501.8779 C6,501.8779 6,501.8779 6,1750.5579 C6,1796.6079 52.59,1787.9079 97,1800.0879 C269.84,1847.5279 725.82,1803.0179 903,1830.0879 C906.56,1830.6379 910.21,1831.2979 913.87,1832.0479 " fill="none" id="unpack-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="918.55,1833.0679,910.6157,1827.2329,913.6661,1831.9969,908.9021,1835.0472,918.55,1833.0679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="7" y="1123.5749">on error</text>
|
||||
</g>
|
||||
<!--link classify to pkt4_receive-->
|
||||
<g id="link_classify_pkt4_receive">
|
||||
<path d="M657.89,522.7879 C632.9,539.0179 596.84,562.4279 570.43,579.5879 " fill="none" id="classify-to-pkt4_receive" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="566.55,582.0979,576.2763,580.5491,570.7429,579.374,571.918,573.8405,566.55,582.0979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link pkt4_receive to drop_class-->
|
||||
<g id="link_pkt4_receive_drop_class">
|
||||
<path d="M498.89,622.9779 C481.58,631.8879 460.71,642.6779 442,652.4779 C413.11,667.6179 380.64,684.8879 355.76,698.1779 " fill="none" id="pkt4_receive-to-drop_class" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="351.58,700.4079,361.4032,699.6971,355.9906,698.0528,357.6349,692.6402,351.58,700.4079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="66" x="443" y="667.3749">CONTINUE</text>
|
||||
</g>
|
||||
<!--link pkt4_receive to drop-->
|
||||
<g id="link_pkt4_receive_drop">
|
||||
<path d="M536,622.8379 C536,645.8179 536,685.7579 536,720.0079 C536,720.0079 536,720.0079 536,1750.5579 C536,1860.5579 649.96,1782.9379 903,1830.0879 C906.62,1830.7679 910.33,1831.5379 914.06,1832.3779 " fill="none" id="pkt4_receive-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="918.87,1833.4979,911.005,1827.5699,913.999,1832.3694,909.1994,1835.3635,918.87,1833.4979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="35" x="537" y="1241.6449">DROP</text>
|
||||
</g>
|
||||
<!--link drop_class to same_client-->
|
||||
<g id="link_drop_class_same_client">
|
||||
<path d="M315,740.9179 C315,756.2479 315,777.9979 315,794.8179 " fill="none" id="drop_class-to-same_client" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="315,799.7179,319,790.7179,315,794.7179,311,790.7179,315,799.7179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link drop_class to drop-->
|
||||
<g id="link_drop_class_drop">
|
||||
<path d="M245.07,724.7079 C180.33,731.3979 94,752.9179 94,820.0779 C94,820.0779 94,820.0779 94,1750.5579 C94,1903.2579 282.12,1784.1979 434,1800.0879 C641.74,1821.8279 696.97,1795.7879 903,1830.0879 C906.56,1830.6779 910.2,1831.3879 913.85,1832.1579 " fill="none" id="drop_class-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="918.53,1833.2079,910.612,1827.3508,913.6491,1832.1233,908.8766,1835.1603,918.53,1833.2079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="118" x="95" y="1300.6849">query in DROP class</text>
|
||||
</g>
|
||||
<!--link same_client to process-->
|
||||
<g id="link_same_client_process">
|
||||
<path d="M347.45,841.0479 C392.47,867.3679 476.635,916.5729 550.025,959.4792 C586.72,980.9323 620.7213,1000.8107 645.7888,1015.4665 C658.3225,1022.7944 668.6228,1028.8166 675.9097,1033.0772 C676.8205,1033.6098 677.6843,1034.1148 678.4995,1034.5914 C678.9071,1034.8298 679.3025,1035.061 679.6856,1035.285 " fill="none" id="same_client-to-process" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="679.6856,1035.285,673.9353,1027.2891,675.3693,1032.7612,669.8972,1034.1952,679.6856,1035.285" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link same_client to drop-->
|
||||
<g id="link_same_client_drop">
|
||||
<path d="M295.48,841.0979 C282.19,856.1279 267,878.3879 267,901.6179 C267,901.6179 267,901.6179 267,1237.2479 C267,1293.6179 257.26,1307.4779 259,1363.8179 C259.67,1385.4179 262,1390.7379 262,1412.3479 C262,1412.3479 262,1412.3479 262,1750.5579 C262,1862.9579 398.65,1784.7779 510,1800.0879 C683.54,1823.9579 730.38,1800.2579 903,1830.0879 C906.63,1830.7179 910.35,1831.4579 914.08,1832.2679 " fill="none" id="same_client-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="918.89,1833.3579,910.9884,1827.4788,914.0121,1832.2597,909.2312,1835.2834,918.89,1833.3579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="249" x="260" y="1359.7149">queries from the same client possible race</text>
|
||||
</g>
|
||||
<!--link process to drop-->
|
||||
<g id="link_process_drop">
|
||||
<path d="M679.8577,1049.157 C679.7594,1049.2455 679.6604,1049.3349 679.5607,1049.4249 C677.9649,1050.8664 676.1853,1052.5069 674.2595,1054.3326 C666.5566,1061.6354 656.5156,1071.9017 646.5513,1084.2479 C626.6225,1108.9404 607,1141.9529 607,1176.2179 C607,1176.2179 607,1176.2179 607,1355.3179 C607,1455.5979 607,1480.6679 607,1580.9579 C607,1580.9579 607,1580.9579 607,1750.5579 C607,1886.7779 771.51,1794.5079 903,1830.0879 C906.56,1831.0479 910.22,1832.0479 913.91,1833.0479 " fill="none" id="process-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="918.67,1834.3379,911.0365,1828.1146,913.8455,1833.0247,908.9354,1835.8338,918.67,1834.3379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="143" x="608" y="1477.7849">unknown message type</text>
|
||||
</g>
|
||||
<!--link processDiscover to leases4_committed-->
|
||||
<g id="link_processDiscover_leases4_committed">
|
||||
<path d="M1112.47,1061.0679 C1108.08,1084.6279 1100.56,1124.9379 1095.69,1151.0679 " fill="none" id="processDiscover-to-leases4_committed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1094.79,1155.8979,1100.3645,1147.7785,1095.702,1150.9818,1092.4987,1146.3193,1094.79,1155.8979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link processDiscover to drop-->
|
||||
<g id="link_processDiscover_drop">
|
||||
<path d="M1141.38,1060.9579 C1157.61,1072.7479 1179.24,1088.0579 1199,1100.6779 C1255.63,1136.8679 1330,1109.0079 1330,1176.2179 C1330,1176.2179 1330,1176.2179 1330,1414.3479 C1330,1435.9679 1327.67,1441.2879 1327,1462.8879 C1326.74,1471.3279 1326.04,1473.4979 1327,1481.8879 C1332.14,1526.7979 1350,1535.7579 1350,1580.9579 C1350,1580.9579 1350,1580.9579 1350,1750.5579 C1350,1816.2779 1133.7,1838.6679 1027.91,1845.6879 " fill="none" id="processDiscover-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1023.23,1845.9879,1032.4632,1849.4154,1028.2202,1845.6743,1031.9613,1841.4312,1023.23,1845.9879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="1328" y="1477.7849">on error</text>
|
||||
</g>
|
||||
<!--link processRequest to leases4_committed-->
|
||||
<g id="link_processRequest_leases4_committed">
|
||||
<path d="M810.84,1060.9379 C826.91,1073.4679 849.33,1089.6079 871,1100.6779 C916.25,1123.8079 970.17,1142.4479 1013.3,1155.4279 " fill="none" id="processRequest-to-leases4_committed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1017.86,1156.7879,1010.3749,1150.3868,1013.0677,1155.3616,1008.0929,1158.0544,1017.86,1156.7879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link processRequest to drop-->
|
||||
<g id="link_processRequest_drop">
|
||||
<path d="M785.96,1060.7779 C783.3,1086.6379 779,1134.9279 779,1176.2179 C779,1176.2179 779,1176.2179 779,1414.3479 C779,1576.7879 769.86,1638.8979 867,1769.0879 C884.42,1792.4379 910.46,1812.3379 932.12,1826.3879 " fill="none" id="processRequest-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="936.25,1829.0279,930.8099,1820.8178,932.0335,1826.3408,926.5105,1827.5643,936.25,1829.0279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="779" y="1477.7849">on error</text>
|
||||
</g>
|
||||
<!--link processRelease to leases4_committed-->
|
||||
<g id="link_processRelease_leases4_committed">
|
||||
<path d="M971.62,1061.0679 C996.66,1085.2279 1039.97,1126.9979 1066.96,1153.0379 " fill="none" id="processRelease-to-leases4_committed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1070.39,1156.3379,1066.6879,1147.2113,1066.7908,1152.8672,1061.1349,1152.9701,1070.39,1156.3379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link processRelease to drop-->
|
||||
<g id="link_processRelease_drop">
|
||||
<path d="M931.31,1060.8179 C907.02,1084.8979 870,1129.2879 870,1176.2179 C870,1176.2179 870,1176.2179 870,1414.3479 C870,1520.4979 807.02,1549.4979 838,1651.0179 C859.66,1721.9979 916.3,1790.5579 948.24,1825.2179 " fill="none" id="processRelease-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="951.36,1828.5679,948.1796,1819.2467,947.9627,1824.8994,942.31,1824.6824,951.36,1828.5679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="866" y="1477.7849">on error</text>
|
||||
</g>
|
||||
<!--link processDecline to leases4_committed-->
|
||||
<g id="link_processDecline_leases4_committed">
|
||||
<path d="M1253.52,1061.0079 C1237.85,1072.5479 1217.34,1087.5679 1199,1100.6779 C1173.78,1118.7279 1145,1138.8279 1123.49,1153.7579 " fill="none" id="processDecline-to-leases4_committed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1119.43,1156.5779,1129.1039,1154.7298,1123.5368,1153.7259,1124.5407,1148.1589,1119.43,1156.5779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link processDecline to drop-->
|
||||
<g id="link_processDecline_drop">
|
||||
<path d="M1302.45,1061.0779 C1342.78,1094.0579 1421,1160.1079 1421,1176.2179 C1421,1176.2179 1421,1176.2179 1421,1750.5579 C1421,1830.0879 1149.24,1845.2379 1028.1,1848.0379 " fill="none" id="processDecline-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1023.26,1848.1379,1032.3491,1851.9312,1028.2587,1848.0237,1032.1662,1843.9333,1023.26,1848.1379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="1422" y="1477.7849">on error</text>
|
||||
</g>
|
||||
<!--link processInform to leases4_committed-->
|
||||
<g id="link_processInform_leases4_committed">
|
||||
<path d="M1416.23,1061.1179 C1401.28,1073.8879 1380.1,1090.2479 1359,1100.6779 C1308.2,1125.8079 1247.72,1143.7579 1197.09,1155.8379 " fill="none" id="processInform-to-leases4_committed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1192.44,1156.9379,1202.1169,1158.7702,1197.3071,1155.7927,1200.2846,1150.9829,1192.44,1156.9379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link processInform to drop-->
|
||||
<g id="link_processInform_drop">
|
||||
<path d="M1455.93,1061.1579 C1478.14,1085.5879 1512,1130.3479 1512,1176.2179 C1512,1176.2179 1512,1176.2179 1512,1750.5579 C1512,1804.9879 1452.54,1785.8579 1400,1800.0879 C1270.09,1835.2779 1111.35,1844.9779 1028.14,1847.6379 " fill="none" id="processInform-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1023.31,1847.7879,1032.4312,1851.5032,1028.3075,1847.6309,1032.1799,1843.5072,1023.31,1847.7879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="1513" y="1477.7849">on error</text>
|
||||
</g>
|
||||
<!--link leases4_committed to pkt4_send-->
|
||||
<g id="link_leases4_committed_pkt4_send">
|
||||
<path d="M1078.99,1197.0979 C1067.68,1216.1179 1051.51,1246.6979 1045,1275.7479 C1036.36,1314.3079 1045.58,1360.0979 1053.17,1387.6579 " fill="none" id="leases4_committed-to-pkt4_send" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1054.45,1392.1279,1055.8505,1382.3791,1053.0896,1387.3165,1048.1522,1384.5557,1054.45,1392.1279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="66" x="1046" y="1300.6849">CONTINUE</text>
|
||||
</g>
|
||||
<!--link leases4_committed to drop-->
|
||||
<g id="link_leases4_committed_drop">
|
||||
<path d="M1128.87,1197.2279 C1142.26,1205.1379 1156.76,1215.1979 1168,1226.7479 C1185.64,1244.8979 1188.99,1251.7479 1197,1275.7479 C1250.04,1434.7279 1272.49,1487.9079 1234,1651.0179 C1215.74,1728.4279 1205.78,1763.8179 1135,1800.0879 C1101.17,1817.4279 1060.16,1829.5579 1027.61,1837.3579 " fill="none" id="leases4_committed-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1023.11,1838.4179,1032.7857,1840.2566,1027.9778,1837.2759,1030.9585,1832.468,1023.11,1838.4179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="35" x="1254" y="1536.8149">DROP</text>
|
||||
</g>
|
||||
<!--link leases4_committed to park-->
|
||||
<g id="link_leases4_committed_park">
|
||||
<path d="M1101.43,1197.1279 C1112.35,1216.9379 1129.55,1248.1379 1141.51,1269.8179 " fill="none" id="leases4_committed-to-park" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1143.85,1274.0579,1143.0139,1264.2446,1141.4388,1269.6777,1136.0056,1268.1026,1143.85,1274.0579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="32" x="1127" y="1241.6449">PARK</text>
|
||||
</g>
|
||||
<!--link park to pkt4_send-->
|
||||
<g id="link_park_pkt4_send">
|
||||
<path d="M1139.69,1315.1879 C1123.51,1335.1679 1097.94,1366.7379 1080.37,1388.4379 " fill="none" id="park-to-pkt4_send" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="#181818" points="1077.26,1392.2779,1086.0398,1387.8153,1080.413,1388.3973,1079.8309,1382.7705,1077.26,1392.2779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="43" x="1114" y="1359.7149">unpark</text>
|
||||
</g>
|
||||
<!--link pkt4_send to pack-->
|
||||
<g id="link_pkt4_send_pack">
|
||||
<path d="M1061,1433.2579 C1061,1452.8179 1061,1483.4779 1061,1505.1179 " fill="none" id="pkt4_send-to-pack" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1061,1510.0079,1065,1501.0079,1061,1505.0079,1057,1501.0079,1061,1510.0079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="66" x="1062" y="1477.7849">CONTINUE</text>
|
||||
</g>
|
||||
<!--link pkt4_send to buffer4_send-->
|
||||
<g id="link_pkt4_send_buffer4_send">
|
||||
<path d="M1029.86,1433.1479 C1004.93,1450.1879 971.76,1477.8179 957,1511.8879 C941.54,1547.5879 974.65,1584.7179 1001.93,1607.7179 " fill="none" id="pkt4_send-to-buffer4_send" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1005.77,1610.8879,1001.3586,1602.0823,1001.9079,1607.7124,996.2777,1608.2617,1005.77,1610.8879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="27" x="958" y="1536.8149">SKIP</text>
|
||||
</g>
|
||||
<!--link pkt4_send to drop-->
|
||||
<g id="link_pkt4_send_drop">
|
||||
<path d="M1106.46,1433.2979 C1118.54,1440.6679 1130.13,1450.4079 1137,1462.8879 C1202.62,1582.1179 1210.65,1654.0179 1138,1769.0879 C1114,1807.1079 1066.3,1827.3279 1028,1837.8479 " fill="none" id="pkt4_send-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1023.4,1839.0679,1033.1219,1840.6444,1028.2352,1837.7947,1031.0848,1832.9081,1023.4,1839.0679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="35" x="1190" y="1636.8849">DROP</text>
|
||||
</g>
|
||||
<!--link pack to buffer4_send-->
|
||||
<g id="link_pack_buffer4_send">
|
||||
<path d="M1055.6,1551.3279 C1051.19,1566.7979 1044.91,1588.7879 1040.09,1605.6679 " fill="none" id="pack-to-buffer4_send" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1038.8,1610.1779,1045.1186,1602.6231,1040.1736,1605.3703,1037.4264,1600.4253,1038.8,1610.1779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link buffer4_send to send-->
|
||||
<g id="link_buffer4_send_send">
|
||||
<path d="M1037.4,1651.3979 C1041.97,1671.0379 1049.14,1701.8779 1054.18,1723.5379 " fill="none" id="buffer4_send-to-send" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1055.26,1728.1879,1057.1255,1718.5174,1054.1315,1723.3169,1049.332,1720.3229,1055.26,1728.1879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="66" x="1049" y="1695.9149">CONTINUE</text>
|
||||
</g>
|
||||
<!--link buffer4_send to drop-->
|
||||
<g id="link_buffer4_send_drop">
|
||||
<path d="M1007.81,1651.3279 C986.51,1668.9779 957.52,1697.4479 945,1730.0179 C932.96,1761.3479 945.95,1799.5979 957.5,1824.0279 " fill="none" id="buffer4_send-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="959.57,1828.2679,959.2236,1818.4252,957.3799,1823.7731,952.0319,1821.9294,959.57,1828.2679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="35" x="946" y="1754.9549">DROP</text>
|
||||
</g>
|
||||
<!--link send to drop-->
|
||||
<text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="225" x="776" y="1919.9479">dashed arrow means asynchronous processing</text>
|
||||
<!--SRC=[XLLDRzim3BthLn0zROSK6z33iCE08YcmebYRfUsfA0BLPc8XZkH9SefWs7yVzH5RifFq5Z- -Hr8I-MA5hH5cFwVptHKqlDYWXKQh0eqHSWsVxf33ryjlbry-CyRNA2rSBB10iKFuqwBUNm0te0Cozt8cbKMeSMNXEmZPjBPJFgBUYGBXHlAt6akl5IQY4Up8KrxNghNmrgvMgA-MiOWN3R1GKejrvMfMIcswBC_I7IhfjVL0NwNcTDBLFc4K4HfrqcnitaOAdEbXMY6rC5iyp4DkhosrQfR-i-DTxvGemV0j4ayuI7EwBI5XszPMJ6obaPTOmbQLeG77NGPkNhzHnZPAOlgMIlkYZ577biirlVl5F8JXjpizA0d26lX52BK4J_icdZEo_ZA8hHvqCs4AjKETqWxOYBn0kcHZKsw4Zb1hv0PpgeV6BI1TWCoe4HfHR-LAwMtA30ZxDtfhNyjSBGkrtGfhux2Eq3ElFkTw4qhHZ-EpP52M_I2vhsHLP4bxPUWHupLaORTgUJYVwi7kT8LIuADQwHvJidIHPpH7qIswOSxugBNIVj9wOu39vCTutOU0PmtscnAQQ1t209vMEgth9HUKmWJ5CAsZ1pyWmVJX_kds_ldcAElW2SHxlBkT7-4afTscivWt5VTOpwML2tVLLN31p5ZI3pX8WtMaRGzeWtOIZGkbnf65UfatH6S-lN6nH1QuSOt6WII9G0ChhRPWAypSZKpA27eORtFiO3Afl9KRgTx9_w8ZMN8aDh0PVvxnOevPHouzTw7pcNhIkKHU_b6Y0-bqekXW7voj8vrE50pkV9wESoJDIDJFfpE9T02FKGTJU28R6IGnvjUBE-P_JrvARYeiNmUbtFwGb_PGKEVhcqTJmpiiRyeODDZjR6QKMHA_FeEZ3mY3f05zgKHPedoDGSPMYWoJ_fFzKO7JTR_Je7Dfo57tigYqageroJyu-my0]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 35 KiB |
@ -1,203 +1,437 @@
|
||||
<?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="2399px" preserveAspectRatio="none" style="width:2294px;height:2399px;" version="1.1" viewBox="0 0 2294 2399" width="2294px" zoomAndPan="magnify"><defs><filter height="300%" id="f5oag86dlpmno" 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="399" x="938.5" y="17.4023">Allocate a lease for DHCPREQUEST (Kea 1.8.0)</text><!--MD5=[eaee9025590d004dcfc2daa117adb8bb]
|
||||
cluster check_hint--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="378.72" style="stroke: #000000; stroke-width: 1.5;" width="939" x="950" y="248.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="180" x="1329.5" y="263.7344">Check requested address</text><!--MD5=[c6fdc214782d2c6b530af6f84e869950]
|
||||
cluster get_existing--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="245" x="1604" y="347.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="229" x="1612" y="362.5944">Get lease for requested address</text><!--MD5=[57e960cb4db100c9a2ccd6f4d6705f05]
|
||||
cluster check_done--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="161" x="470" y="691.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="130" x="485.5" y="707.4544">Check client lease</text><!--MD5=[a6e23b86b5ec2c7080f88f7cf966373c]
|
||||
cluster new_lease--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="1385.08" style="stroke: #000000; stroke-width: 1.5;" width="1138" x="7" y="905.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="147" x="502.5" y="921.3144">Allocate a new lease</text><!--MD5=[c0a0058b985d9500e1903c17b16df914]
|
||||
cluster allocateOrReuseLease4--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="685.36" style="stroke: #000000; stroke-width: 1.5;" width="300" x="71" y="1466.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="139" y="1482.0344">Allocate or reuse lease</text><!--MD5=[23478a531f37cd80899cad04cd2b7f18]
|
||||
cluster allocateUnreservedLease4--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="588.22" style="stroke: #000000; stroke-width: 1.5;" width="514" x="411" y="1044.6392"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="184" x="576" y="1060.1744">Allocate unreserved lease</text><!--MD5=[f07ece90dffecaa599052c39e01a94c5]
|
||||
entity getReservedLease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="1136" y="451.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="226" x="1146" y="475.4544">Check lease for reserved address</text><!--MD5=[8636dd2beae72b933abf12250cfd1025]
|
||||
entity out_of_pool--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="1020" y="566.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="188" x="1030" y="590.4544">Check out-of-pool address</text><!--MD5=[ec14e8cae259e632e03b8f7e5f2fa627]
|
||||
entity existing--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="1651" y="451.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="154" x="1661" y="475.4544">Check requested lease</text><!--MD5=[0edbe06a49914a247f1c11b045d92815]
|
||||
entity client_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="494" y="796.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="504" y="820.3144">Check renew</text><!--MD5=[66e1e431ca0dbea91ea05cb758558585]
|
||||
entity create--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="973" y="1703.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="983" y="1727.3944">Create a new lease</text><!--MD5=[a85809bef6165a661ce702016b2b24bf]
|
||||
entity old_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="128" x="747" y="2230.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="757" y="2254.3944">Delete old lease</text><!--MD5=[3e4eb9e968ddf7eb79447dabaa827d00]
|
||||
entity candidate--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="188.5" y="1572.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="133" x="198.5" y="1596.3944">Get candidate lease</text><!--MD5=[3dd4b79f11e480f9e62df46d2d0a412b]
|
||||
entity reuseExpiredLease4--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="118.5" y="1703.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="137" x="128.5" y="1727.3944">Reuse expired lease</text><!--MD5=[7989e4485f5064553517c02d5ce8346d]
|
||||
entity reclaimExpiredLease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="111.5" y="1800.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="149" x="121.5" y="1824.3944">Reclaim expired lease</text><!--MD5=[8b161cca1eea0fa2f14429822e5193fc]
|
||||
entity updateLease4Information--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="96" y="1897.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="172" x="106" y="1921.3944">update lease information</text><!--MD5=[20b997f41be7d019adfd03f05289a85b]
|
||||
entity lease4_select--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="95.5" y="1994.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="105.5" y="2018.3944">Callout lease4_select</text><path d="M293.5,2000.3592 L293.5,2008.8592 L258.55,2012.8592 L293.5,2016.8592 L293.5,2025.6698 A0,0 0 0 0 293.5,2025.6698 L346.5,2025.6698 A0,0 0 0 0 346.5,2025.6698 L346.5,2010.3592 L336.5,2000.3592 L293.5,2000.3592 A0,0 0 0 0 293.5,2000.3592 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M336.5,2000.3592 L336.5,2010.3592 L346.5,2010.3592 L336.5,2000.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="299.5" y="2017.9276">hook</text><!--MD5=[d0c6f6a5b1ca3e5ac503933fbe44aaa9]
|
||||
entity updateLease4--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="210" y="2091.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="220" y="2115.3944">Update lease</text><!--MD5=[8ae068fcc4f60e406016be9ba14134ac]
|
||||
entity iterate--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="450" y="1133.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="174" x="460" y="1157.0344">Iterate pools and subnets</text><!--MD5=[cb628e8ea2f367fa2f488bc44b336c46]
|
||||
entity pick--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="509.5" y="1246.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="519.5" y="1270.0344">Pick address</text><!--MD5=[3307242102673314e57f67fe596f1a7c]
|
||||
entity pick_reserved--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="200" x="640" y="1359.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="650" y="1383.0344">Check reserved addressed</text><!--MD5=[ac311a8dd9b9ea9d39416a955479a4fe]
|
||||
entity mt_in_use--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="288" x="506" y="1475.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="268" x="516" y="1499.3944">Check already in use by another thread</text><!--MD5=[3fa202f6559a381d70247672876b819e]
|
||||
entity pick_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="476.5" y="1572.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="486.5" y="1596.3944">Check lease</text><!--MD5=[1213eaa42773f0ba0384c538d3efa224]
|
||||
entity findClientLease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1383" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="1393" y="51.7344">Find client lease</text><path d="M1548,33.6992 L1548,42.1992 L1513.14,46.1992 L1548,50.1992 L1548,59.0098 A0,0 0 0 0 1548,59.0098 L1638,59.0098 A0,0 0 0 0 1638,59.0098 L1638,43.6992 L1628,33.6992 L1548,33.6992 A0,0 0 0 0 1548,33.6992 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1628,33.6992 L1628,43.6992 L1638,43.6992 L1628,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1554" y="51.2676">entry point</text><!--MD5=[0f69bb3143e68c3e4ebf8b928e2a1af4]
|
||||
entity addressReserved--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="1615" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="196" x="1625" y="164.7344">Check requested reservation</text><!--MD5=[f1bd864ca92b3a59ad91e15b6c278a16]
|
||||
entity hasAddressReservation--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="1112" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="1122" y="164.7344">Get reservation</text><!--MD5=[29cbf9a69668994ea4ff4bb0b8dea6d6]
|
||||
entity update_hint--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="200" x="1380" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="1390" y="164.7344">Update requested address</text><!--MD5=[999fe650e2a9819ebed27de3d290658a]
|
||||
entity no_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="1444.5" y="2230.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="1454.5" y="2254.3944">Return no lease</text><path d="M1607,2236.3592 L1607,2244.8592 L1571.71,2248.8592 L1607,2252.8592 L1607,2261.6698 A0,0 0 0 0 1607,2261.6698 L1689,2261.6698 A0,0 0 0 0 1689,2261.6698 L1689,2246.3592 L1679,2236.3592 L1607,2236.3592 A0,0 0 0 0 1607,2236.3592 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1679,2236.3592 L1679,2246.3592 L1689,2246.3592 L1679,2236.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1613" y="2253.9276">exit point</text><!--MD5=[45b45980895812fee5a3bd80c1953e7a]
|
||||
entity renew--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="971" y="796.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="148" x="981" y="820.3144">Return renewed lease</text><path d="M1174,802.2792 L1174,810.7792 L1139.06,814.7792 L1174,818.7792 L1174,827.5898 A0,0 0 0 0 1174,827.5898 L1256,827.5898 A0,0 0 0 0 1256,827.5898 L1256,812.2792 L1246,802.2792 L1174,802.2792 A0,0 0 0 0 1174,802.2792 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1246,802.2792 L1246,812.2792 L1256,812.2792 L1246,802.2792 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1180" y="819.8476">exit point</text><!--MD5=[c13398c59c328d6fcc544c8c17f5b117]
|
||||
entity return--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="758.5" y="2345.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="768.5" y="2369.3944">Return lease</text><path d="M899,2351.3592 L899,2359.8592 L863.66,2363.8592 L899,2367.8592 L899,2376.6698 A0,0 0 0 0 899,2376.6698 L981,2376.6698 A0,0 0 0 0 981,2376.6698 L981,2361.3592 L971,2351.3592 L899,2351.3592 A0,0 0 0 0 899,2351.3592 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M971,2351.3592 L971,2361.3592 L981,2361.3592 L971,2351.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="905" y="2368.9276">exit point</text><!--MD5=[58c45ac03f61bca16a2604d1f9090edc]
|
||||
link findClientLease to addressReserved--><path d="M1490.37,64.2992 C1540.43,84.5092 1623.49,118.0392 1675.64,139.0792 " fill="none" id="findClientLease->addressReserved" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1680.59,141.0792,1673.7456,133.9973,1675.9546,139.205,1670.7468,141.414,1680.59,141.0792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="178" x="1602" y="107.7676">has requested address (hint)</text><!--MD5=[3ed98210a29f20764b03cb44cfd671eb]
|
||||
link findClientLease to hasAddressReservation--><path d="M1405.79,64.2992 C1355.91,84.5092 1273.15,118.0392 1221.19,139.0792 " fill="none" id="findClientLease->hasAddressReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1216.26,141.0792,1226.1032,141.414,1220.8954,139.205,1223.1044,133.9973,1216.26,141.0792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="172" x="1328" y="107.7676">no requested address (hint)</text><!--MD5=[0f8169b991248aaf1e86d3e126ee7fc7]
|
||||
link addressReserved to check_hint--><path d="M1706.14,177.5692 C1690.855,193.3142 1667.81,217.0567 1648.3475,237.1092 C1645.9147,239.6158 1643.5379,242.0647 1641.2391,244.4331 C1640.0898,245.6173 1638.96,246.7814 1637.8525,247.9225 " fill="none" id="addressReserved->check_hint" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1637.8525,247.9225,1646.991,244.2501,1641.3348,244.3346,1641.2503,238.6783,1637.8525,247.9225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="1675" y="220.7676">no conflicting reservation</text><!--MD5=[afeb447a9f6636bece5d73dd5d09cefa]
|
||||
link addressReserved to no_lease--><path d="M1831.12,176.2492 C1928.35,193.8192 2056,226.1192 2056,274.5592 C2056,274.5592 2056,274.5592 2056,2110.8592 C2056,2245.5392 1894.72,2159.4592 1764,2191.8592 C1729.14,2200.4992 1639.9,2219.7792 1576.62,2233.2992 " fill="none" id="addressReserved->no_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1571.73,2234.3392,1581.3655,2236.3781,1576.6205,2233.2984,1579.7002,2228.5534,1571.73,2234.3392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="2057" y="1213.0676">reservation owned by another client</text><!--MD5=[961d5a31619e7d456669487d013a1899]
|
||||
link hasAddressReservation to update_hint--><path d="M1236.29,159.1992 C1276.08,159.1992 1328.68,159.1992 1374.83,159.1992 " fill="none" id="hasAddressReservation->update_hint" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1379.85,159.1992,1370.85,155.1992,1374.85,159.1992,1370.85,163.1992,1379.85,159.1992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="1254.5" y="152.7676">has a reservation</text><!--MD5=[05586e2e35799af932c772159165fde5]
|
||||
link update_hint to check_hint--><path d="M1480.56,177.2992 C1481.87,191.3892 1485.77,211.1092 1497,224.1992 C1501.4688,229.4105 1506.5789,234.1017 1512.105,238.322 C1514.868,240.4322 1517.735,242.4246 1520.6778,244.3054 C1522.1492,245.2458 1523.6395,246.1583 1525.1453,247.0437 C1525.5217,247.2651 1525.8991,247.4847 1526.2774,247.7027 C1526.4666,247.8117 1526.656,247.9202 1526.8456,248.0284 " fill="none" id="update_hint->check_hint" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1526.8456,248.0284,1521.0095,240.0949,1522.5024,245.5512,1517.046,247.044,1526.8456,248.0284" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="157" x="1498" y="220.7676">request reserved address</text><!--MD5=[f5740591afdec92972eb12364704fbda]
|
||||
link hasAddressReservation to check_done--><path d="M1111.78,160.2292 C968.42,161.9792 627,176.4492 627,274.5592 C627,274.5592 627,274.5592 627,585.9192 C627,614.8842 626.03,647.4017 625.045,672.958 C624.7987,679.347 624.5516,685.301 624.3184,690.6556 C624.3038,690.9903 624.2893,691.3226 624.2748,691.6526 " fill="none" id="hasAddressReservation->check_done" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="624.2748,691.6526,628.6651,682.8364,624.4938,686.6574,620.6728,682.486,624.2748,691.6526" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="628" y="418.4876">no reservation</text><!--MD5=[05b1cca34cf1798b13fb9b06f5ca5f3a]
|
||||
link check_hint to get_existing--><path d="M1612,276.1292 C1612,277.5792 1612,301.1692 1612,324.7542 C1612,330.6505 1612,336.5464 1612,342.096 C1612,343.4834 1612,344.8492 1612,346.1879 C1612,346.3552 1612,346.5221 1612,346.6886 " fill="none" id="check_hint->get_existing" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1612,346.6886,1616,337.6886,1612,341.6886,1608,337.6886,1612,346.6886" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a6e7bc949cef76964a3dcada3d94e736]
|
||||
link get_existing to existing--><path d="M1612.09,374.9892 C1614.74,376.9592 1674.43,421.4892 1710.66,448.5192 " fill="none" id="get_existing->existing" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1714.95,451.7292,1710.1157,443.1485,1710.938,448.7452,1705.3413,449.5676,1714.95,451.7292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="124" x="1676" y="418.4876">has requested lease</text><!--MD5=[86bae6c5db5c6e2b2f64eec8702a172a]
|
||||
link existing to no_lease--><path d="M1738,488.1492 C1738,510.3092 1738,549.9792 1738,583.9192 C1738,583.9192 1738,583.9192 1738,2110.8592 C1738,2169.0192 1692.68,2170.6192 1643,2200.8592 C1622.7,2213.2092 1598.7,2222.8992 1576.6,2230.1892 " fill="none" id="existing->no_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1571.62,2231.7992,1581.415,2232.8276,1576.3761,2230.2567,1578.947,2225.2178,1571.62,2231.7992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="263" x="1739" y="1382.5676">not expired lease owned by another client</text><!--MD5=[d1913c1ad5468c4f26e27e58c8f67311]
|
||||
link get_existing to out_of_pool--><path d="M1603.5702,375.107 C1603.282,375.1139 1602.9868,375.1209 1602.6847,375.1282 C1602.0805,375.1427 1601.4485,375.158 1600.7892,375.1741 C1599.4706,375.2063 1598.043,375.2417 1596.5101,375.2804 C1593.4444,375.3579 1589.9579,375.4487 1586.0818,375.5535 C1570.5772,375.973 1548.8378,376.6183 1522.855,377.543 C1470.8894,379.3923 1401.95,382.3592 1331.9675,386.8717 C1192.0025,395.8967 1047.865,411.1042 1027,435.9192 C1000.68,467.2192 1006.56,492.5092 1027,527.9192 C1036.33,544.0792 1052.3,555.9992 1068.62,564.5792 " fill="none" id="get_existing->out_of_pool" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1073.22,566.9092,1066.998,559.2747,1068.7594,564.6503,1063.3837,566.4117,1073.22,566.9092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="1028" y="474.9876">no reservation</text><!--MD5=[d1913c1ad5468c4f26e27e58c8f67311]
|
||||
link get_existing to out_of_pool--><path d="M1603.8377,376.8955 C1603.4057,377.006 1602.9584,377.1212 1602.4962,377.2411 C1600.6472,377.7206 1598.5597,378.2751 1596.2617,378.9056 C1587.0697,381.4277 1574.5094,385.1648 1560.3738,390.173 C1532.1025,400.1892 1497.53,415.2892 1471,435.9192 C1430.23,467.6192 1443.85,500.6192 1400,527.9192 C1350.34,558.8392 1286.82,573.0892 1233.23,579.4992 " fill="none" id="get_existing->out_of_pool-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1228.08,580.0892,1237.4862,583.0087,1233.0457,579.5042,1236.5502,575.0636,1228.08,580.0892" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="1472" y="474.9876">has requested reservation</text><!--MD5=[a80af0ff9802cb26b63fe0e5cdeeb896]
|
||||
link get_existing to getReservedLease--><path d="M1603.7999,374.8934 C1603.5697,374.893 1603.3349,374.8927 1603.0956,374.8923 C1602.6171,374.8916 1602.1205,374.891 1601.6064,374.8904 C1599.5497,374.8882 1597.2106,374.8875 1594.61,374.8892 C1584.2075,374.8962 1569.6199,374.9436 1552.1798,375.1011 C1517.2997,375.4161 1471.0094,376.1717 1423.9688,377.9267 C1329.8875,381.4367 1232.805,388.9442 1218,404.9192 C1205.95,417.9192 1217.84,434.9092 1231.87,448.1092 " fill="none" id="get_existing->getReservedLease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1235.86,451.7292,1231.8826,442.7192,1232.1571,448.3694,1226.5069,448.6439,1235.86,451.7292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="223" x="1219" y="418.4876">has reservation for another address</text><!--MD5=[460f9433d097e6134b488e2edc059749]
|
||||
link getReservedLease to no_lease--><path d="M1298.31,487.9392 C1370.31,519.1292 1516,582.4492 1516,583.9192 C1516,583.9192 1516,583.9192 1516,1321.9992 C1516,1356.7992 1520.59,1368.8792 1543,1395.4992 C1560.18,1415.9092 1578.19,1404.7792 1595,1425.4992 C1614.84,1449.9592 1617,1461.3692 1617,1492.8592 C1617,1492.8592 1617,1492.8592 1617,2110.8592 C1617,2161.3292 1571.14,2203.9592 1538.92,2227.6992 " fill="none" id="getReservedLease->no_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1534.66,2230.7792,1544.2952,2228.7389,1538.7092,2227.846,1539.6021,2222.2601,1534.66,2230.7792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="1544" y="1382.5676">no active reserved lease</text><!--MD5=[e9bc3bd5a379396c200e43b0baf79c85]
|
||||
link getReservedLease to out_of_pool--><path d="M1238.5,488.0792 C1214.41,508.2392 1174.48,541.6692 1148.71,563.2392 " fill="none" id="getReservedLease->out_of_pool" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1144.7,566.5992,1154.1757,563.9139,1148.5423,563.3997,1149.0565,557.7663,1144.7,566.5992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e17e653abfe61c21e03d310137f9f5d3]
|
||||
link out_of_pool to check_done--><path d="M1094.93,603.0392 C1061.57,621.9092 1004.65,651.7292 952,667.9192 C882.41,689.3242 801.6225,701.8592 737.5188,709.0692 C705.4669,712.6742 677.5859,714.948 657.3611,716.3336 C647.2487,717.0264 639.0503,717.4972 633.2015,717.8013 C632.4705,717.8393 631.7761,717.8748 631.1193,717.9077 " fill="none" id="out_of_pool->check_done" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="631.1193,717.9077,640.3082,721.4522,636.113,717.6574,639.9078,713.4622,631.1193,717.9077" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="280" x="997" y="664.4876">owned reservation for the requested address</text><!--MD5=[e17e653abfe61c21e03d310137f9f5d3]
|
||||
link out_of_pool to check_done--><path d="M1019.57,594.3492 C910.87,604.4092 748.83,623.3992 693,650.9192 C674.24,660.1642 657.23,676.2567 644.6763,690.3942 C641.5378,693.9286 638.6779,697.3408 636.1388,700.4932 C634.8692,702.0695 633.6798,703.5808 632.576,705.0099 C632.3,705.3672 632.0294,705.7194 631.7642,706.0662 C631.6316,706.2395 631.5003,706.4116 631.3705,706.5822 C631.3055,706.6675 631.2409,706.7525 631.1767,706.8371 " fill="none" id="out_of_pool->check_done-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="631.1767,706.8371,639.8049,702.088,634.2002,702.8549,633.4333,697.2503,631.1767,706.8371" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="694" y="664.4876">requested address is in allowed an pool</text><!--MD5=[7bd3c3d867479d62123546af0a0eba34]
|
||||
link out_of_pool to no_lease--><path d="M1203.74,602.9892 C1232.91,612.7492 1264.1,627.8392 1286,650.9192 C1307.77,673.8692 1309,686.6492 1309,718.2792 C1309,718.2792 1309,718.2792 1306,1434.9992 C1306,1673.5792 1398,1725.2792 1398,1963.8592 C1398,1963.8592 1398,1963.8592 1398,2110.8592 C1398,2161.5092 1444.28,2204.0892 1476.8,2227.7592 " fill="none" id="out_of_pool->no_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1481.09,2230.8292,1476.0801,2222.3498,1477.0175,2227.9284,1471.4388,2228.8658,1481.09,2230.8292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="283" x="1310" y="1439.0676">address not reserved and not in allowed pool</text><!--MD5=[285a75cccafb8a8e1e8a8d054b6bd861]
|
||||
link check_done to client_lease--><path d="M622.95,719.8492 C621.39,721.7992 586.7,765.2692 565.07,792.3792 " fill="none" id="check_done->client_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="561.72,796.5892,570.4617,792.0524,564.84,792.6821,564.2103,787.0604,561.72,796.5892" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="600" y="763.3476">has a client lease</text><!--MD5=[69a418bc3ca1e1b953129b8feacd7c7c]
|
||||
link client_lease to renew--><path d="M602.26,814.7792 C689.18,814.7792 860.52,814.7792 965.69,814.7792 " fill="none" id="client_lease->renew" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="970.96,814.7792,961.96,810.7792,965.96,814.7792,961.96,818.7792,970.96,814.7792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="332" x="620.5" y="808.3476">requested address was already assigned to the client</text><!--MD5=[82bd19346130f27c4982b22ea05f0ccb]
|
||||
link client_lease to new_lease--><path d="M547.85,832.9492 C547.715,848.8792 547.5075,873.1567 547.3313,893.7055 C547.3092,896.2741 547.2877,898.7844 547.2668,901.2129 C547.2564,902.4271 547.2461,903.6209 547.2361,904.7913 C547.2336,905.0839 547.2311,905.375 547.2286,905.6646 " fill="none" id="client_lease->new_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="547.2286,905.6646,551.3058,896.6993,547.2715,900.6648,543.3061,896.6306,547.2286,905.6646" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f19fad7ef643a710f1fa744c146e27e1]
|
||||
link new_lease to allocateOrReuseLease4--><path d="M546.94,933.6392 C542.11,933.4192 233,919.8692 233,1070.9992 C233,1070.9992 233,1070.9992 233,1378.4992 C233,1403.8242 237.36,1431.9242 241.7888,1453.9317 C242.3423,1456.6827 242.897,1459.3384 243.4444,1461.8816 C243.7181,1463.1532 243.9899,1464.3967 244.2589,1465.6099 C244.2925,1465.7616 244.3261,1465.9127 244.3596,1466.0634 " fill="none" id="new_lease->allocateOrReuseLease4" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="244.3596,1466.0634,246.3094,1456.4095,243.2737,1461.1828,238.5004,1458.147,244.3596,1466.0634" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="152" x="234" y="1213.0676">has a requested address</text><!--MD5=[1e19bcf55215d199025544543592d337]
|
||||
link new_lease to allocateUnreservedLease4--><path d="M547,933.7392 C547,935.7842 547,969.0667 547,1002.3417 C547,1010.6605 547,1018.9788 547,1026.8084 C547,1030.7232 547,1034.5158 547,1038.1252 C547,1039.93 547,1041.6889 547,1043.3944 C547,1043.6076 547,1043.8199 547,1044.0314 " fill="none" id="new_lease->allocateUnreservedLease4" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="547,1044.0314,551,1035.0314,547,1039.0314,543,1035.0314,547,1044.0314" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="548" y="977.2076">no requested address</text><!--MD5=[2c84e3b0a8d19577f3d2d8902e61dda6]
|
||||
link allocateOrReuseLease4 to candidate--><path d="M251.01,1494.9292 C251.3,1496.8792 257.62,1539.7592 261.66,1567.2092 " fill="none" id="allocateOrReuseLease4->candidate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="262.44,1572.4792,265.0848,1562.9921,261.7109,1567.5327,257.1703,1564.1587,262.44,1572.4792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a5e8e7e456414e548f2004cb6dbe84b6]
|
||||
link candidate to reuseExpiredLease4--><path d="M255.97,1608.9892 C243.73,1632.2192 221.85,1673.7092 208.46,1699.1092 " fill="none" id="candidate->reuseExpiredLease4" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="206.07,1703.6592,213.799,1697.5549,208.397,1699.2337,206.7181,1693.8317,206.07,1703.6592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="230" y="1670.4276">expired candidate lease</text><!--MD5=[d2a65277aca220a8b88ff33e161a522b]
|
||||
link candidate to no_lease--><path d="M300.41,1608.9492 C331,1622.7292 376.81,1641.0592 419,1648.8592 C438.61,1652.4892 1119.78,1646.7992 1137,1656.8592 C1165.37,1673.4392 1174,1687.9992 1174,1720.8592 C1174,1720.8592 1174,1720.8592 1174,2110.8592 C1174,2167.7192 1341.77,2212.7992 1439.5,2234.2292 " fill="none" id="candidate->no_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1444.39,2235.2992,1436.4557,2229.4642,1439.5061,2234.2282,1434.7421,2237.2785,1444.39,2235.2992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="169" x="1175" y="1920.9276">conflicting candidate lease</text><!--MD5=[7d0ea550df801bc4f2e5d77c4007fd73]
|
||||
link candidate to create--><path d="M302.78,1608.8892 C333.47,1621.9592 378.19,1639.3492 419,1648.8592 C452.51,1656.6692 461.8,1653.0992 496,1656.8592 C663.96,1675.3392 860.53,1698.5492 967.59,1711.3292 " fill="none" id="candidate->create" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="972.62,1711.9292,964.1641,1706.8797,967.656,1711.3301,963.2056,1714.822,972.62,1711.9292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="634" y="1670.4276">no candidate lease</text><!--MD5=[41d477ba3ffb73c8ff7e1f8771a2bc5c]
|
||||
link reuseExpiredLease4 to reclaimExpiredLease--><path d="M196.82,1740.2792 C196.65,1755.8192 196.41,1778.6392 196.24,1795.5192 " fill="none" id="reuseExpiredLease4->reclaimExpiredLease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="196.18,1800.5492,200.2572,1791.5839,196.223,1795.5494,192.2575,1791.5152,196.18,1800.5492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6426546e78ac0ba7440fd3d40f44ede2]
|
||||
link reclaimExpiredLease to updateLease4Information--><path d="M195.27,1837.2792 C194.61,1852.8192 193.65,1875.6392 192.94,1892.5192 " fill="none" id="reclaimExpiredLease->updateLease4Information" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="192.73,1897.5492,197.0865,1888.7163,192.9298,1892.5532,189.0929,1888.3965,192.73,1897.5492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a62828ac2ba9e6deab1d38c41c6a28c7]
|
||||
link updateLease4Information to lease4_select--><path d="M189.25,1934.2792 C186.8,1949.8192 183.19,1972.6392 180.53,1989.5192 " fill="none" id="updateLease4Information->lease4_select" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="179.73,1994.5492,185.097,1986.2912,180.5172,1989.6116,177.1968,1985.0317,179.73,1994.5492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8451cb76573000a7f0f17878defd5d68]
|
||||
link lease4_select to no_lease--><path d="M256.64,2030.8892 C422.11,2065.8992 815.39,2147.1692 1148,2200.8592 C1249.02,2217.1692 1366.7,2231.6892 1439.28,2240.1392 " fill="none" id="lease4_select->no_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1444.43,2240.7392,1435.9456,2235.7377,1439.4627,2240.1683,1435.0321,2243.6853,1444.43,2240.7392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="1090" y="2114.9276">SKIP</text><!--MD5=[6d30d4fb129fbbb4308e51704d598b83]
|
||||
link lease4_select to updateLease4--><path d="M187.75,2031.0092 C194.04,2040.4992 202.41,2052.2792 211,2061.8592 C219.4,2071.2392 229.56,2080.6292 238.73,2088.5292 " fill="none" id="lease4_select->updateLease4" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="242.59,2091.8092,238.3406,2082.9243,238.7867,2088.5635,233.1474,2089.0096,242.59,2091.8092" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f38e7914af006d3091e34eae716cf611]
|
||||
link updateLease4 to old_lease--><path d="M271.13,2128.1092 C280.01,2147.2092 297.1,2177.2192 322,2191.8592 C391.49,2232.7292 624.21,2243.7792 741.78,2246.7592 " fill="none" id="updateLease4->old_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="746.95,2246.8892,738.0438,2242.6846,741.9513,2246.775,737.8609,2250.6825,746.95,2246.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9b569e4e69bfc07b8f4591db492d7934]
|
||||
link allocateUnreservedLease4 to iterate--><path d="M547,1072.5592 C547,1074.0692 547,1105.5792 547,1128.0692 " fill="none" id="allocateUnreservedLease4->iterate" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="547,1133.2792,551,1124.2792,547,1128.2792,543,1124.2792,547,1133.2792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[913c99c1aa5de4d885de0fade3210176]
|
||||
link iterate to pick--><path d="M549.34,1169.8392 C551.94,1189.0692 556.14,1220.1292 558.98,1241.1592 " fill="none" id="iterate->pick" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="559.67,1246.2792,562.4258,1236.8238,558.9989,1241.3245,554.4982,1237.8975,559.67,1246.2792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[98fd2d33f60f8d171595f3ad38490357]
|
||||
link pick to pick_reserved--><path d="M614.74,1276.6292 C662.69,1287.2492 727.13,1302.9992 735,1312.4992 C744.41,1323.8692 745.43,1340.5992 744.21,1354.0992 " fill="none" id="pick->pick_reserved" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="743.62,1359.2892,748.6002,1350.7923,744.1784,1354.3205,740.6502,1349.8988,743.62,1359.2892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[40bbb0c51a3c4e170e8c88288f4abbc7]
|
||||
reverse link iterate to pick_reserved--><path d="M587.85,1171.9592 C635.04,1196.9992 710.25,1245.3892 742,1312.4992 C748.94,1327.1692 747.31,1345.9192 744.63,1359.3292 " fill="none" id="iterate<-pick_reserved" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="583.37,1169.6092,589.4641,1177.3463,587.7924,1171.9421,593.1966,1170.2704,583.37,1169.6092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="214" x="723" y="1269.5676">address reserved to another client</text><!--MD5=[d452465c31c3e200782285fc87364de7]
|
||||
link pick_reserved to mt_in_use--><path d="M726.33,1395.8692 C710.31,1416.2192 683.78,1449.9292 666.6,1471.7692 " fill="none" id="pick_reserved->mt_in_use" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="663.5,1475.6992,672.2152,1471.1118,666.5973,1471.7741,665.935,1466.1561,663.5,1475.6992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0d2cb4b21f131724b772926f54d8c5a6]
|
||||
reverse link iterate to mt_in_use--><path d="M525.22,1173.1292 C491.49,1207.6292 434.06,1278.2892 470,1329.4992 C492.53,1361.6092 521.64,1335.9392 553,1359.4992 C595.57,1391.4892 627.49,1447.3892 641.76,1475.5692 " fill="none" id="iterate<-mt_in_use" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="528.81,1169.5092,519.6392,1173.1004,525.296,1173.0661,525.3302,1178.7229,528.81,1169.5092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="255" x="471" y="1326.0676">address already in use by another thread</text><!--MD5=[bc2a6c320076cde845cfe5f7d4f3068f]
|
||||
link mt_in_use to pick_lease--><path d="M627.73,1512.0592 C606.74,1528.2692 575.3,1552.5592 553.13,1569.6792 " fill="none" id="mt_in_use->pick_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="549.11,1572.7792,558.6776,1570.4423,553.0667,1569.7224,553.7867,1564.1115,549.11,1572.7792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2a521ba838ca3ea39c3c98b97230fab1]
|
||||
reverse link iterate to pick_lease--><path d="M513.37,1172.6092 C502.3,1180.1892 490.42,1189.4392 481,1199.4992 C464.23,1217.4192 458.7,1222.8892 452,1246.4992 C435.76,1303.7492 469.06,1455.4492 488,1511.8592 C495.37,1533.8192 507.86,1557.3892 516.72,1572.7992 " fill="none" id="iterate<-pick_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="517.73,1169.6792,508.0294,1171.3818,513.5808,1172.4692,512.4934,1178.0206,517.73,1169.6792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="461" y="1382.5676">active lease</text><!--MD5=[63357d070723cd23e47a694c7dc5adee]
|
||||
link pick_lease to reuseExpiredLease4--><path d="M486.46,1608.9192 C461.21,1620.5292 428.75,1637.3192 403,1656.8592 C394.74,1663.1292 395.96,1668.6192 387,1673.8592 C377.25,1679.5592 326.42,1692.0092 279.78,1702.6592 " fill="none" id="pick_lease->reuseExpiredLease4" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="274.7,1703.8192,284.3588,1705.7447,279.5779,1702.721,282.6016,1697.9401,274.7,1703.8192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="404" y="1670.4276">expired lease</text><!--MD5=[cf9da26e069a0df2c62fe2799950086c]
|
||||
link pick_lease to create--><path d="M577.81,1604.4592 C670.26,1627.3992 866.3,1676.0292 973.39,1702.5992 " fill="none" id="pick_lease->create" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="978.42,1703.8492,970.6421,1697.8074,973.5659,1702.65,968.7233,1705.5738,978.42,1703.8492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="849" y="1670.4276">no lease</text><!--MD5=[64e111b9225aa9d21cd5edaf123c77e3]
|
||||
link create to old_lease--><path d="M1027.36,1740.0192 C1009.53,1757.5992 986,1786.6992 986,1817.8592 C986,1817.8592 986,1817.8592 986,2110.8592 C986,2170.8492 921.44,2208.5092 870.75,2228.8292 " fill="none" id="create->old_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="865.89,2230.7392,875.7293,2231.1732,870.5441,2228.9118,872.8055,2223.7267,865.89,2230.7392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f504166a5b4bb527b5be2231a925b659]
|
||||
link old_lease to return--><path d="M811,2267.0192 C811,2286.5992 811,2318.6892 811,2340.2892 " fill="none" id="old_lease->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="811,2345.5392,815,2336.5392,811,2340.5392,807,2336.5392,811,2345.5392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1b4d46ef90f054326099bee1d7a95d46]
|
||||
@startuml
|
||||
|
||||
title Allocate a lease for DHCPREQUEST (Kea 1.8.0)
|
||||
|
||||
agent "Find client lease" as findClientLease
|
||||
note right : entry point
|
||||
|
||||
agent "Check requested reservation" as addressReserved
|
||||
|
||||
agent "Get reservation" as hasAddressReservation
|
||||
|
||||
agent "Update requested address" as update_hint
|
||||
|
||||
rectangle "Check requested address" as check_hint {
|
||||
rectangle "Get lease for requested address" as get_existing {
|
||||
agent "Check requested lease" as existing
|
||||
}
|
||||
|
||||
agent "Check lease for reserved address" as getReservedLease
|
||||
|
||||
agent "Check out-of-pool address" as out_of_pool
|
||||
}
|
||||
|
||||
rectangle "Check client lease" as check_done {
|
||||
agent "Check renew" as client_lease
|
||||
}
|
||||
|
||||
rectangle "Allocate a new lease" as new_lease {
|
||||
together {
|
||||
rectangle "Allocate or reuse lease" as allocateOrReuseLease4 {
|
||||
agent "Get candidate lease" as candidate
|
||||
|
||||
agent "Reuse expired lease" as reuseExpiredLease4
|
||||
|
||||
agent "Reclaim expired lease" as reclaimExpiredLease
|
||||
|
||||
agent "update lease information" as updateLease4Information
|
||||
|
||||
agent "Callout lease4_select" as lease4_select
|
||||
note right : hook
|
||||
|
||||
agent "Update lease" as updateLease4
|
||||
}
|
||||
|
||||
rectangle "Allocate unreserved lease" as allocateUnreservedLease4 {
|
||||
agent "Iterate pools and subnets" as iterate
|
||||
|
||||
agent "Pick address" as pick
|
||||
|
||||
agent "Check reserved addressed" as pick_reserved
|
||||
|
||||
agent "Check already in use by another thread" as mt_in_use
|
||||
|
||||
agent "Check lease" as pick_lease
|
||||
}
|
||||
}
|
||||
|
||||
agent "Create a new lease" as create
|
||||
|
||||
agent "Delete old lease" as old_lease
|
||||
}
|
||||
|
||||
agent "Return no lease" as no_lease
|
||||
note right : exit point
|
||||
|
||||
agent "Return renewed lease" as renew
|
||||
note right : exit point
|
||||
|
||||
agent "Return lease" as return
|
||||
note right : exit point
|
||||
|
||||
findClientLease - -> addressReserved : has requested address (hint)
|
||||
findClientLease - -> hasAddressReservation : no requested address (hint)
|
||||
addressReserved - -> check_hint : no conflicting reservation
|
||||
addressReserved - -> no_lease : reservation owned by another client
|
||||
hasAddressReservation -> update_hint : has a reservation
|
||||
update_hint - -> check_hint : request reserved address
|
||||
hasAddressReservation - -> check_done : no reservation
|
||||
check_hint - -> get_existing
|
||||
get_existing - -> existing : has requested lease
|
||||
existing - - -> no_lease : not expired lease owned by another client
|
||||
get_existing - -> out_of_pool : no reservation
|
||||
get_existing - -> out_of_pool : has requested reservation
|
||||
get_existing - -> getReservedLease : has reservation for another address
|
||||
getReservedLease - - -> no_lease : no active reserved lease
|
||||
getReservedLease - -> out_of_pool
|
||||
out_of_pool - -> check_done : owned reservation for the requested address
|
||||
out_of_pool - -> check_done : requested address is in allowed an pool
|
||||
out_of_pool - -> no_lease : address not reserved and not in allowed pool
|
||||
check_done - -> client_lease : has a client lease
|
||||
client_lease -> renew : requested address was already assigned to the client
|
||||
client_lease - -> new_lease
|
||||
new_lease - -> allocateOrReuseLease4 : has a requested address
|
||||
new_lease - -> allocateUnreservedLease4 : no requested address
|
||||
allocateOrReuseLease4 - -> candidate
|
||||
candidate - -> reuseExpiredLease4 : expired candidate lease
|
||||
candidate - -> no_lease : conflicting candidate lease
|
||||
candidate - -> create : no candidate lease
|
||||
reuseExpiredLease4 - -> reclaimExpiredLease
|
||||
reclaimExpiredLease - -> updateLease4Information
|
||||
updateLease4Information - -> lease4_select
|
||||
lease4_select - - -> no_lease : SKIP
|
||||
lease4_select - -> updateLease4
|
||||
updateLease4 - -> old_lease
|
||||
allocateUnreservedLease4 - -> iterate
|
||||
iterate - -> pick
|
||||
pick - -> pick_reserved
|
||||
pick_reserved -up-> iterate : address reserved to another client
|
||||
pick_reserved - -> mt_in_use
|
||||
mt_in_use -up-> iterate : address already in use by another thread
|
||||
mt_in_use - -> pick_lease
|
||||
pick_lease -up-> iterate : active lease
|
||||
pick_lease - -> reuseExpiredLease4 : expired lease
|
||||
pick_lease - -> create : no lease
|
||||
create - -> old_lease
|
||||
old_lease - -> return
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="2463px" preserveAspectRatio="none" style="width:2209px;height:2463px;background:#FFFFFF;" version="1.1" viewBox="0 0 2209 2463" width="2209px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="312" x="941.5" y="24.9659">Allocate a lease for DHCPREQUEST (Kea 1.8.0)</text>
|
||||
<!--cluster check_hint-->
|
||||
<g id="cluster_check_hint">
|
||||
<rect fill="none" height="392.85" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="926" x="903" y="277.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="174" x="1279" y="294.1739">Check requested address</text>
|
||||
</g>
|
||||
<!--cluster get_existing-->
|
||||
<g id="cluster_get_existing">
|
||||
<rect fill="none" height="172.92" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="235" x="1554" y="379.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="219" x="1562" y="396.0339">Get lease for requested address</text>
|
||||
</g>
|
||||
<!--cluster check_done-->
|
||||
<g id="cluster_check_done">
|
||||
<rect fill="none" height="172.93" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="154" x="447" y="737.0579"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="123" x="462.5" y="754.0239">Check client lease</text>
|
||||
</g>
|
||||
<!--cluster new_lease-->
|
||||
<g id="cluster_new_lease">
|
||||
<rect fill="none" height="1404.29" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="1087" x="7" y="958.9879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="140" x="480.5" y="975.9539">Allocate a new lease</text>
|
||||
</g>
|
||||
<!--cluster allocateOrReuseLease4-->
|
||||
<g id="cluster_allocateOrReuseLease4">
|
||||
<rect fill="none" height="710.3" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="293" x="55" y="1526.9079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="156" x="123.5" y="1543.8739">Allocate or reuse lease</text>
|
||||
</g>
|
||||
<!--cluster allocateUnreservedLease4-->
|
||||
<g id="cluster_allocateUnreservedLease4">
|
||||
<rect fill="none" height="614.02" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="502" x="388" y="1086.8479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="177" x="550.5" y="1103.8139">Allocate unreserved lease</text>
|
||||
</g>
|
||||
<!--entity getReservedLease-->
|
||||
<g id="elem_getReservedLease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="243" x="1086.5" y="488.9279"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="223" x="1096.5" y="513.8939">Check lease for reserved address</text>
|
||||
</g>
|
||||
<!--entity out_of_pool-->
|
||||
<g id="elem_out_of_pool">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="196" x="973" y="606.9879"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="176" x="983" y="631.9539">Check out-of-pool address</text>
|
||||
</g>
|
||||
<!--entity existing-->
|
||||
<g id="elem_existing">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="172" x="1593" y="488.9279"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="152" x="1603" y="513.8939">Check requested lease</text>
|
||||
</g>
|
||||
<!--entity client_lease-->
|
||||
<g id="elem_client_lease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="106" x="471" y="846.9179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="481" y="871.8839">Check renew</text>
|
||||
</g>
|
||||
<!--entity create-->
|
||||
<g id="elem_create">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="147" x="922.5" y="1773.8679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="127" x="932.5" y="1798.8339">Create a new lease</text>
|
||||
</g>
|
||||
<!--entity old_lease-->
|
||||
<g id="elem_old_lease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="127" x="703.5" y="2300.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="713.5" y="2325.1739">Delete old lease</text>
|
||||
</g>
|
||||
<!--entity candidate-->
|
||||
<g id="elem_candidate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="153" x="166.5" y="1637.8079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="176.5" y="1662.7739">Get candidate lease</text>
|
||||
</g>
|
||||
<!--entity reuseExpiredLease4-->
|
||||
<g id="elem_reuseExpiredLease4">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="155" x="104.5" y="1773.8679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="114.5" y="1798.8339">Reuse expired lease</text>
|
||||
</g>
|
||||
<!--entity reclaimExpiredLease-->
|
||||
<g id="elem_reclaimExpiredLease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="167" x="97.5" y="1873.9379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="147" x="107.5" y="1898.9039">Reclaim expired lease</text>
|
||||
</g>
|
||||
<!--entity updateLease4Information-->
|
||||
<g id="elem_updateLease4Information">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="190" x="81" y="1974.0079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="170" x="91" y="1998.9739">update lease information</text>
|
||||
</g>
|
||||
<!--entity lease4_select-->
|
||||
<g id="elem_lease4_select">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="159" x="78.5" y="2074.0779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="88.5" y="2099.0439">Callout lease4_select</text>
|
||||
</g>
|
||||
<g id="elem_GMN23">
|
||||
<path d="M272,2079.7579 L272,2089.6079 L237.84,2093.6079 L272,2097.6079 L272,2107.4639 A0,0 0 0 0 272,2107.4639 L324,2107.4639 A0,0 0 0 0 324,2107.4639 L324,2089.7579 L314,2079.7579 L272,2079.7579 A0,0 0 0 0 272,2079.7579 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M314,2079.7579 L314,2089.7579 L324,2089.7579 L314,2079.7579 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="31" x="278" y="2098.6549">hook</text>
|
||||
</g>
|
||||
<!--entity updateLease4-->
|
||||
<g id="elem_updateLease4">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="108" x="188" y="2174.1479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="198" y="2199.1139">Update lease</text>
|
||||
</g>
|
||||
<!--entity iterate-->
|
||||
<g id="elem_iterate">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="193" x="426.5" y="1178.7079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173" x="436.5" y="1203.6739">Iterate pools and subnets</text>
|
||||
</g>
|
||||
<!--entity pick-->
|
||||
<g id="elem_pick">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="104" x="486" y="1296.7779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="496" y="1321.7439">Pick address</text>
|
||||
</g>
|
||||
<!--entity pick_reserved-->
|
||||
<g id="elem_pick_reserved">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="198" x="607" y="1414.8379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="178" x="617" y="1439.8039">Check reserved addressed</text>
|
||||
</g>
|
||||
<!--entity mt_in_use-->
|
||||
<g id="elem_mt_in_use">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="285" x="482.5" y="1537.7379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="265" x="492.5" y="1562.7039">Check already in use by another thread</text>
|
||||
</g>
|
||||
<!--entity pick_lease-->
|
||||
<g id="elem_pick_lease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="99" x="451.5" y="1637.8079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="461.5" y="1662.7739">Check lease</text>
|
||||
</g>
|
||||
<!--entity findClientLease-->
|
||||
<g id="elem_findClientLease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="129" x="1335.5" y="47.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="1345.5" y="72.0339">Find client lease</text>
|
||||
</g>
|
||||
<g id="elem_GMN3">
|
||||
<path d="M1500,52.7479 L1500,62.5979 L1464.97,66.5979 L1500,70.5979 L1500,80.4539 A0,0 0 0 0 1500,80.4539 L1588,80.4539 A0,0 0 0 0 1588,80.4539 L1588,62.7479 L1578,52.7479 L1500,52.7479 A0,0 0 0 0 1500,52.7479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1578,52.7479 L1578,62.7479 L1588,62.7479 L1578,52.7479 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="67" x="1506" y="71.6449">entry point</text>
|
||||
</g>
|
||||
<!--entity addressReserved-->
|
||||
<g id="elem_addressReserved">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="213" x="1564.5" y="165.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="193" x="1574.5" y="190.1039">Check requested reservation</text>
|
||||
</g>
|
||||
<!--entity hasAddressReservation-->
|
||||
<g id="elem_hasAddressReservation">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="123" x="1068.5" y="165.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="1078.5" y="190.1039">Get reservation</text>
|
||||
</g>
|
||||
<!--entity update_hint-->
|
||||
<g id="elem_update_hint">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="200" x="1330" y="165.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="180" x="1340" y="190.1039">Update requested address</text>
|
||||
</g>
|
||||
<!--entity no_lease-->
|
||||
<g id="elem_no_lease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="126" x="1382" y="2300.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="1392" y="2325.1739">Return no lease</text>
|
||||
</g>
|
||||
<g id="elem_GMN36">
|
||||
<path d="M1543,2305.8979 L1543,2315.7479 L1508.42,2319.7479 L1543,2323.7479 L1543,2333.6039 A0,0 0 0 0 1543,2333.6039 L1621,2333.6039 A0,0 0 0 0 1621,2333.6039 L1621,2315.8979 L1611,2305.8979 L1543,2305.8979 A0,0 0 0 0 1543,2305.8979 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1611,2305.8979 L1611,2315.8979 L1621,2315.8979 L1611,2305.8979 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="1549" y="2324.7949">exit point</text>
|
||||
</g>
|
||||
<!--entity renew-->
|
||||
<g id="elem_renew">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="168" x="927" y="846.9179"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="148" x="937" y="871.8839">Return renewed lease</text>
|
||||
</g>
|
||||
<g id="elem_GMN40">
|
||||
<path d="M1130,852.5979 L1130,862.4479 L1095.25,866.4479 L1130,870.4479 L1130,880.3039 A0,0 0 0 0 1130,880.3039 L1208,880.3039 A0,0 0 0 0 1208,880.3039 L1208,862.5979 L1198,852.5979 L1130,852.5979 A0,0 0 0 0 1130,852.5979 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M1198,852.5979 L1198,862.5979 L1208,862.5979 L1198,852.5979 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="1136" y="871.4949">exit point</text>
|
||||
</g>
|
||||
<!--entity return-->
|
||||
<g id="elem_return">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="105" x="714.5" y="2418.2779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="724.5" y="2443.2439">Return lease</text>
|
||||
</g>
|
||||
<g id="elem_GMN44">
|
||||
<path d="M854,2423.9579 L854,2433.8179 L819.66,2437.8179 L854,2441.8179 L854,2451.6639 A0,0 0 0 0 854,2451.6639 L932,2451.6639 A0,0 0 0 0 932,2451.6639 L932,2433.9579 L922,2423.9579 L854,2423.9579 A0,0 0 0 0 854,2423.9579 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M922,2423.9579 L922,2433.9579 L932,2433.9579 L922,2423.9579 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="860" y="2442.8549">exit point</text>
|
||||
</g>
|
||||
<!--link findClientLease to addressReserved-->
|
||||
<g id="link_findClientLease_addressReserved">
|
||||
<path d="M1444.14,86.5079 C1492.67,107.2879 1570.45,140.6079 1621.14,162.3179 " fill="none" id="findClientLease-to-addressReserved" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1625.48,164.1779,1618.7834,156.9561,1620.8843,162.2083,1615.632,164.3092,1625.48,164.1779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="170" x="1552" y="131.0349">has requested address (hint)</text>
|
||||
</g>
|
||||
<!--link findClientLease to hasAddressReservation-->
|
||||
<g id="link_findClientLease_hasAddressReservation">
|
||||
<path d="M1356.02,86.5079 C1307.67,107.2879 1230.18,140.6079 1179.68,162.3179 " fill="none" id="findClientLease-to-hasAddressReservation" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1175.35,164.1679,1185.198,164.2992,1179.9457,162.1983,1182.0466,156.9461,1175.35,164.1679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="1282" y="131.0349">no requested address (hint)</text>
|
||||
</g>
|
||||
<!--link addressReserved to check_hint-->
|
||||
<g id="link_addressReserved_check_hint">
|
||||
<path d="M1653.97,204.5579 C1638.88,221.2929 1616.365,246.2654 1597.3888,267.3129 C1595.0167,269.9439 1592.7,272.5135 1590.4599,274.998 C1589.8999,275.6191 1589.3447,276.2349 1588.7946,276.8451 " fill="none" id="addressReserved-to-check_hint" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1588.7946,276.8451,1597.792,272.8392,1592.1427,273.1315,1591.8504,267.4822,1588.7946,276.8451" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="152" x="1627" y="249.1049">no conflicting reservation</text>
|
||||
</g>
|
||||
<!--link addressReserved to no_lease-->
|
||||
<g id="link_addressReserved_no_lease">
|
||||
<path d="M1771.76,204.6379 C1863.26,224.8279 1984,260.2479 1984,306.5679 C1984,306.5679 1984,306.5679 1984,2194.6779 C1984,2299.1179 1627.93,2277.4479 1526,2300.2079 C1522.21,2301.0579 1518.33,2301.9279 1514.4,2302.8179 " fill="none" id="addressReserved-to-no_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1509.69,2303.8779,1519.3488,2305.8034,1514.5679,2302.7797,1517.5916,2297.9988,1509.69,2303.8779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="216" x="1985" y="1262.6749">reservation owned by another client</text>
|
||||
</g>
|
||||
<!--link hasAddressReservation to update_hint-->
|
||||
<g id="link_hasAddressReservation_update_hint">
|
||||
<path d="M1191.8,184.6679 C1229.64,184.6679 1279.11,184.6679 1323.15,184.6679 " fill="none" id="hasAddressReservation-to-update_hint" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1328.09,184.6679,1319.09,180.6679,1323.09,184.6679,1319.09,188.6679,1328.09,184.6679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102" x="1209.75" y="177.5649">has a reservation</text>
|
||||
</g>
|
||||
<!--link update_hint to check_hint-->
|
||||
<g id="link_update_hint_check_hint">
|
||||
<path d="M1432.09,204.5379 C1434.6,219.2979 1440.09,239.5379 1452,253.2079 C1456.3938,258.2467 1461.3717,262.8532 1466.7236,267.0577 C1469.3996,269.1599 1472.169,271.1616 1475.0056,273.0665 C1476.4239,274.019 1477.859,274.9473 1479.3077,275.8518 C1480.032,276.3041 1480.7597,276.7505 1481.4903,277.1909 " fill="none" id="update_hint-to-check_hint" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1481.4903,277.1909,1475.8477,269.1187,1477.2082,274.6095,1471.7174,275.97,1481.4903,277.1909" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="151" x="1453" y="249.1049">request reserved address</text>
|
||||
</g>
|
||||
<!--link hasAddressReservation to check_done-->
|
||||
<g id="link_hasAddressReservation_check_done">
|
||||
<path d="M1068.19,186.7879 C928,191.0079 598,211.0779 598,306.5679 C598,306.5679 598,306.5679 598,627.5279 C598,657.9279 596.79,692.0479 595.56,718.8617 C595.4063,722.2134 595.2522,725.4509 595.1001,728.5528 C595.0241,730.1037 594.9486,731.6207 594.8739,733.1011 C594.8365,733.8413 594.7993,734.5724 594.7624,735.2939 C594.7439,735.6547 594.7255,736.0131 594.7072,736.3691 C594.698,736.5471 594.6889,736.7245 594.6797,736.9013 " fill="none" id="hasAddressReservation-to-check_done" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="594.6797,736.9013,599.1391,728.1198,594.9379,731.9079,591.1497,727.7067,594.6797,736.9013" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="599" y="454.8249">no reservation</text>
|
||||
</g>
|
||||
<!--link check_hint to get_existing-->
|
||||
<g id="link_check_hint_get_existing">
|
||||
<path d="M1562,308.3479 C1562,311.2479 1562,335.5354 1562,359.4554 C1562,365.4354 1562,371.3924 1562,376.9866 C1562,377.6859 1562,378.3795 1562,379.0667 " fill="none" id="check_hint-to-get_existing" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1562,379.0667,1566,370.0667,1562,374.0667,1558,370.0667,1562,379.0667" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link get_existing to existing-->
|
||||
<g id="link_get_existing_existing">
|
||||
<path d="M1562.34,410.1979 C1566.97,414.0679 1618.62,457.1179 1651.62,484.6279 " fill="none" id="get_existing-to-existing" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1655.18,487.5979,1650.8235,478.765,1651.3377,484.3984,1645.7043,484.9126,1655.18,487.5979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="118" x="1621" y="454.8249">has requested lease</text>
|
||||
</g>
|
||||
<!--link existing to no_lease-->
|
||||
<g id="link_existing_no_lease">
|
||||
<path d="M1679,528.3579 C1679,551.3279 1679,591.2679 1679,625.5279 C1679,625.5279 1679,625.5279 1679,2194.6779 C1679,2232.9179 1580.23,2273.8379 1511.02,2297.8179 " fill="none" id="existing-to-no_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1506.69,2299.3079,1516.502,2300.1591,1511.4175,2297.6797,1513.8969,2292.5952,1506.69,2299.3079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="250" x="1680" y="1439.7749">not expired lease owned by another client</text>
|
||||
</g>
|
||||
<!--link get_existing to out_of_pool-->
|
||||
<g id="link_get_existing_out_of_pool">
|
||||
<path d="M1553.7013,410.1388 C1553.4182,410.1466 1553.1282,410.1547 1552.8314,410.163 C1548.0828,410.296 1541.5925,410.4854 1533.6022,410.7367 C1517.6218,411.2395 1495.6421,411.9901 1469.5986,413.0329 C1417.5116,415.1185 1349.1694,418.3729 1280.0562,423.1504 C1141.83,432.7054 1000.52,448.3529 980,472.9279 C952.92,505.3579 959.61,530.9779 980,567.9879 C988.27,583.0079 1002.3,594.6479 1016.9,603.4079 " fill="none" id="get_existing-to-out_of_pool" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1020.98,605.7579,1015.187,597.7929,1016.6503,603.2572,1011.1859,604.7205,1020.98,605.7579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="981" y="513.8549">no reservation</text>
|
||||
</g>
|
||||
<!--link get_existing to out_of_pool-->
|
||||
<g id="link_get_existing_out_of_pool">
|
||||
<path d="M1553.7208,411.9855 C1553.6146,412.0133 1553.5076,412.0414 1553.3996,412.0698 C1553.1837,412.1266 1552.9642,412.1845 1552.7411,412.2435 C1551.8486,412.4797 1550.8989,412.7341 1549.8951,413.0069 C1547.8877,413.5524 1545.6642,414.1711 1543.2506,414.8639 C1533.5963,417.6348 1520.9,421.5892 1506.82,426.7704 C1478.66,437.1329 1444.965,452.4029 1419,472.9279 C1377.42,505.7879 1391.79,539.6579 1347,567.9879 C1296.02,600.2479 1230.15,614.7779 1175.55,621.1779 " fill="none" id="get_existing-to-out_of_pool-1" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1170.79,621.7079,1180.1795,624.6807,1175.7589,621.1511,1179.2885,616.7305,1170.79,621.7079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="156" x="1420" y="513.8549">has requested reservation</text>
|
||||
</g>
|
||||
<!--link get_existing to getReservedLease-->
|
||||
<g id="link_get_existing_getReservedLease">
|
||||
<path d="M1553.4552,409.9078 C1552.9981,409.9078 1552.5239,409.908 1552.0329,409.9083 C1551.0509,409.9088 1550.0018,409.9097 1548.8879,409.9113 C1546.6601,409.9143 1544.1733,409.9196 1541.4469,409.9281 C1530.5414,409.9623 1515.8032,410.0482 1498.477,410.249 C1463.8247,410.6507 1418.8206,411.5123 1373.4238,413.3392 C1282.63,416.9929 1190.265,424.5079 1176,439.9279 C1164.54,452.3079 1172.98,469.5379 1184.06,483.4879 " fill="none" id="get_existing-to-getReservedLease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1187.26,487.3079,1184.5539,477.8381,1184.0521,483.4727,1178.4175,482.9708,1187.26,487.3079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="213" x="1177" y="454.8249">has reservation for another address</text>
|
||||
</g>
|
||||
<!--link getReservedLease to no_lease-->
|
||||
<g id="link_getReservedLease_no_lease">
|
||||
<path d="M1250.44,528.4779 C1323.43,561.2179 1465,624.7979 1465,625.5279 C1465,625.5279 1465,625.5279 1465,1376.3379 C1465,1412.8479 1470.29,1424.5679 1492,1453.9079 C1505.43,1472.0579 1519.93,1465.4979 1533,1483.9079 C1552.45,1511.3279 1555,1522.6579 1555,1556.2679 C1555,1556.2679 1555,1556.2679 1555,2194.6779 C1555,2238.8979 1515.39,2274.7179 1483.71,2296.3079 " fill="none" id="getReservedLease-to-no_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1479.56,2299.0679,1489.2673,2297.4038,1483.7203,2296.2944,1484.8297,2290.7474,1479.56,2299.0679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="142" x="1493" y="1439.7749">no active reserved lease</text>
|
||||
</g>
|
||||
<!--link getReservedLease to out_of_pool-->
|
||||
<g id="link_getReservedLease_out_of_pool">
|
||||
<path d="M1185.68,528.3679 C1161.8,548.5979 1123.9,580.7079 1098.26,602.4279 " fill="none" id="getReservedLease-to-out_of_pool" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1094.46,605.6479,1103.9138,602.8864,1098.2764,602.4176,1098.7452,596.7802,1094.46,605.6479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link out_of_pool to check_done-->
|
||||
<g id="link_out_of_pool_check_done">
|
||||
<path d="M1042.32,646.4379 C1011.08,666.1379 959,696.4079 910,713.0579 C843.42,735.6829 765.5875,748.9629 703.7075,756.6167 C672.7675,760.4435 645.8156,762.8639 626.2525,764.3424 C616.4709,765.0817 608.5366,765.5856 602.8745,765.9122 C602.5206,765.9326 602.1756,765.9523 601.8395,765.9713 C601.6715,765.9808 601.5058,765.9902 601.3422,765.9994 " fill="none" id="out_of_pool-to-check_done" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="601.3422,765.9994,610.5523,769.4885,606.3344,765.719,610.1038,761.5011,601.3422,765.9994" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="269" x="957" y="708.9549">owned reservation for the requested address</text>
|
||||
</g>
|
||||
<!--link out_of_pool to check_done-->
|
||||
<g id="link_out_of_pool_check_done">
|
||||
<path d="M972.77,636.7379 C870.54,647.5379 718.2,667.4179 666,694.0579 C646.29,704.1179 628.5475,721.4104 615.49,736.5679 C612.2256,740.3573 609.2541,744.0132 606.6178,747.3894 C605.2996,749.0774 604.0653,750.6955 602.9201,752.2254 C602.3475,752.9903 601.7972,753.7332 601.2698,754.4517 C601.2039,754.5416 601.1383,754.631 601.0731,754.72 " fill="none" id="out_of_pool-to-check_done-1" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="601.0731,754.72,609.6174,749.8216,604.027,750.6859,603.1627,745.0954,601.0731,754.72" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="234" x="667" y="708.9549">requested address is in allowed an pool</text>
|
||||
</g>
|
||||
<!--link out_of_pool to no_lease-->
|
||||
<g id="link_out_of_pool_no_lease">
|
||||
<path d="M1154.92,646.5479 C1183.44,656.5979 1213.5,671.6779 1235,694.0579 C1258.67,718.7079 1261,732.2479 1261,766.4179 C1261,766.4179 1261,766.4179 1258,1494.4079 C1258,1740.6479 1335,1796.8379 1335,2043.0779 C1335,2043.0779 1335,2043.0779 1335,2194.6779 C1335,2238.8979 1374.61,2274.7179 1406.29,2296.3079 " fill="none" id="out_of_pool-to-no_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1410.44,2299.0679,1405.1703,2290.7474,1406.2797,2296.2944,1400.7327,2297.4038,1410.44,2299.0679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="269" x="1262" y="1498.8049">address not reserved and not in allowed pool</text>
|
||||
</g>
|
||||
<!--link check_done to client_lease-->
|
||||
<g id="link_check_done_client_lease">
|
||||
<path d="M592.8,768.1979 C590.1,772.0079 560.44,813.9479 540.95,841.4879 " fill="none" id="check_done-to-client_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="538.08,845.5579,546.5477,840.5282,540.9713,841.4786,540.0209,835.9022,538.08,845.5579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="572" y="812.8149">has a client lease</text>
|
||||
</g>
|
||||
<!--link client_lease to renew-->
|
||||
<g id="link_client_lease_renew">
|
||||
<path d="M577.04,866.4479 C659.51,866.4479 819.44,866.4479 920.42,866.4479 " fill="none" id="client_lease-to-renew" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="925.18,866.4479,916.18,862.4479,920.18,866.4479,916.18,870.4479,925.18,866.4479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="314" x="595" y="859.3449">requested address was already assigned to the client</text>
|
||||
</g>
|
||||
<!--link client_lease to new_lease-->
|
||||
<g id="link_client_lease_new_lease">
|
||||
<path d="M523.84,886.3379 C523.705,903.0729 523.5,928.0454 523.3263,949.0929 C523.3045,951.7239 523.2833,954.2935 523.2628,956.778 C523.2576,957.3991 523.2525,958.0149 523.2475,958.6251 " fill="none" id="client_lease-to-new_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="523.2475,958.6251,527.3218,949.6585,523.2888,953.6252,519.3221,949.5923,523.2475,958.6251" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link new_lease to allocateOrReuseLease4-->
|
||||
<g id="link_new_lease_allocateOrReuseLease4">
|
||||
<path d="M522.5,989.9379 C508.82,992.3279 217,1044.3579 217,1116.2079 C217,1116.2079 217,1116.2079 217,1435.3779 C217,1462.0279 220.6325,1491.7304 224.3225,1515.0242 C224.7838,1517.9359 225.2459,1520.7475 225.702,1523.4404 C225.816,1524.1137 225.9296,1524.7795 226.0428,1525.4376 C226.0993,1525.7667 226.1558,1526.0938 226.2121,1526.419 C226.2403,1526.5816 226.2684,1526.7437 226.2965,1526.9053 " fill="none" id="new_lease-to-allocateOrReuseLease4" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="226.2965,1526.9053,228.6962,1517.3533,225.4403,1521.9791,220.8144,1518.7232,226.2965,1526.9053" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="145" x="218" y="1262.6749">has a requested address</text>
|
||||
</g>
|
||||
<!--link new_lease to allocateUnreservedLease4-->
|
||||
<g id="link_new_lease_allocateUnreservedLease4">
|
||||
<path d="M523,989.9379 C523,991.8229 523,1022.4404 523,1053.0504 C523,1060.7029 523,1068.3549 523,1075.5574 C523,1079.1587 523,1082.6476 523,1085.9679 C523,1086.1754 523,1086.3823 523,1086.5885 " fill="none" id="new_lease-to-allocateUnreservedLease4" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="523,1086.5885,527,1077.5885,523,1081.5885,519,1077.5885,523,1086.5885" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="130" x="524" y="1034.7449">no requested address</text>
|
||||
</g>
|
||||
<!--link allocateOrReuseLease4 to candidate-->
|
||||
<g id="link_allocateOrReuseLease4_candidate">
|
||||
<path d="M232.01,1558.3379 C232.23,1560.3179 237.01,1602.9479 240.19,1631.3279 " fill="none" id="allocateOrReuseLease4-to-candidate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="240.72,1635.9879,243.6928,1626.5984,240.1631,1631.019,235.7425,1627.4894,240.72,1635.9879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link candidate to reuseExpiredLease4-->
|
||||
<g id="link_candidate_reuseExpiredLease4">
|
||||
<path d="M234.39,1677.2579 C223.58,1701.0179 205.02,1741.8079 193.14,1767.9179 " fill="none" id="candidate-to-reuseExpiredLease4" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="191.19,1772.1979,198.5557,1765.6598,193.259,1767.6461,191.2728,1762.3494,191.19,1772.1979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="140" x="214" y="1739.7649">expired candidate lease</text>
|
||||
</g>
|
||||
<!--link candidate to no_lease-->
|
||||
<g id="link_candidate_no_lease">
|
||||
<path d="M281.19,1677.3079 C311.49,1691.2679 355.35,1709.1179 396,1716.8679 C414.83,1720.4679 1069.57,1715.0079 1086,1724.8679 C1115.34,1742.4879 1123,1758.1779 1123,1792.4079 C1123,1792.4079 1123,1792.4079 1123,2194.6779 C1123,2248.3879 1280.98,2287.7279 1375.63,2306.4779 " fill="none" id="candidate-to-no_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1380.28,2307.3879,1372.2107,2301.7411,1375.3722,2306.432,1370.6813,2309.5936,1380.28,2307.3879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="157" x="1124" y="1998.9349">conflicting candidate lease</text>
|
||||
</g>
|
||||
<!--link candidate to create-->
|
||||
<g id="link_candidate_create">
|
||||
<path d="M283.96,1677.3279 C314.26,1690.5579 356.88,1707.4379 396,1716.8679 C428.16,1724.6279 437.15,1720.9879 470,1724.8679 C628.07,1743.5579 812.53,1767.8079 915.65,1781.5779 " fill="none" id="candidate-to-create" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="920.51,1782.2279,912.1137,1777.0799,915.5534,1781.5708,911.0624,1785.0105,920.51,1782.2279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="111" x="616" y="1739.7649">no candidate lease</text>
|
||||
</g>
|
||||
<!--link reuseExpiredLease4 to reclaimExpiredLease-->
|
||||
<g id="link_reuseExpiredLease4_reclaimExpiredLease">
|
||||
<path d="M181.81,1813.3179 C181.65,1828.6479 181.43,1850.3879 181.26,1867.2079 " fill="none" id="reuseExpiredLease4-to-reclaimExpiredLease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="181.21,1872.1079,185.3126,1863.1542,181.2671,1867.1082,177.3131,1863.0628,181.21,1872.1079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link reclaimExpiredLease to updateLease4Information-->
|
||||
<g id="link_reclaimExpiredLease_updateLease4Information">
|
||||
<path d="M180.04,1913.3779 C179.25,1928.7179 178.15,1950.4579 177.29,1967.2779 " fill="none" id="reclaimExpiredLease-to-updateLease4Information" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="177.04,1972.1779,181.4983,1963.3959,177.2975,1967.1846,173.5089,1962.9838,177.04,1972.1779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link updateLease4Information to lease4_select-->
|
||||
<g id="link_updateLease4Information_lease4_select">
|
||||
<path d="M172.53,2013.4479 C169.69,2028.9179 165.65,2050.9079 162.56,2067.7979 " fill="none" id="updateLease4Information-to-lease4_select" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="161.73,2072.2679,167.2817,2064.1329,162.6282,2067.3493,159.4118,2062.6958,161.73,2072.2679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link lease4_select to no_lease-->
|
||||
<g id="link_lease4_select_no_lease">
|
||||
<path d="M237.86,2110.8479 C399.58,2143.4479 777.6,2218.1779 1097,2270.2079 C1193.29,2285.8979 1305.08,2300.9279 1375.43,2309.9979 " fill="none" id="lease4_select-to-no_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1380.18,2310.6079,1371.7692,2305.4837,1375.2215,2309.9649,1370.7403,2313.4172,1380.18,2310.6079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="27" x="1041" y="2199.0749">SKIP</text>
|
||||
</g>
|
||||
<!--link lease4_select to updateLease4-->
|
||||
<g id="link_lease4_select_updateLease4">
|
||||
<path d="M168.99,2113.1879 C175.01,2122.7879 182.89,2134.4979 191,2144.1479 C198.43,2152.9879 207.33,2161.9179 215.59,2169.6579 " fill="none" id="lease4_select-to-updateLease4" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="218.99,2172.8079,215.1045,2163.7579,215.3215,2169.4106,209.6688,2169.6276,218.99,2172.8079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link updateLease4 to old_lease-->
|
||||
<g id="link_updateLease4_old_lease">
|
||||
<path d="M252.95,2213.5979 C263.06,2229.1579 279.56,2250.3579 300,2261.2079 C367.18,2296.8879 583.75,2311.1079 696.81,2316.2079 " fill="none" id="updateLease4-to-old_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="701.6,2316.4179,692.7795,2312.0362,696.6046,2316.2038,692.437,2320.0289,701.6,2316.4179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link allocateUnreservedLease4 to iterate-->
|
||||
<g id="link_allocateUnreservedLease4_iterate">
|
||||
<path d="M523,1117.9379 C523,1120.7879 523,1149.8079 523,1171.9279 " fill="none" id="allocateUnreservedLease4-to-iterate" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="523,1176.7279,527,1167.7279,523,1171.7279,519,1167.7279,523,1176.7279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link iterate to pick-->
|
||||
<g id="link_iterate_pick">
|
||||
<path d="M525.44,1218.1479 C527.97,1237.7079 531.93,1268.3679 534.73,1290.0079 " fill="none" id="iterate-to-pick" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="535.36,1294.9079,538.1693,1285.4682,534.717,1289.9494,530.2358,1286.4971,535.36,1294.9079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link pick to pick_reserved-->
|
||||
<g id="link_pick_pick_reserved">
|
||||
<path d="M590.31,1329.7379 C635.21,1340.9179 693.8,1356.8979 701,1365.8379 C710.4,1377.5179 711.67,1394.3079 710.59,1408.2279 " fill="none" id="pick-to-pick_reserved" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="710.1,1412.8879,715.0049,1404.3473,710.6145,1407.9145,707.0473,1403.5241,710.1,1412.8879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--reverse link iterate to pick_reserved-->
|
||||
<g id="link_iterate_pick_reserved">
|
||||
<path d="M563.34,1221.4079 C608.29,1248.6779 678.52,1299.6279 708,1365.8379 C714.82,1381.1679 713.4,1400.4479 710.81,1414.4779 " fill="none" id="iterate-backto-pick_reserved" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="559.28,1218.9779,564.9395,1227.0384,563.5675,1221.5504,569.0554,1220.1784,559.28,1218.9779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="204" x="691" y="1321.7049">address reserved to another client</text>
|
||||
</g>
|
||||
<!--link pick_reserved to mt_in_use-->
|
||||
<g id="link_pick_reserved_mt_in_use">
|
||||
<path d="M693.34,1454.2679 C679.26,1475.2879 656.46,1509.3179 641.11,1532.2279 " fill="none" id="pick_reserved-to-mt_in_use" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="638.41,1536.2579,646.743,1531.008,641.1934,1532.1043,640.0972,1526.5546,638.41,1536.2579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--reverse link iterate to mt_in_use-->
|
||||
<g id="link_iterate_mt_in_use">
|
||||
<path d="M499.34,1222.9279 C465.42,1259.8279 410.87,1332.2379 447,1384.8379 C468.03,1415.4579 495.69,1392.0379 525,1414.8379 C568.91,1449.0079 601.58,1507.6479 616.32,1537.5479 " fill="none" id="iterate-backto-mt_in_use" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="502.74,1219.2879,493.6669,1223.1192,499.3208,1222.936,499.5039,1228.5899,502.74,1219.2879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="244" x="448" y="1380.7349">address already in use by another thread</text>
|
||||
</g>
|
||||
<!--link mt_in_use to pick_lease-->
|
||||
<g id="link_mt_in_use_pick_lease">
|
||||
<path d="M601.09,1577.1779 C580.76,1593.2579 551.52,1616.3879 529.88,1633.4979 " fill="none" id="mt_in_use-to-pick_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="526.02,1636.5479,535.5588,1634.096,529.9396,1633.4437,530.592,1627.8246,526.02,1636.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--reverse link iterate to pick_lease-->
|
||||
<g id="link_iterate_pick_lease">
|
||||
<path d="M486.95,1221.7579 C476.56,1229.2579 465.69,1238.1679 457,1247.7779 C440.02,1266.5379 434.68,1272.3679 428,1296.7779 C411.43,1357.3179 446.44,1516.8379 465,1576.8079 C471.68,1598.3779 482.78,1621.7779 490.89,1637.5779 " fill="none" id="iterate-backto-pick_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="490.76,1219.0579,481.1011,1220.9828,486.676,1221.9425,485.7163,1227.5173,490.76,1219.0579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="68" x="437" y="1439.7749">active lease</text>
|
||||
</g>
|
||||
<!--link pick_lease to reuseExpiredLease4-->
|
||||
<g id="link_pick_lease_reuseExpiredLease4">
|
||||
<path d="M460.73,1677.3379 C436.84,1689.4379 406.54,1706.3079 382,1724.8679 C372.48,1732.0779 373.34,1737.8979 363,1743.8679 C354.02,1749.0579 309.1,1761.1179 266.26,1771.9079 " fill="none" id="pick_lease-to-reuseExpiredLease4" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="261.43,1773.1279,271.1314,1774.8257,266.2807,1771.9152,269.1911,1767.0645,261.43,1773.1279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="78" x="383" y="1739.7649">expired lease</text>
|
||||
</g>
|
||||
<!--link pick_lease to create-->
|
||||
<g id="link_pick_lease_create">
|
||||
<path d="M550.73,1671.8079 C637.51,1695.3079 817.1,1743.9479 919.71,1771.7479 " fill="none" id="pick_lease-to-create" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="924.29,1772.9879,916.6394,1766.7857,919.4619,1771.688,914.5596,1774.5106,924.29,1772.9879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="808" y="1739.7649">no lease</text>
|
||||
</g>
|
||||
<!--link create to old_lease-->
|
||||
<g id="link_create_old_lease">
|
||||
<path d="M975.35,1813.2879 C957.65,1831.6179 935,1861.1979 935,1892.4779 C935,1892.4779 935,1892.4779 935,2194.6779 C935,2246.3179 883.01,2278.8979 836.88,2297.6379 " fill="none" id="create-to-old_lease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="832.4,2299.4179,842.2408,2299.8154,837.0473,2297.5733,839.2894,2292.3798,832.4,2299.4179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link old_lease to return-->
|
||||
<g id="link_old_lease_return">
|
||||
<path d="M767,2339.6479 C767,2359.2079 767,2389.8779 767,2411.5079 " fill="none" id="old_lease-to-return" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="767,2416.3979,771,2407.3979,767,2411.3979,763,2407.3979,767,2416.3979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--SRC=[ZLPBRzGm4BxdLrYSuB0890w80n8g1IgGA8MU8vDuTorIUqaSIeNuxyoC4tlyICkbtOpdcnb_y_0uxGObtWo3xQHJGef1oKc9lHt5smzdbrVdNwxFltuJZpygAPu_VVdqsPEcaGTbd7ZqJfjUT8F63q8z4d8IUv2UaV0JoXfZmUoe3qSdNWcGZdVYPBLnmSpPKNK_nAX-pcfogeTVanf_IQUj8OEoxq4qNP5OzG7tNhb2zoYdDroTJWBY-jJZ7QEhnJH1PpfiZnJQg3edpG6OASBZc0xF22B-D8A1CBP8P1ryKAvLl_Naj3aWN6pm4QbTjHlnjsbITUxCyvJxMldpMSdWTdOxkz-Th1qI7CXRkszHtlojq59atpFIMwFmIjcDZBhrIeHg2PMPPOK8simmV7a0sdKMBdHK8z5MGnCFCoX70t8v-pnUuGdHy88C25PGdJIzfYfXTrfb3LCc8v2HanwJ797RSo_sFb9KDqXzKyNH2KToeA_E9StQGA9lOjNxG-_j8fvn_1bUVruozQATr02i4JYH829fsAErFxYTwrD63lSDUbYOrOpC9XHccPFhS5X9ouLJ8rh08WG8p9nf_cwKynMg_IcFyL93jV4gFe4W8MEfnxHHL1-Ksp4CcnmbXr79_Wvo8B00ljz1H9PgqHtnX6pSk5QRTavJo1erEl8zWBmbFGsMAZtGaJYglOMSOR4Fd5FuYfqLoixDeu7CyeQoYrewe7zhbytd1KpjcvKiIFuNpc4esCPb3uZOxLxdRm0M9bdAvgfuZBFuITL4zMa0Gq3AfftSBTfXCv_0dJNxGNSqnTbpLCMkd0EIgGfxQq21bP8Va4qzPB33tgg52fduvkT5pCjjY_hVSXVmDDKNmg8lPXjL-QlM94ySdeQFF86-59bkoXRmaixCJSuAb-m9AuD_G3kDyLvW_i86T6GIN-SrsfNp0bRUN4WehbzAfFEpXap2R_XLYYHw-lBe8BIo6UutLFQEdd0uucZ7SI6Dg4R3hhW2CScnA67Eeu2P8ZlCESN2LedG2dmhQH8DGD3KgWP-Io-I7-zoclG1ANAMM5cgApM6rrZNaYOkA3Imgjj6xDMSupgwU1VhuwgfUoD-mkuIDviTiP2lAJI5VOTbIr06PPdZi-z-a7-wbecPQLPYyI6M6r55HhfR6z26d33fufDy5LtuzUF5PQ6Ikary-MOCB_5cFb5jtM2M_oIZZGN_XA-uaYHVOZUVeWtMJ4412ZWRaPa1WCTz9VpQDFpG0iHDhB5x5kBFqhWVSQNUGwLQHV1YMuhHIzAiX5-B6rfB_W40]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 44 KiB |
@ -1,107 +1,213 @@
|
||||
<?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="1782px" preserveAspectRatio="none" style="width:740px;height:1782px;" version="1.1" viewBox="0 0 740 1782" width="740px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ilk3q3nd6gdc" 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="326" x="198" y="17.4023">DHCPREQUEST processing (Kea 1.8.0)</text><!--MD5=[638108c05bc1ef8eca3fbd57a1e57fe7]
|
||||
cluster ack--><rect fill="#FFFFFF" filter="url(#f1ilk3q3nd6gdc)" height="762.86" style="stroke: #000000; stroke-width: 1.5;" width="304" x="419" y="717.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="154" x="494" y="732.7344">A lease was assigned</text><!--MD5=[bf2e5648ffce4090541457b458b3eec7]
|
||||
entity setReservedClasses--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="449.5" y="806.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="459.5" y="829.5944">Add reserved classes</text><!--MD5=[b4c6d216ba631a143bfc1836b312cb78]
|
||||
entity requiredClassify--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="447.5" y="903.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="167" x="457.5" y="926.5944">Classify required classes</text><!--MD5=[f89e27cff326c32e9ba835d84fbfe859]
|
||||
entity buildCfgOptionList--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="455" y="1000.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="186" x="465" y="1023.5944">Build configured option list</text><!--MD5=[66aecdc5adcec4353637f7b7b5526ad2]
|
||||
entity appendRequestedOptions--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="203" x="464.5" y="1113.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="183" x="474.5" y="1136.5944">Append requested options</text><!--MD5=[c1e338234dc43680cac932baec853545]
|
||||
entity appendRequestedVendorOptions--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="255" x="443.5" y="1226.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="235" x="453.5" y="1249.5944">Append requested vendor options</text><!--MD5=[c9adb4adbcc3777a62f0437095b92421]
|
||||
entity appendBasicOptions--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="485.5" y="1323.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="149" x="495.5" y="1346.5944">Append basic options</text><!--MD5=[f001f897bdcc87f34b1f31db09c9e4bc]
|
||||
entity setFixedFields--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="508.5" y="1420.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="518.5" y="1443.5944">Set fixed fields</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
|
||||
entity entry--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="78.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="88.5" y="51.7344">Entry point</text><!--MD5=[a7ec37c34d1a4a150f9193e171f7b981]
|
||||
entity selectSubnet--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="111" x="70.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="91" x="80.5" y="148.7344">Select subnet</text><path d="M217,130.6992 L217,139.1992 L181.52,143.1992 L217,147.1992 L217,156.0098 A0,0 0 0 0 217,156.0098 L307,156.0098 A0,0 0 0 0 307,156.0098 L307,140.6992 L297,130.6992 L217,130.6992 A0,0 0 0 0 217,130.6992 " fill="#FBFB77" filter="url(#f1ilk3q3nd6gdc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M297,130.6992 L297,140.6992 L307,140.6992 L297,130.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="223" y="148.2676">hook point</text><!--MD5=[bd2ef8d619eb080c7e3a318a85d9bc74]
|
||||
entity findReservation--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="187.5" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="145" x="197.5" y="245.7344">Find host reservation</text><!--MD5=[2cdbe39ce7f7beceaf096677903e27aa]
|
||||
entity known--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="174" y="319.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="260" x="184" y="342.7344">Add either KNOWN or UNKNOWN class</text><!--MD5=[63b5186a9d9ded916d56a4c496be57e4]
|
||||
entity classify2--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="248" y="416.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="258" y="439.7344">Classify (2nd pass)</text><!--MD5=[40832264567e158d4eae9eb68a571da4]
|
||||
entity processClientName--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="248.5" y="513.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="258.5" y="536.7344">Process client name</text><!--MD5=[2a562006d844a2c20ab5026a88816353]
|
||||
entity assignLease--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="269.5" y="610.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="97" x="279.5" y="633.7344">Assign a lease</text><!--MD5=[8274bfb416b6365278739ca5c48d26ea]
|
||||
entity common--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="487" y="1535.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="142" x="497" y="1558.5944">Adjust interface data</text><!--MD5=[ca1312f187078c0b4317d510df91f0fb]
|
||||
entity appendServerID--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="499" y="1632.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="509" y="1655.5944">Append server ID</text><path d="M308,1637.5592 L308,1662.8698 A0,0 0 0 0 308,1662.8698 L464,1662.8698 A0,0 0 0 0 464,1662.8698 L464,1655.5592 L498.67,1650.0592 L464,1647.5592 L464,1647.5592 L454,1637.5592 L308,1637.5592 A0,0 0 0 0 308,1637.5592 " fill="#FBFB77" filter="url(#f1ilk3q3nd6gdc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,1637.5592 L454,1647.5592 L464,1647.5592 L454,1637.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="314" y="1655.1276">on success exit point</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
|
||||
entity drop--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="177.5" y="1729.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="187.5" y="1752.5944">Return no response</text><path d="M6,1734.5592 L6,1759.8698 A0,0 0 0 0 6,1759.8698 L142,1759.8698 A0,0 0 0 0 142,1759.8698 L142,1752.5592 L177.47,1747.0592 L142,1744.5592 L142,1744.5592 L132,1734.5592 L6,1734.5592 A0,0 0 0 0 6,1734.5592 " fill="#FBFB77" filter="url(#f1ilk3q3nd6gdc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M132,1734.5592 L132,1744.5592 L142,1744.5592 L132,1734.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="12" y="1752.1276">on error exit point</text><!--MD5=[f1b2710c384eb85faf81d18e639f63a6]
|
||||
link entry to selectSubnet--><path d="M126,64.6192 C126,80.1592 126,102.9792 126,119.8592 " fill="none" id="entry->selectSubnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="126,124.8892,130,115.8892,126,119.8892,122,115.8892,126,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b2566f3d1f41175aa140f0cd50933407]
|
||||
link selectSubnet to findReservation--><path d="M152.08,161.3992 C176.75,177.6792 213.76,202.0992 239.73,219.2292 " fill="none" id="selectSubnet->findReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="244.12,222.1192,238.8174,213.8197,239.9488,219.3622,234.4062,220.4936,244.12,222.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1a93233187986d890dbf5eee85d4aa4a]
|
||||
link selectSubnet to drop--><path d="M120.11,161.4792 C114.21,180.3392 106,211.5592 106,239.1992 C106,239.1992 106,239.1992 106,1651.0592 C106,1689.5192 141.74,1713.0992 178.21,1727.1392 " fill="none" id="selectSubnet->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="183.12,1728.9792,176.0975,1722.0738,178.4384,1727.2236,173.2885,1729.5644,183.12,1728.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="107" y="926.1276">hook set DROP</text><!--MD5=[ec2fdd3e226382e0a9d3911ff6fdaa1e]
|
||||
link findReservation to known--><path d="M278.07,258.6192 C285.33,274.2892 296.02,297.3792 303.85,314.2892 " fill="none" id="findReservation->known" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="305.98,318.8892,305.8344,309.0414,303.882,314.3507,298.5728,312.3982,305.98,318.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9b534dc7ab92ef37bc4e582dc201fb22]
|
||||
link known to classify2--><path d="M315.47,355.6192 C316.78,371.1592 318.7,393.9792 320.12,410.8592 " fill="none" id="known->classify2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="320.54,415.8892,323.781,406.5889,320.126,410.9064,315.8085,407.2514,320.54,415.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[96b9d5e38c2d93af2aa0f6088adcad57]
|
||||
link classify2 to processClientName--><path d="M322.73,452.6192 C323.39,468.1592 324.35,490.9792 325.06,507.8592 " fill="none" id="classify2->processClientName" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="325.27,512.8892,328.9071,503.7365,325.0702,507.8932,320.9135,504.0563,325.27,512.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ad449cd118a7a2b2ce8548c9076b781b]
|
||||
link processClientName to assignLease--><path d="M326.37,549.6192 C326.69,565.1592 327.17,587.9792 327.53,604.8592 " fill="none" id="processClientName->assignLease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="327.64,609.8892,331.4592,600.811,327.54,604.8902,323.4608,600.971,327.64,609.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[dbcae5b7ba85be5e06360ecde09c32a7]
|
||||
link assignLease to ack--><path d="M350.16,646.3192 C370.48,662.0192 401.2825,685.8217 427.3263,705.9467 C430.5817,708.4623 433.7628,710.9205 436.8398,713.2982 C438.3783,714.4871 439.8908,715.6558 441.3735,716.8015 " fill="none" id="assignLease->ack" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="441.3735,716.8015,436.6977,708.1333,437.4171,713.7443,431.8061,714.4636,441.3735,716.8015" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="62" x="407" y="689.7676">DHCPACK</text><!--MD5=[2f984fc865edd3cdda8891855a184a01]
|
||||
link assignLease to common--><path d="M328.48,646.2492 C329.08,668.5892 330,709.0092 330,743.5592 C330,743.5592 330,743.5592 330,1439.0592 C330,1508.3792 413.41,1535.2292 481.47,1545.5992 " fill="none" id="assignLease->common" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="486.76,1546.3692,478.4373,1541.103,481.8131,1545.6422,477.274,1549.018,486.76,1546.3692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="331" y="1079.6276">DHCPNAK</text><!--MD5=[1a01e4a77361624092d23c61082f06c9]
|
||||
link assignLease to drop--><path d="M308.05,646.4192 C286.44,667.0992 255,703.9892 255,743.5592 C255,743.5592 255,743.5592 255,1651.0592 C255,1675.9292 255,1704.4692 255,1723.7292 " fill="none" id="assignLease->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="255,1728.8992,259,1719.8992,255,1723.8992,251,1719.8992,255,1728.8992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="256" y="1192.6276">on error</text><!--MD5=[45361b0d0807638813b657d9c2aeacea]
|
||||
link ack to setReservedClasses--><path d="M476.04,745.1192 C477.12,746.6492 499.89,778.9392 515.78,801.4792 " fill="none" id="ack->setReservedClasses" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="518.86,805.8392,516.9576,796.1758,515.985,801.7484,510.4124,800.7758,518.86,805.8392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[59a85614cff14ca40e3cee07aa3bbe30]
|
||||
link setReservedClasses to requiredClassify--><path d="M532.83,842.4792 C534.47,858.0192 536.87,880.8392 538.65,897.7192 " fill="none" id="setReservedClasses->requiredClassify" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="539.18,902.7492,542.206,893.3768,538.6514,897.7772,534.2509,894.2226,539.18,902.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2efe0b9050a6d4600ee0e20f04479830]
|
||||
link requiredClassify to buildCfgOptionList--><path d="M544.12,939.4792 C546.9,955.0192 550.98,977.8392 554,994.7192 " fill="none" id="requiredClassify->buildCfgOptionList" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="554.9,999.7492,557.2671,990.1891,554.027,994.826,549.39,991.5859,554.9,999.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7441c48dbaadb9becd02fb7c753a194c]
|
||||
link buildCfgOptionList to appendRequestedOptions--><path d="M559.25,1036.3992 C560.64,1055.6292 562.87,1086.6892 564.39,1107.7192 " fill="none" id="buildCfgOptionList->appendRequestedOptions" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="564.76,1112.8392,568.1067,1103.5764,564.4027,1107.852,560.1272,1104.148,564.76,1112.8392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47343daf35e3c3d46fb0ba57547a88fa]
|
||||
link appendRequestedOptions to appendRequestedVendorOptions--><path d="M566.78,1149.3992 C567.65,1168.6292 569.05,1199.6892 569.99,1220.7192 " fill="none" id="appendRequestedOptions->appendRequestedVendorOptions" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="570.22,1225.8392,573.8048,1216.6659,569.9917,1220.8444,565.8132,1217.0313,570.22,1225.8392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[58b55c53e5f94649550176181093f5f5]
|
||||
link appendRequestedVendorOptions to appendBasicOptions--><path d="M570.82,1262.4792 C570.65,1278.0192 570.41,1300.8392 570.24,1317.7192 " fill="none" id="appendRequestedVendorOptions->appendBasicOptions" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="570.18,1322.7492,574.2572,1313.7839,570.223,1317.7494,566.2575,1313.7152,570.18,1322.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7264f1f21cb707b81d802a97c78240a4]
|
||||
link appendBasicOptions to setFixedFields--><path d="M569.82,1359.4792 C569.65,1375.0192 569.41,1397.8392 569.24,1414.7192 " fill="none" id="appendBasicOptions->setFixedFields" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="569.18,1419.7492,573.2572,1410.7839,569.223,1414.7494,565.2575,1410.7152,569.18,1419.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6bbcaa41c57dc9195ee921caca416269]
|
||||
link setFixedFields to common--><path d="M568.85,1456.2192 C568.67,1475.7992 568.39,1507.8892 568.2,1529.4892 " fill="none" id="setFixedFields->common" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="568.15,1534.7392,572.227,1525.7738,568.1929,1529.7394,564.2273,1525.7053,568.15,1534.7392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[132fd8477c39c92905ed9637c759fac2]
|
||||
link common to appendServerID--><path d="M568,1571.4792 C568,1587.0192 568,1609.8392 568,1626.7192 " fill="none" id="common->appendServerID" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="568,1631.7492,572,1622.7492,568,1626.7492,564,1622.7492,568,1631.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c3fa6a6e0f86213585b749ab16a0c5af]
|
||||
link appendServerID to drop--><!--MD5=[4750f740a763649f6d3712e660b5e97b]
|
||||
@startuml
|
||||
|
||||
title DHCPREQUEST processing (Kea 1.8.0)
|
||||
|
||||
agent "Entry point" as entry
|
||||
|
||||
agent "Select subnet" as selectSubnet
|
||||
note right : hook point
|
||||
|
||||
agent "Find host reservation" as findReservation
|
||||
|
||||
agent "Add either KNOWN or UNKNOWN class" as known
|
||||
|
||||
agent "Classify (2nd pass)" as classify2
|
||||
|
||||
agent "Process client name" as processClientName
|
||||
|
||||
agent "Assign a lease" as assignLease
|
||||
|
||||
rectangle "A lease was assigned" as ack {
|
||||
agent "Add reserved classes" as setReservedClasses
|
||||
agent "Classify required classes" as requiredClassify
|
||||
agent "Build configured option list" as buildCfgOptionList
|
||||
agent "Append requested options" as appendRequestedOptions
|
||||
agent "Append requested vendor options" as appendRequestedVendorOptions
|
||||
agent "Append basic options" as appendBasicOptions
|
||||
agent "Set fixed fields" as setFixedFields
|
||||
}
|
||||
|
||||
agent "Adjust interface data" as common
|
||||
|
||||
agent "Append server ID" as appendServerID
|
||||
note left : on success exit point
|
||||
|
||||
agent "Return no response" as drop
|
||||
note left : on error exit point
|
||||
|
||||
entry - -> selectSubnet
|
||||
selectSubnet - -> findReservation
|
||||
selectSubnet - - -> drop : hook set DROP
|
||||
findReservation - -> known
|
||||
known - -> classify2
|
||||
classify2 - -> processClientName
|
||||
processClientName - -> assignLease
|
||||
assignLease - -> ack : DHCPACK
|
||||
assignLease - -> common : DHCPNAK
|
||||
assignLease - - -> drop : on error
|
||||
ack - -> setReservedClasses
|
||||
setReservedClasses - -> requiredClassify
|
||||
requiredClassify - -> buildCfgOptionList
|
||||
buildCfgOptionList - -> appendRequestedOptions
|
||||
appendRequestedOptions - -> appendRequestedVendorOptions
|
||||
appendRequestedVendorOptions - -> appendBasicOptions
|
||||
appendBasicOptions - -> setFixedFields
|
||||
setFixedFields - -> common
|
||||
common - -> appendServerID
|
||||
appendServerID -[hidden]-> drop
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="1851px" preserveAspectRatio="none" style="width:713px;height:1851px;background:#FFFFFF;" version="1.1" viewBox="0 0 713 1851" width="713px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="256" x="221.5" y="24.9659">DHCPREQUEST processing (Kea 1.8.0)</text>
|
||||
<!--cluster ack-->
|
||||
<g id="cluster_ack">
|
||||
<rect fill="none" height="791.34" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="298" x="409" y="759.5379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="145" x="485.5" y="776.5039">A lease was assigned</text>
|
||||
</g>
|
||||
<!--entity setReservedClasses-->
|
||||
<g id="elem_setReservedClasses">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="162" x="439" y="851.3979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="142" x="449" y="876.3639">Add reserved classes</text>
|
||||
</g>
|
||||
<!--entity requiredClassify-->
|
||||
<g id="elem_requiredClassify">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="186" x="437" y="951.4679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="166" x="447" y="976.4339">Classify required classes</text>
|
||||
</g>
|
||||
<!--entity buildCfgOptionList-->
|
||||
<g id="elem_buildCfgOptionList">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="204" x="444" y="1051.5379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="184" x="454" y="1076.5039">Build configured option list</text>
|
||||
</g>
|
||||
<!--entity appendRequestedOptions-->
|
||||
<g id="elem_appendRequestedOptions">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="200" x="453" y="1169.5979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="180" x="463" y="1194.5639">Append requested options</text>
|
||||
</g>
|
||||
<!--entity appendRequestedVendorOptions-->
|
||||
<g id="elem_appendRequestedVendorOptions">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="251" x="432.5" y="1287.6679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="231" x="442.5" y="1312.6339">Append requested vendor options</text>
|
||||
</g>
|
||||
<!--entity appendBasicOptions-->
|
||||
<g id="elem_appendBasicOptions">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="166" x="474" y="1387.7379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146" x="484" y="1412.7039">Append basic options</text>
|
||||
</g>
|
||||
<!--entity setFixedFields-->
|
||||
<g id="elem_setFixedFields">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="119" x="494.5" y="1487.8079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="504.5" y="1512.7739">Set fixed fields</text>
|
||||
</g>
|
||||
<!--entity entry-->
|
||||
<g id="elem_entry">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="94" x="76" y="47.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="86" y="72.0339">Entry point</text>
|
||||
</g>
|
||||
<!--entity selectSubnet-->
|
||||
<g id="elem_selectSubnet">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="111" x="67.5" y="147.1279"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91" x="77.5" y="172.0939">Select subnet</text>
|
||||
</g>
|
||||
<g id="elem_GMN4">
|
||||
<path d="M213.5,152.8079 L213.5,162.6679 L178.75,166.6679 L213.5,170.6679 L213.5,180.5139 A0,0 0 0 0 213.5,180.5139 L300.5,180.5139 A0,0 0 0 0 300.5,180.5139 L300.5,162.8079 L290.5,152.8079 L213.5,152.8079 A0,0 0 0 0 213.5,152.8079 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M290.5,152.8079 L290.5,162.8079 L300.5,162.8079 L290.5,152.8079 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="66" x="219.5" y="171.7049">hook point</text>
|
||||
</g>
|
||||
<!--entity findReservation-->
|
||||
<g id="elem_findReservation">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="162" x="186" y="247.1979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="142" x="196" y="272.1639">Find host reservation</text>
|
||||
</g>
|
||||
<!--entity known-->
|
||||
<g id="elem_known">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="285" x="167.5" y="347.2679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="265" x="177.5" y="372.2339">Add either KNOWN or UNKNOWN class</text>
|
||||
</g>
|
||||
<!--entity classify2-->
|
||||
<g id="elem_classify2">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="144" x="244" y="447.3379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="254" y="472.3039">Classify (2nd pass)</text>
|
||||
</g>
|
||||
<!--entity processClientName-->
|
||||
<g id="elem_processClientName">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="154" x="242" y="547.3979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="252" y="572.3639">Process client name</text>
|
||||
</g>
|
||||
<!--entity assignLease-->
|
||||
<g id="elem_assignLease">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="116" x="263" y="647.4679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="273" y="672.4339">Assign a lease</text>
|
||||
</g>
|
||||
<!--entity common-->
|
||||
<g id="elem_common">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="161" x="470.5" y="1605.8779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="141" x="480.5" y="1630.8439">Adjust interface data</text>
|
||||
</g>
|
||||
<!--entity appendServerID-->
|
||||
<g id="elem_appendServerID">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="482" y="1705.9379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="492" y="1730.9039">Append server ID</text>
|
||||
</g>
|
||||
<g id="elem_GMN22">
|
||||
<path d="M301.5,1711.6279 L301.5,1739.3339 A0,0 0 0 0 301.5,1739.3339 L446.5,1739.3339 A0,0 0 0 0 446.5,1739.3339 L446.5,1729.6279 L481.9,1725.4779 L446.5,1721.6279 L446.5,1721.6279 L436.5,1711.6279 L301.5,1711.6279 A0,0 0 0 0 301.5,1711.6279 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M436.5,1711.6279 L436.5,1721.6279 L446.5,1721.6279 L436.5,1711.6279 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="124" x="307.5" y="1730.5249">on success exit point</text>
|
||||
</g>
|
||||
<!--entity drop-->
|
||||
<g id="elem_drop">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="153" x="171.5" y="1806.0079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="181.5" y="1830.9739">Return no response</text>
|
||||
</g>
|
||||
<g id="elem_GMN26">
|
||||
<path d="M6,1811.6879 L6,1839.3939 A0,0 0 0 0 6,1839.3939 L136,1839.3939 A0,0 0 0 0 136,1839.3939 L136,1829.6879 L171.23,1825.5479 L136,1821.6879 L136,1821.6879 L126,1811.6879 L6,1811.6879 A0,0 0 0 0 6,1811.6879 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M126,1811.6879 L126,1821.6879 L136,1821.6879 L126,1811.6879 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="109" x="12" y="1830.5849">on error exit point</text>
|
||||
</g>
|
||||
<!--link entry to selectSubnet-->
|
||||
<g id="link_entry_selectSubnet">
|
||||
<path d="M123,86.5079 C123,101.8379 123,123.5779 123,140.3979 " fill="none" id="entry-to-selectSubnet" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="123,145.2979,127,136.2979,123,140.2979,119,136.2979,123,145.2979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link selectSubnet to findReservation-->
|
||||
<g id="link_selectSubnet_findReservation">
|
||||
<path d="M150.76,186.5779 C174.57,202.7879 208.91,226.1679 234.09,243.3179 " fill="none" id="selectSubnet-to-findReservation" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="238.07,246.0279,232.8864,237.6535,233.9386,243.2117,228.3804,244.2638,238.07,246.0279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link selectSubnet to drop-->
|
||||
<g id="link_selectSubnet_drop">
|
||||
<path d="M116.78,186.5979 C110.91,206.1779 103,237.7579 103,265.7379 C103,265.7379 103,265.7379 103,1726.4779 C103,1764.1179 136.95,1788.2979 171.99,1803.2279 " fill="none" id="selectSubnet-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="176.22,1804.9679,169.4398,1797.8245,171.6017,1803.0519,166.3742,1805.2138,176.22,1804.9679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="90" x="104" y="976.3949">hook set DROP</text>
|
||||
</g>
|
||||
<!--link findReservation to known-->
|
||||
<g id="link_findReservation_known">
|
||||
<path d="M275.29,286.6379 C282.13,302.2479 291.89,324.4879 299.31,341.4279 " fill="none" id="findReservation-to-known" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="301.13,345.5679,301.1615,335.7191,299.1139,340.9924,293.8406,338.9449,301.13,345.5679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link known to classify2-->
|
||||
<g id="link_known_classify2">
|
||||
<path d="M311.16,386.7079 C312.09,402.0379 313.43,423.7879 314.45,440.6079 " fill="none" id="known-to-classify2" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="314.75,445.5079,318.1775,436.2747,314.4363,440.5178,310.1933,436.7766,314.75,445.5079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link classify2 to processClientName-->
|
||||
<g id="link_classify2_processClientName">
|
||||
<path d="M316.58,486.7779 C317.05,502.1079 317.71,523.8579 318.23,540.6779 " fill="none" id="classify2-to-processClientName" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="318.38,545.5779,322.0953,536.4567,318.2229,540.5804,314.0993,536.708,318.38,545.5779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link processClientName to assignLease-->
|
||||
<g id="link_processClientName_assignLease">
|
||||
<path d="M319.39,586.8479 C319.7,602.1779 320.14,623.9179 320.48,640.7379 " fill="none" id="processClientName-to-assignLease" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="320.58,645.6379,324.3992,636.5597,320.48,640.6389,316.4008,636.7197,320.58,645.6379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link assignLease to ack-->
|
||||
<g id="link_assignLease_ack">
|
||||
<path d="M343.66,686.8979 C363.73,703.6329 393.68,728.6029 418.9225,749.6479 C422.0778,752.2785 425.1596,754.8478 428.1393,757.3321 C428.8842,757.9531 429.6228,758.5688 430.3545,759.1789 " fill="none" id="assignLease-to-ack" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="430.3545,759.1789,426.0032,750.3434,426.5141,755.9771,420.8804,756.488,430.3545,759.1789" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="59" x="398" y="731.4349">DHCPACK</text>
|
||||
</g>
|
||||
<!--link assignLease to common-->
|
||||
<g id="link_assignLease_common">
|
||||
<path d="M321.25,686.8479 C321.55,710.6379 322,752.7979 322,788.8979 C322,788.8979 322,788.8979 322,1508.3379 C322,1574.6179 399.27,1603.0579 464.04,1615.2579 " fill="none" id="assignLease-to-common" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="468.77,1616.1179,460.6378,1610.5621,463.8518,1615.2172,459.1967,1618.4312,468.77,1616.1179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="61" x="323" y="1135.4949">DHCPNAK</text>
|
||||
</g>
|
||||
<!--link assignLease to drop-->
|
||||
<g id="link_assignLease_drop">
|
||||
<path d="M300.67,686.8379 C279.07,708.9779 248,747.9579 248,788.8979 C248,788.8979 248,788.8979 248,1726.4779 C248,1751.2579 248,1779.5579 248,1799.3679 " fill="none" id="assignLease-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="248,1804.2279,252,1795.2279,248,1799.2279,244,1795.2279,248,1804.2279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="49" x="249" y="1253.5649">on error</text>
|
||||
</g>
|
||||
<!--link ack to setReservedClasses-->
|
||||
<g id="link_ack_setReservedClasses">
|
||||
<path d="M466.15,790.6279 C468.13,793.5279 488.48,823.5079 503.58,845.7479 " fill="none" id="ack-to-setReservedClasses" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="506.25,849.6779,504.5015,839.9855,503.4404,845.542,497.884,844.4809,506.25,849.6779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link setReservedClasses to requiredClassify-->
|
||||
<g id="link_setReservedClasses_requiredClassify">
|
||||
<path d="M521.93,890.8379 C523.49,906.1679 525.71,927.9179 527.42,944.7379 " fill="none" id="setReservedClasses-to-requiredClassify" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="527.92,949.6479,530.9727,940.2841,527.4055,944.6745,523.0151,941.1073,527.92,949.6479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link requiredClassify to buildCfgOptionList-->
|
||||
<g id="link_requiredClassify_buildCfgOptionList">
|
||||
<path d="M533.08,990.9079 C535.59,1006.2379 539.13,1027.9879 541.88,1044.8079 " fill="none" id="requiredClassify-to-buildCfgOptionList" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="542.68,1049.7279,545.1863,1040.2033,541.8789,1044.7925,537.2897,1041.4851,542.68,1049.7279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link buildCfgOptionList to appendRequestedOptions-->
|
||||
<g id="link_buildCfgOptionList_appendRequestedOptions">
|
||||
<path d="M547.14,1090.9779 C548.32,1110.5379 550.17,1141.1979 551.47,1162.8379 " fill="none" id="buildCfgOptionList-to-appendRequestedOptions" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="551.77,1167.7279,555.2222,1158.5039,551.4697,1162.7369,547.2367,1158.9844,551.77,1167.7279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link appendRequestedOptions to appendRequestedVendorOptions-->
|
||||
<g id="link_appendRequestedOptions_appendRequestedVendorOptions">
|
||||
<path d="M553.81,1209.0479 C554.66,1228.6079 555.98,1259.2679 556.91,1280.8979 " fill="none" id="appendRequestedOptions-to-appendRequestedVendorOptions" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="557.12,1285.7979,560.7298,1276.6345,556.9053,1280.8025,552.7372,1276.978,557.12,1285.7979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link appendRequestedVendorOptions to appendBasicOptions-->
|
||||
<g id="link_appendRequestedVendorOptions_appendBasicOptions">
|
||||
<path d="M557.81,1327.1079 C557.65,1342.4479 557.43,1364.1879 557.26,1381.0079 " fill="none" id="appendRequestedVendorOptions-to-appendBasicOptions" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="557.21,1385.9079,561.3126,1376.9542,557.2671,1380.9082,553.3131,1376.8628,557.21,1385.9079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link appendBasicOptions to setFixedFields-->
|
||||
<g id="link_appendBasicOptions_setFixedFields">
|
||||
<path d="M556.42,1427.1779 C555.95,1442.5079 555.29,1464.2579 554.77,1481.0779 " fill="none" id="appendBasicOptions-to-setFixedFields" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="554.62,1485.9779,558.8754,1477.0958,554.7628,1480.98,550.8787,1476.8673,554.62,1485.9779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link setFixedFields to common-->
|
||||
<g id="link_setFixedFields_common">
|
||||
<path d="M553.51,1527.2479 C553.01,1546.8079 552.21,1577.4679 551.65,1599.1079 " fill="none" id="setFixedFields-to-common" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="551.53,1603.9979,555.76,1595.1037,551.6585,1598.9996,547.7627,1594.8981,551.53,1603.9979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link common to appendServerID-->
|
||||
<g id="link_common_appendServerID">
|
||||
<path d="M551,1645.3179 C551,1660.6479 551,1682.3879 551,1699.2179 " fill="none" id="common-to-appendServerID" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="551,1704.1079,555,1695.1079,551,1699.1079,547,1695.1079,551,1704.1079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link appendServerID to drop-->
|
||||
<!--SRC=[VLJBRjim4BphAnOv9GS7RKv53WKSsKO31xOhD-sXw86MLZ9hcLH9AWyK_VUIIucI9ISNGpixiwA6EpRSb0YpB_4ccNzzd6-_GQLaYbfpKS3b4XbylFvq_U4gYbY1mi35N1Zr2fNambm0qu2k3jqjbfWQqFLEeEzhGhO4H48Q1CMBlO5Rs4jvy8E2VC55Pd5jGA56zSGCbuB6vBQJT5XGJBCCa9izAbYkrZzM81KyhlnZMZAjINqGyhdJn0xd-IjStjZNLRQu8bRQu3U1kV5Us0vtjM1796RZKKpmogBTUUo4GW234fdsP4RGWwkZI5apc2YivnTJpu7dmC7C2z83_8sWzuNU3Spy4L4tpfgamMCF1qtuGeL_Qgu6mXPiMK5sL_FIKgN8UL4xbQoSsL1oxIzpvmXnNgm9Vx1mTyogGf7HRDGcQFqR6JMJjkVb-ctjaotjHRupuZintXYqOvgdPzHt3XzgjcZiThtOj-OSoonukt3OWg3eNs_VVjTsFUtIeifPYf0nm_psoEEnlvZ-A7G_2kvdlMDi2RkV-JYKcBiqM9jrdTAsuGitWs0aQ6ebG4Yt2fKzlb-jJCbgE0MLijRrPr14OJBvV1h6Va7TOSO61CjmxskJQos2MRBUH0CPZVA1er-gksY59yB7GHeXnEjdgFViUpOkj_GNDesNeww_beQmcWu9tKUrraLkdZThbAynHCnHe8O0iSw4PmpvBpeVb_FmESLfEjvhzjGdwHX3hIVzN9oMFR-ZnlPkUbZwqn8cF_Syor3yQcuY-Wy0]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 71 KiB |
@ -1,157 +1,345 @@
|
||||
<?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="2210px" preserveAspectRatio="none" style="width:1468px;height:2210px;" version="1.1" viewBox="0 0 1468 2210" width="1468px" zoomAndPan="magnify"><defs><filter height="300%" id="f5nw3f4rb2pkr" 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="317" x="566.5" y="17.4023">DHCPv4 subnet selection (Kea 1.8.0)</text><!--MD5=[73860abe08ab23c9b8e49eb23f18ae46]
|
||||
cluster relayed--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="374.86" style="stroke: #000000; stroke-width: 1.5;" width="445" x="7" y="329.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="201.5" y="344.7344">Relayed</text><!--MD5=[234613e222536af9475ae40e3492b0e6]
|
||||
cluster set_address--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="803" x="227" y="769.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="546.5" y="784.5944">Set address for lookup</text><!--MD5=[a59c1d05a8f6fb54290705d41e67acbe]
|
||||
cluster interface--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="488" style="stroke: #000000; stroke-width: 1.5;" width="395" x="945" y="990.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="1060.5" y="1006.4544">Try incoming interface</text><!--MD5=[8f3f5adf9176dbd9c419c05d483ab0c6]
|
||||
cluster address--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="294" style="stroke: #000000; stroke-width: 1.5;" width="190" x="745" y="1527.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="797.5" y="1543.4544">Try address</text><!--MD5=[aeb2f621969028d4547d386ac1a1ba6d]
|
||||
entity relay_subnet--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="172" y="418.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="206" x="182" y="441.5944">Relay address matches subnet</text><!--MD5=[bf459b32eaaf498e62edf6d622ac5891]
|
||||
entity relay_network--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="142" y="531.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="266" x="152" y="554.5944">Relay address matches shared network</text><!--MD5=[076bfff500cab59e856b606fdf63ed5a]
|
||||
entity relay_class--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="112" y="644.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="122" y="667.5944">Check client class</text><!--MD5=[467e96f12fdeb7da53b220e72b6eb1fc]
|
||||
entity relay_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="251" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="261" y="897.4544">Set relay address</text><!--MD5=[a0e4201c97a623c3dfa593fb75aad03b]
|
||||
entity client_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="553" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="563" y="897.4544">Set client address</text><!--MD5=[a2d7389029b0dd04029e629f1661a883]
|
||||
entity source_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="856.5" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="866.5" y="897.4544">Set source address</text><!--MD5=[8eaa1e77cbee43fcac8de4e493864e04]
|
||||
entity interface_subnet--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="997" y="1025.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="172" x="1007" y="1049.4544">Interface matches subnet</text><!--MD5=[44eac5a65cc5cd7e6cc1fc4b89b09f4d]
|
||||
entity interface_network--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1072" y="1138.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="232" x="1082" y="1162.4544">Interface matches shared network</text><!--MD5=[8e51806cb27b2b60db022c6084a961c9]
|
||||
entity interface_class--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="1022" y="1251.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="1032" y="1275.4544">Check client class</text><!--MD5=[953883d00ea10db133fca33539954fed]
|
||||
entity interface_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="961.5" y="1426.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="971.5" y="1450.4544">Set interface address</text><!--MD5=[132ec46735878e55c0250b14c07769ad]
|
||||
entity inRange--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="761" y="1562.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="138" x="771" y="1586.4544">Check subnet prefix</text><!--MD5=[a34f95003b379bc2f5b7f1af307bcb98]
|
||||
entity address_class--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="779" y="1769.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="789" y="1793.4544">Check client class</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
|
||||
entity entry--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="350.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="360.5" y="51.7344">Entry point</text><!--MD5=[a23c6b9dab1f8744947aaee2891e743e]
|
||||
entity rai_link_select--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="327.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="337.5" y="148.7344">Try RAI link select</text><!--MD5=[6d8910fd8533ab76ffd986c0d960248c]
|
||||
entity subnet_select--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="294.5" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="187" x="304.5" y="245.7344">Try subnet selection option</text><!--MD5=[6348f6d706001cc5dc6ed638bec44faf]
|
||||
entity found--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="708.5" y="1946.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="718.5" y="1970.4544">Found a subnet</text><!--MD5=[7dc9e356e22f2f113ceeb6da807ce9ff]
|
||||
entity not_found--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="870.5" y="1946.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="117" x="880.5" y="1970.4544">Found no subnet</text><!--MD5=[4a9142d0fee9ff77eb50a001ac7877e7]
|
||||
entity subnet4_select--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="767.5" y="2043.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="155" x="777.5" y="2067.4544">Callout subnet4_select</text><!--MD5=[d0fdc5cb89e99cab1ccfec009231794d]
|
||||
entity success--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="584.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="594.5" y="2180.4544">Return a subnet</text><!--MD5=[d0255a03afa46a62fe0c456dae837167]
|
||||
entity no_subnet--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="139" x="785.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="119" x="795.5" y="2180.4544">Return no subnet</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
|
||||
entity drop--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="97" x="986.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="77" x="996.5" y="2180.4544">Drop query</text><!--MD5=[732ffb0ffbc5cdc82abf95e46b9c6dc7]
|
||||
link entry to rai_link_select--><path d="M398,64.6192 C398,80.1592 398,102.9792 398,119.8592 " fill="none" id="entry->rai_link_select" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="398,124.8892,402,115.8892,398,119.8892,394,115.8892,398,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f0b6d7b08c058a6efc1e3a3886382c22]
|
||||
link rai_link_select to subnet_select--><path d="M398,161.6192 C398,177.1592 398,199.9792 398,216.8592 " fill="none" id="rai_link_select->subnet_select" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="398,221.8892,402,212.8892,398,216.8892,394,212.8892,398,221.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2989df9457f995d9ec76378f9e46e3a6]
|
||||
link subnet_select to relayed--><path d="M389.65,258.5692 C382.075,274.3142 370.655,298.0567 361.01,318.1092 C359.8044,320.6158 358.6265,323.0647 357.4873,325.4331 C356.9177,326.6173 356.3578,327.7814 355.8089,328.9225 " fill="none" id="subnet_select->relayed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="355.8089,328.9225,363.3147,322.5458,357.9762,324.4167,356.1053,319.0781,355.8089,328.9225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="374" y="301.7676">relayed</text><!--MD5=[19a01d6111b1c934e32249a327a2afa6]
|
||||
link subnet_select to set_address--><path d="M433.44,258.3692 C466.58,277.1792 511,310.7592 511,355.5592 C511,355.5592 511,355.5592 511,663.0592 C511,711.2292 468.365,744.0467 425.0638,764.9542 C422.3574,766.2609 419.6485,767.5211 416.9472,768.7356 " fill="none" id="subnet_select->set_address" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="416.9472,768.7356,426.796,768.6933,421.5075,766.6853,423.5155,761.3968,416.9472,768.7356" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="70" x="512" y="497.6276">not relayed</text><!--MD5=[289599dfcd7d1f32272e42cc3c26c895]
|
||||
link relayed to relay_subnet--><path d="M342.96,357.1192 C341.81,358.6492 317.61,391.2092 300.84,413.7592 " fill="none" id="relayed->relay_subnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="297.8,417.8392,306.3807,413.0049,300.784,413.8273,299.9616,408.2305,297.8,417.8392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[65c9b407d2d4ddf1b89c397faeac317e]
|
||||
link relay_subnet to relay_network--><path d="M285,454.3992 C285,473.6292 285,504.6892 285,525.7192 " fill="none" id="relay_subnet->relay_network" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="285,530.8392,289,521.8392,285,525.8392,281,521.8392,285,530.8392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="286" y="497.6276">no match</text><!--MD5=[918f6d4a891df42092f9be64f359f985]
|
||||
link relay_subnet to relay_class--><path d="M199.58,454.0892 C156.79,467.3892 108.74,490.6992 83,531.0592 C56.99,571.8592 109.58,615.9992 147.59,640.9192 " fill="none" id="relay_subnet->relay_class" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="152.15,643.8592,146.7424,635.6277,147.9441,641.1554,142.4164,642.3571,152.15,643.8592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="84" y="554.1276">match</text><!--MD5=[ec56da742308e5dcfe86ad0421278606]
|
||||
link relay_network to set_address--><path d="M288.52,567.3092 C294.12,594.7992 305.4675,650.4892 315.5475,699.9592 C320.5875,724.6942 325.3106,747.8742 328.84,765.1967 C329.0606,766.2794 329.2765,767.3392 329.4876,768.375 " fill="none" id="relay_network->set_address" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="329.4876,768.375,331.6103,758.7576,328.4893,763.4756,323.7713,760.3547,329.4876,768.375" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="319" y="667.1276">no match</text><!--MD5=[a30462b61ddf59585f12c8e1078496e0]
|
||||
link relay_network to relay_class--><path d="M268.91,567.3992 C250.69,587.0392 221.02,619.0092 201.5,640.0392 " fill="none" id="relay_network->relay_class" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="197.98,643.8392,207.0376,639.9713,201.3844,640.1773,201.1785,634.5242,197.98,643.8392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="241" y="610.6276">match</text><!--MD5=[44feab40ce9c0df31465bdb13adac7ed]
|
||||
link relay_class to found--><path d="M177.97,680.0792 C172.39,705.1692 163,753.6292 163,795.4192 C163,795.4192 163,795.4192 163,1878.4192 C163,1932.4492 543.78,1954.4892 703.15,1961.3492 " fill="none" id="relay_class->found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="708.26,1961.5692,699.4395,1957.1875,703.2646,1961.3551,699.097,1965.1802,708.26,1961.5692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="70" x="164" y="1362.4876">compatible</text><!--MD5=[d5e1893c7bc3c7589901f4b78d6439f0]
|
||||
link relay_class to set_address--><path d="M185.6,680.2592 C190.22,698.4992 199.91,727.0992 218,745.0592 C222.9438,749.9667 228.4423,754.4291 234.2844,758.4815 C237.2054,760.5077 240.2123,762.4314 243.2786,764.2571 C244.8117,765.1699 246.3597,766.0582 247.9193,766.9226 C248.6991,767.3547 249.4818,767.7809 250.2669,768.2012 C250.6595,768.4113 251.0527,768.6199 251.4464,768.8271 " fill="none" id="relay_class->set_address" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="251.4464,768.8271,245.3441,761.0965,247.0215,766.499,241.6191,768.1764,251.4464,768.8271" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="95" x="219" y="741.6276">not compatible</text><!--MD5=[3f679d64a1cccee12b0e824b1733c0ed]
|
||||
link set_address to relay_address--><path d="M334.99,796.9892 C334.66,798.9192 327.44,841.3492 322.81,868.5092 " fill="none" id="set_address->relay_address" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="321.93,873.7292,327.3899,865.5323,322.7728,868.8008,319.5043,864.1837,321.93,873.7292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="330" y="840.4876">try the relay address</text><!--MD5=[9d0435cdb5bba0d446c223c46240db6f]
|
||||
link relay_address to client_address--><path d="M387.22,891.9192 C434.95,891.9192 498.7,891.9192 547.88,891.9192 " fill="none" id="relay_address->client_address" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="552.9,891.9192,543.9,887.9192,547.9,891.9192,543.9,895.9192,552.9,891.9192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="405.5" y="885.4876">has no relay address</text><!--MD5=[4192df04ddbb3f1e00a57ee174f51cdb]
|
||||
link client_address to source_address--><path d="M693.28,891.9192 C740.3,891.9192 802.28,891.9192 851.17,891.9192 " fill="none" id="client_address->source_address" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="856.46,891.9192,847.46,887.9192,851.46,891.9192,847.46,895.9192,856.46,891.9192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="127" x="711.25" y="885.4876">has no client address</text><!--MD5=[1cd4e848379fc555ffa76a6d3111f3fb]
|
||||
link source_address to interface_subnet--><path d="M949.58,910.1292 C979.61,937.9292 1038.68,992.6192 1070.85,1022.4092 " fill="none" id="source_address->interface_subnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1074.63,1025.9092,1070.7255,1016.8674,1070.9543,1022.5196,1065.3021,1022.7484,1074.63,1025.9092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="1017" y="971.4876">no suitable address</text><!--MD5=[a29ca77fdc41863d51ecafa8e32dcb85]
|
||||
link relay_address to inRange--><path d="M319,910.0192 C319,937.8592 319,994.7392 319,1042.9192 C319,1042.9192 319,1042.9192 319,1445.9192 C319,1534.9892 608.22,1565.7192 755.69,1575.5992 " fill="none" id="relay_address->inRange" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="760.87,1575.9392,752.1525,1571.356,755.8808,1575.6104,751.6264,1579.3387,760.87,1575.9392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="320" y="1274.9876">has a relay address</text><!--MD5=[bf38c5431748c4414750c7275409615d]
|
||||
link client_address to inRange--><path d="M598.14,910.0992 C565.15,935.1492 511,985.0692 511,1042.9192 C511,1042.9192 511,1042.9192 511,1445.9192 C511,1498.7592 658.41,1540.8992 755.88,1562.9892 " fill="none" id="client_address->inRange" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="760.78,1564.0892,752.8657,1558.2272,755.8997,1563.0015,751.1254,1566.0356,760.78,1564.0892" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="125" x="512" y="1274.9876">has a client address</text><!--MD5=[306377b471c1f30003804df3ba3e4280]
|
||||
link source_address to inRange--><path d="M856.74,909.9992 C791.87,929.8492 708,969.6692 708,1042.9192 C708,1042.9192 708,1042.9192 708,1445.9192 C708,1498.6392 760.49,1538.1592 799.27,1560.1592 " fill="none" id="source_address->inRange" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="803.93,1562.7492,798.0248,1554.8671,799.5653,1560.3101,794.1222,1561.8506,803.93,1562.7492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="709" y="1274.9876">has source address and use unicast</text><!--MD5=[4c5f9760336ab58778079bb174cbf5f0]
|
||||
link interface_subnet to not_found--><path d="M1183.41,1061.9192 C1267.54,1080.3992 1380,1113.1092 1380,1155.9192 C1380,1155.9192 1380,1155.9192 1380,1878.4192 C1380,1952.2692 1138.67,1963.6392 1013.06,1964.5692 " fill="none" id="interface_subnet->not_found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1007.91,1964.5992,1016.9327,1968.5477,1012.9099,1964.5706,1016.887,1960.5479,1007.91,1964.5992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1381" y="1508.4876">no interface</text><!--MD5=[f6d146b568a537518d52dd0109d2cafd]
|
||||
link interface_subnet to interface_class--><path d="M1071.84,1062.1092 C1052.58,1079.2392 1025.46,1107.4692 1014,1138.9192 C998.88,1180.3992 1037.07,1223.3392 1065.19,1248.0092 " fill="none" id="interface_subnet->interface_class" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1069.26,1251.5192,1065.0657,1242.6081,1065.4768,1248.25,1059.835,1248.6612,1069.26,1251.5192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="1015" y="1161.9876">match</text><!--MD5=[8c73b6f253b7f8003f1aeec9d3e2c401]
|
||||
link interface_subnet to interface_network--><path d="M1109.41,1062.2592 C1127.98,1081.8992 1158.22,1113.8692 1178.12,1134.8992 " fill="none" id="interface_subnet->interface_network" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1181.71,1138.6992,1178.417,1129.4172,1178.2685,1135.0721,1172.6136,1134.9236,1181.71,1138.6992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="1152" y="1105.4876">no match</text><!--MD5=[8a490629b42afa0a067bde343f0409be]
|
||||
link interface_network to interface_class--><path d="M1181.44,1175.2592 C1162.69,1194.8992 1132.15,1226.8692 1112.07,1247.8992 " fill="none" id="interface_network->interface_class" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1108.45,1251.6992,1117.5542,1247.9424,1111.899,1248.0792,1111.7622,1242.424,1108.45,1251.6992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="1152" y="1218.4876">march</text><!--MD5=[e1288d340d0c431aabe10a4c239c74f7]
|
||||
link interface_network to not_found--><path d="M1216.94,1175.1492 C1237.06,1195.4392 1266,1231.1792 1266,1268.9192 C1266,1268.9192 1266,1268.9192 1266,1878.4192 C1266,1930.4492 1109.1,1951.4192 1012.67,1959.3992 " fill="none" id="interface_network->not_found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1007.55,1959.8192,1016.8511,1963.058,1012.5327,1959.404,1016.1867,1955.0856,1007.55,1959.8192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="1267" y="1585.9876">no match</text><!--MD5=[9d13a96273b9c1dbfb8a7fbd997b0088]
|
||||
link interface_class to found--><path d="M1111.94,1288.2092 C1127.1,1302.7092 1146.84,1324.8592 1156,1348.9192 C1203,1472.3792 1160.06,1514.0492 1168,1645.9192 C1169,1662.6092 1171,1666.6992 1171,1683.4192 C1171,1683.4192 1171,1683.4192 1171,1878.4192 C1171,1879.4592 954.79,1925.2992 840.68,1949.4192 " fill="none" id="interface_class->found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="835.66,1950.4792,845.2955,1952.5181,840.5505,1949.4384,843.6302,1944.6934,835.66,1950.4792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="70" x="1169" y="1642.4876">compatible</text><!--MD5=[d4a81a9eb6ae9754c2f91708a00f90ba]
|
||||
link interface_class to interface_address--><path d="M1081.97,1287.9492 C1073.39,1303.3492 1061.43,1326.9092 1055,1348.9192 C1047.93,1373.1292 1045.02,1402.0192 1043.83,1421.5292 " fill="none" id="interface_class->interface_address" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1043.54,1426.7692,1048.0484,1418.0128,1043.8261,1421.7774,1040.0615,1417.5551,1043.54,1426.7692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="95" x="1056" y="1362.4876">not compatible</text><!--MD5=[18f0036984a219b8e279d39e6955cbb3]
|
||||
link interface_address to inRange--><path d="M961.24,1454.9892 C910.72,1462.4692 852.64,1475.1192 837,1494.9192 C823.19,1512.3892 826.7,1538.7792 831.91,1557.5092 " fill="none" id="interface_address->inRange" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="833.41,1562.5792,834.6953,1552.8146,831.993,1557.7842,827.0233,1555.0818,833.41,1562.5792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="153" x="838" y="1508.4876">has an interface address</text><!--MD5=[1be935c2e674a39bb491f742257146af]
|
||||
link interface_address to not_found--><path d="M1037.7,1463.0692 C1030.36,1488.3792 1018,1537.3192 1018,1579.9192 C1018,1579.9192 1018,1579.9192 1018,1878.4192 C1018,1906.2692 995.11,1928.9092 973.97,1943.8892 " fill="none" id="interface_address->not_found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="969.77,1946.7792,979.4482,1944.9538,973.8835,1943.9369,974.9005,1938.3722,969.77,1946.7792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1019" y="1736.4876">no interface address</text><!--MD5=[65c872516cd5acbef394f498ee60e6f6]
|
||||
link inRange to address_class--><path d="M840.75,1599.0492 C842.38,1636.0492 846.21,1723.4492 848.02,1764.6692 " fill="none" id="inRange->address_class" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="848.24,1769.6992,851.8498,1760.5358,848.0253,1764.7038,843.8572,1760.8793,848.24,1769.6992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="845" y="1689.4876">match</text><!--MD5=[c6a81dd9b5c38fb7a31992aeb43efba5]
|
||||
link inRange to not_found--><path d="M768.39,1598.9792 C726.98,1613.5792 683,1639.4392 683,1683.4192 C683,1683.4192 683,1683.4192 683,1878.4192 C683,1897.7892 789.82,1927.8092 865.46,1946.6392 " fill="none" id="inRange->not_found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="870.4,1947.8692,862.6221,1941.8274,865.5459,1946.67,860.7033,1949.5938,870.4,1947.8692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="684" y="1792.9876">no match</text><!--MD5=[6bbdb059bb8431be14feb2edf9179bcc]
|
||||
link address_class to found--><path d="M815.7,1805.9392 C765.48,1832.3692 674.36,1883.6192 657,1915.9192 C644.07,1939.9792 671.86,1951.9792 703.35,1957.9692 " fill="none" id="address_class->found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="708.43,1958.8792,700.2794,1953.3504,703.5088,1957.9948,698.8644,1961.2243,708.43,1958.8792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="70" x="708" y="1882.4876">compatible</text><!--MD5=[6fa859304e08ed6b1a2f69b396a973f6]
|
||||
link address_class to not_found--><path d="M856.62,1805.9192 C865.47,1825.4292 880.68,1858.2892 895,1885.9192 C904.99,1905.1792 917.16,1926.6292 926.17,1942.1492 " fill="none" id="address_class->not_found" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="928.86,1946.7592,927.7843,1936.9693,926.3424,1942.4393,920.8724,1940.9974,928.86,1946.7592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="95" x="896" y="1882.4876">not compatible</text><!--MD5=[920af236d2bfe8ac015294b6ec32c751]
|
||||
link found to subnet4_select--><path d="M787.22,1983.3392 C801.03,1999.1492 821.43,2022.4892 836.24,2039.4392 " fill="none" id="found->subnet4_select" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="839.87,2043.6092,836.9563,2034.2012,836.5785,2039.8454,830.9343,2039.4676,839.87,2043.6092" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[be5a985c5094547d1aa8a3dfda06631d]
|
||||
link not_found to subnet4_select--><path d="M923.59,1983.3392 C909.62,1999.1492 888.98,2022.4892 873.99,2039.4392 " fill="none" id="not_found->subnet4_select" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="870.31,2043.6092,879.2712,2039.523,873.6247,2039.8659,873.2818,2034.2194,870.31,2043.6092" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[085d72d70044aeb14e8d963046e88b11]
|
||||
link found to not_found--><!--MD5=[d0da1e00427a0ca7837196c7dddb3af4]
|
||||
link subnet4_select to success--><path d="M767.05,2070.2692 C735.7,2076.7092 702,2088.4992 677,2109.9192 C664.53,2120.5992 657.42,2137.8792 653.49,2151.7992 " fill="none" id="subnet4_select->success" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="652.18,2156.7492,658.3343,2149.0599,653.4497,2151.9131,650.5965,2147.0285,652.18,2156.7492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="678" y="2123.4876">CONTINUE and subnet set</text><!--MD5=[48d8edc0219dd4d7c3847b4159c280ef]
|
||||
link subnet4_select to no_subnet--><path d="M853.62,2080.3192 C852.99,2089.1692 852.31,2100.1092 852,2109.9192 C851.56,2123.8292 852.26,2139.4292 853.1,2151.7492 " fill="none" id="subnet4_select->no_subnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="853.47,2156.8092,856.8167,2147.5464,853.1127,2151.822,848.8372,2148.118,853.47,2156.8092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="853" y="2123.4876">SKIP or subnet not set</text><!--MD5=[f590b573e48b5dfdcd1774729941f83a]
|
||||
link subnet4_select to drop--><path d="M938.2,2080.0192 C958.54,2086.9392 979.25,2096.5792 996,2109.9192 C1009.78,2120.8892 1019.89,2138.1592 1026.36,2151.9892 " fill="none" id="subnet4_select->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1028.58,2156.9192,1028.5229,2147.0705,1026.5228,2152.362,1021.2313,2150.362,1028.58,2156.9192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="1012" y="2123.4876">DROP</text><!--MD5=[ac540f98c992b562d25c0989cf3dd0fa]
|
||||
@startuml
|
||||
|
||||
title DHCPv4 subnet selection (Kea 1.8.0)
|
||||
|
||||
agent "Entry point" as entry
|
||||
|
||||
agent "Try RAI link select" as rai_link_select
|
||||
|
||||
agent "Try subnet selection option" as subnet_select
|
||||
|
||||
rectangle "Relayed" as relayed {
|
||||
agent "Relay address matches subnet" as relay_subnet
|
||||
agent "Relay address matches shared network" as relay_network
|
||||
agent "Check client class" as relay_class
|
||||
}
|
||||
|
||||
rectangle "Set address for lookup" as set_address {
|
||||
agent "Set relay address" as relay_address
|
||||
agent "Set client address" as client_address
|
||||
agent "Set source address" as source_address
|
||||
}
|
||||
|
||||
rectangle "Try incoming interface" as interface {
|
||||
agent "Interface matches subnet" as interface_subnet
|
||||
agent "Interface matches shared network" as interface_network
|
||||
agent "Check client class" as interface_class
|
||||
agent "Set interface address" as interface_address
|
||||
}
|
||||
|
||||
rectangle "Try address" as address {
|
||||
agent "Check subnet prefix" as inRange
|
||||
agent "Check client class" as address_class
|
||||
}
|
||||
|
||||
agent "Found a subnet" as found
|
||||
|
||||
agent "Found no subnet" as not_found
|
||||
|
||||
agent "Callout subnet4_select" as subnet4_select
|
||||
|
||||
agent "Return a subnet" as success
|
||||
|
||||
agent "Return no subnet" as no_subnet
|
||||
|
||||
agent "Drop query" as drop
|
||||
|
||||
entry - -> rai_link_select
|
||||
rai_link_select - -> subnet_select
|
||||
subnet_select - -> relayed : relayed
|
||||
subnet_select - -> set_address : not relayed
|
||||
relayed - -> relay_subnet
|
||||
relay_subnet - -> relay_network : no match
|
||||
relay_subnet - -> relay_class : match
|
||||
relay_network - -> set_address : no match
|
||||
relay_network - -> relay_class : match
|
||||
relay_class - - -> found : compatible
|
||||
relay_class - -> set_address : not compatible
|
||||
set_address - -> relay_address : try the relay address
|
||||
relay_address -r-> client_address : has no relay address
|
||||
client_address -r-> source_address : has no client address
|
||||
source_address - -> interface_subnet : no suitable address
|
||||
relay_address - -> inRange : has a relay address
|
||||
client_address - -> inRange : has a client address
|
||||
source_address - -> inRange : has source address and use unicast
|
||||
interface_subnet - - -> not_found : no interface
|
||||
interface_subnet - -> interface_class : match
|
||||
interface_subnet - -> interface_network : no match
|
||||
interface_network - -> interface_class : march
|
||||
interface_network - - -> not_found : no match
|
||||
interface_class - - -> found : compatible
|
||||
interface_class - - -> interface_address : not compatible
|
||||
interface_address - -> inRange : has an interface address
|
||||
interface_address - - -> not_found : no interface address
|
||||
inRange - - -> address_class : match
|
||||
inRange - - -> not_found : no match
|
||||
address_class - - -> found : compatible
|
||||
address_class - - -> not_found : not compatible
|
||||
found - -> subnet4_select
|
||||
not_found - -> subnet4_select
|
||||
found -[hidden]> not_found
|
||||
subnet4_select - -> success : CONTINUE and subnet set
|
||||
subnet4_select - -> no_subnet : SKIP or subnet not set
|
||||
subnet4_select - -> drop : DROP
|
||||
|
||||
@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>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="2308px" preserveAspectRatio="none" style="width:1429px;height:2308px;background:#FFFFFF;" version="1.1" viewBox="0 0 1429 2308" width="1429px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="248" x="583.5" y="24.9659">DHCPv4 subnet selection (Kea 1.8.0)</text>
|
||||
<!--cluster relayed-->
|
||||
<g id="cluster_relayed">
|
||||
<rect fill="none" height="391.06" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="442" x="7" y="359.2779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="54" x="201" y="376.2439">Relayed</text>
|
||||
</g>
|
||||
<!--cluster set_address-->
|
||||
<g id="cluster_set_address">
|
||||
<rect fill="none" height="172.93" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="792" x="226" y="817.3379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="157" x="543.5" y="834.3039">Set address for lookup</text>
|
||||
</g>
|
||||
<!--cluster interface-->
|
||||
<g id="cluster_interface">
|
||||
<rect fill="none" height="509.27" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="392" x="919" y="1049.2679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="156" x="1037" y="1066.2339">Try incoming interface</text>
|
||||
</g>
|
||||
<!--cluster address-->
|
||||
<g id="cluster_address">
|
||||
<rect fill="none" height="309.14" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="186" x="737" y="1609.5379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="80" x="790" y="1626.5039">Try address</text>
|
||||
</g>
|
||||
<!--entity relay_subnet-->
|
||||
<g id="elem_relay_subnet">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="226" x="170" y="451.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="206" x="180" y="476.1039">Relay address matches subnet</text>
|
||||
</g>
|
||||
<!--entity relay_network-->
|
||||
<g id="elem_relay_network">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="284" x="141" y="569.1979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="264" x="151" y="594.1639">Relay address matches shared network</text>
|
||||
</g>
|
||||
<!--entity relay_class-->
|
||||
<g id="elem_relay_class">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="113" y="687.2679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="123" y="712.2339">Check client class</text>
|
||||
</g>
|
||||
<!--entity relay_address-->
|
||||
<g id="elem_relay_address">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="136" x="250" y="927.1979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="260" y="952.1639">Set relay address</text>
|
||||
</g>
|
||||
<!--entity client_address-->
|
||||
<g id="elem_client_address">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="140" x="544" y="927.1979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="554" y="952.1639">Set client address</text>
|
||||
</g>
|
||||
<!--entity source_address-->
|
||||
<g id="elem_source_address">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="148" x="846" y="927.1979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="856" y="952.1639">Set source address</text>
|
||||
</g>
|
||||
<!--entity interface_subnet-->
|
||||
<g id="elem_interface_subnet">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="193" x="970.5" y="1087.2679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173" x="980.5" y="1112.2339">Interface matches subnet</text>
|
||||
</g>
|
||||
<!--entity interface_network-->
|
||||
<g id="elem_interface_network">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="251" x="1044.5" y="1205.3379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="231" x="1054.5" y="1230.3039">Interface matches shared network</text>
|
||||
</g>
|
||||
<!--entity interface_class-->
|
||||
<g id="elem_interface_class">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="995" y="1323.3979"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="1005" y="1348.3639">Check client class</text>
|
||||
</g>
|
||||
<!--entity interface_address-->
|
||||
<g id="elem_interface_address">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="163" x="935.5" y="1503.4679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="143" x="945.5" y="1528.4339">Set interface address</text>
|
||||
</g>
|
||||
<!--entity inRange-->
|
||||
<g id="elem_inRange">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="154" x="753" y="1647.5379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="763" y="1672.5039">Check subnet prefix</text>
|
||||
</g>
|
||||
<!--entity address_class-->
|
||||
<g id="elem_address_class">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="769" y="1863.6079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="779" y="1888.5739">Check client class</text>
|
||||
</g>
|
||||
<!--entity entry-->
|
||||
<g id="elem_entry">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="94" x="348" y="47.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="358" y="72.0339">Entry point</text>
|
||||
</g>
|
||||
<!--entity rai_link_select-->
|
||||
<g id="elem_rai_link_select">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="139" x="325.5" y="147.1379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="119" x="335.5" y="172.1039">Try RAI link select</text>
|
||||
</g>
|
||||
<!--entity subnet_select-->
|
||||
<g id="elem_subnet_select">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="203" x="293.5" y="247.2079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="183" x="303.5" y="272.1739">Try subnet selection option</text>
|
||||
</g>
|
||||
<!--entity found-->
|
||||
<g id="elem_found">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="696.5" y="2045.6779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="706.5" y="2070.6439">Found a subnet</text>
|
||||
</g>
|
||||
<!--entity not_found-->
|
||||
<g id="elem_not_found">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="134" x="856" y="2045.6779"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="866" y="2070.6439">Found no subnet</text>
|
||||
</g>
|
||||
<!--entity subnet4_select-->
|
||||
<g id="elem_subnet4_select">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="171" x="754.5" y="2145.7379"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="151" x="764.5" y="2170.7039">Callout subnet4_select</text>
|
||||
</g>
|
||||
<!--entity success-->
|
||||
<g id="elem_success">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="129" x="575.5" y="2263.8079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="585.5" y="2288.7739">Return a subnet</text>
|
||||
</g>
|
||||
<!--entity no_subnet-->
|
||||
<g id="elem_no_subnet">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="771" y="2263.8079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="781" y="2288.7739">Return no subnet</text>
|
||||
</g>
|
||||
<!--entity drop-->
|
||||
<g id="elem_drop">
|
||||
<rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="96" x="967" y="2263.8079"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="977" y="2288.7739">Drop query</text>
|
||||
</g>
|
||||
<!--link entry to rai_link_select-->
|
||||
<g id="link_entry_rai_link_select">
|
||||
<path d="M395,86.5179 C395,101.8479 395,123.5879 395,140.4079 " fill="none" id="entry-to-rai_link_select" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="395,145.3079,399,136.3079,395,140.3079,391,136.3079,395,145.3079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link rai_link_select to subnet_select-->
|
||||
<g id="link_rai_link_select_subnet_select">
|
||||
<path d="M395,186.5779 C395,201.9079 395,223.6579 395,240.4779 " fill="none" id="rai_link_select-to-subnet_select" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="395,245.3779,399,236.3779,395,240.3779,391,236.3779,395,245.3779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link subnet_select to relayed-->
|
||||
<g id="link_subnet_select_relayed">
|
||||
<path d="M386.56,286.6279 C379.085,303.3629 367.9325,328.3354 358.5325,349.3829 C357.3575,352.0139 356.2099,354.5835 355.1003,357.068 C354.8228,357.6891 354.5478,358.3049 354.2753,358.9151 " fill="none" id="subnet_select-to-relayed" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="354.2753,358.9151,361.5978,352.3286,356.3143,354.3497,354.2932,349.0662,354.2753,358.9151" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="373" y="331.1749">relayed</text>
|
||||
</g>
|
||||
<!--link subnet_select to set_address-->
|
||||
<g id="link_subnet_select_set_address">
|
||||
<path d="M430.75,286.5979 C463.86,306.9379 508,342.6679 508,388.6379 C508,388.6379 508,388.6379 508,707.8079 C508,756.6779 465.6075,791.0879 422.5525,813.4329 C421.207,814.1312 419.8609,814.8177 418.5154,815.4925 C417.8427,815.8299 417.1701,816.1643 416.4978,816.4959 C416.1617,816.6617 415.8256,816.8267 415.4897,816.991 " fill="none" id="subnet_select-to-set_address" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="415.4897,816.991,425.3319,816.63,419.9812,814.7942,421.817,809.4435,415.4897,816.991" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="68" x="509" y="535.0949">not relayed</text>
|
||||
</g>
|
||||
<!--link relayed to relay_subnet-->
|
||||
<g id="link_relayed_relay_subnet">
|
||||
<path d="M340.83,390.3679 C338.72,393.2679 316.86,423.2379 300.64,445.4879 " fill="none" id="relayed-to-relay_subnet" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="297.75,449.4479,306.2806,444.5256,300.6926,445.4055,299.8126,439.8175,297.75,449.4479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link relay_subnet to relay_network-->
|
||||
<g id="link_relay_subnet_relay_network">
|
||||
<path d="M283,490.5779 C283,510.1379 283,540.7979 283,562.4379 " fill="none" id="relay_subnet-to-relay_network" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="283,567.3279,287,558.3279,283,562.3279,279,558.3279,283,567.3279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="284" y="535.0949">no match</text>
|
||||
</g>
|
||||
<!--link relay_subnet to relay_class-->
|
||||
<g id="link_relay_subnet_relay_class">
|
||||
<path d="M198.2,490.6879 C156.15,504.8679 109.09,528.9679 84,569.1979 C57.99,610.9179 108.63,656.8779 146.32,683.4379 " fill="none" id="relay_subnet-to-relay_class" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="150.06,686.0279,144.9432,677.6125,145.9511,683.1789,140.3848,684.1868,150.06,686.0279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="38" x="85" y="594.1349">match</text>
|
||||
</g>
|
||||
<!--link relay_network to set_address-->
|
||||
<g id="link_relay_network_set_address">
|
||||
<path d="M286.68,608.6279 C292.36,637.8379 303.67,695.9654 313.6913,747.4692 C318.7019,773.221 323.3903,797.317 326.8917,815.3143 C327.0011,815.8767 327.1094,816.4332 327.2165,816.9836 " fill="none" id="relay_network-to-set_address" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="327.2165,816.9836,329.4241,807.3853,326.2616,812.0756,321.5714,808.9131,327.2165,816.9836" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="317" y="712.2049">no match</text>
|
||||
</g>
|
||||
<!--link relay_network to relay_class-->
|
||||
<g id="link_relay_network_relay_class">
|
||||
<path d="M266.55,608.6479 C249.09,628.7079 221.46,660.4579 202.57,682.1679 " fill="none" id="relay_network-to-relay_class" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="199.44,685.7679,208.3589,681.5903,202.7163,681.9909,202.3157,676.3482,199.44,685.7679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="38" x="240" y="653.1649">match</text>
|
||||
</g>
|
||||
<!--link relay_class to found-->
|
||||
<g id="link_relay_class_found">
|
||||
<path d="M178.01,726.5779 C172.7,753.1779 164,803.4179 164,846.6979 C164,846.6979 164,846.6979 164,1976.1779 C164,2028.7979 532.92,2053.1279 689.77,2061.0979 " fill="none" id="relay_class-to-found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="694.66,2061.3479,685.8653,2056.9148,689.6659,2061.1047,685.476,2064.9053,694.66,2061.3479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="67" x="165" y="1438.3649">compatible</text>
|
||||
</g>
|
||||
<!--link relay_class to set_address-->
|
||||
<g id="link_relay_class_set_address">
|
||||
<path d="M186.01,726.6779 C190.9,745.6379 200.85,774.6479 219,793.3379 C223.795,798.2767 229.1359,802.8079 234.8159,806.9572 C237.6558,809.0318 240.5806,811.0109 243.5642,812.8978 C245.056,813.8412 246.5625,814.7615 248.0805,815.6592 C248.8395,816.108 249.6014,816.5511 250.3657,816.9887 C250.5568,817.0981 250.7481,817.2071 250.9395,817.3158 " fill="none" id="relay_class-to-set_address" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="250.9395,817.3158,245.0885,809.3933,246.5916,814.8468,241.1381,816.3499,250.9395,817.3158" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="220" y="789.2349">not compatible</text>
|
||||
</g>
|
||||
<!--link set_address to relay_address-->
|
||||
<g id="link_set_address_relay_address">
|
||||
<path d="M332.96,848.4779 C332.38,852.2479 326.08,893.1779 321.85,920.7279 " fill="none" id="set_address-to-relay_address" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="321.1,925.5779,326.4166,917.2873,321.8571,920.6356,318.5088,916.076,321.1,925.5779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="122" x="329" y="893.0949">try the relay address</text>
|
||||
</g>
|
||||
<!--link relay_address to client_address-->
|
||||
<g id="link_relay_address_client_address">
|
||||
<path d="M386.28,946.7279 C431.37,946.7279 490.52,946.7279 537.24,946.7279 " fill="none" id="relay_address-to-client_address" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="542.24,946.7279,533.24,942.7279,537.24,946.7279,533.24,950.7279,542.24,946.7279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="122" x="404" y="939.6249">has no relay address</text>
|
||||
</g>
|
||||
<!--link client_address to source_address-->
|
||||
<g id="link_client_address_source_address">
|
||||
<path d="M684.2,946.7279 C730.39,946.7279 790.98,946.7279 839.17,946.7279 " fill="none" id="client_address-to-source_address" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="844.07,946.7279,835.07,942.7279,839.07,946.7279,835.07,950.7279,844.07,946.7279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="125" x="702.5" y="939.6249">has no client address</text>
|
||||
</g>
|
||||
<!--link source_address to interface_subnet-->
|
||||
<g id="link_source_address_interface_subnet">
|
||||
<path d="M937.44,966.4879 C964.41,995.4779 1016.16,1051.1279 1045.43,1082.6079 " fill="none" id="source_address-to-interface_subnet" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1048.55,1085.9679,1045.3321,1076.6596,1045.1379,1082.3131,1039.4844,1082.119,1048.55,1085.9679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="116" x="998" y="1029.1649">no suitable address</text>
|
||||
</g>
|
||||
<!--link relay_address to inRange-->
|
||||
<g id="link_relay_address_inRange">
|
||||
<path d="M318,966.7079 C318,996.3879 318,1055.5779 318,1105.7979 C318,1105.7979 318,1105.7979 318,1524.0079 C318,1611.7779 600.91,1647.5579 746.13,1660.1479 " fill="none" id="relay_address-to-inRange" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="751.01,1660.5679,742.3868,1655.8097,746.0285,1660.1385,741.6997,1663.7801,751.01,1660.5679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="113" x="319" y="1348.3349">has a relay address</text>
|
||||
</g>
|
||||
<!--link client_address to inRange-->
|
||||
<g id="link_client_address_inRange">
|
||||
<path d="M588.81,966.6479 C556.06,993.6079 503,1046.4479 503,1105.7979 C503,1105.7979 503,1105.7979 503,1524.0079 C503,1629.9979 649.31,1657.7579 746.2,1664.5179 " fill="none" id="client_address-to-inRange" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="751,1664.8379,742.2817,1660.2564,746.0108,1664.5101,741.7571,1668.2392,751,1664.8379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="116" x="504" y="1348.3349">has a client address</text>
|
||||
</g>
|
||||
<!--link source_address to inRange-->
|
||||
<g id="link_source_address_inRange">
|
||||
<path d="M845.65,965.7379 C778.78,986.8879 691,1029.2279 691,1105.7979 C691,1105.7979 691,1105.7979 691,1524.0079 C691,1578.9879 744.85,1620.5679 785.52,1644.1279 " fill="none" id="source_address-to-inRange" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="789.59,1646.4379,783.7463,1638.51,785.2444,1643.9649,779.7895,1645.463,789.59,1646.4379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="210" x="692" y="1348.3349">has source address and use unicast</text>
|
||||
</g>
|
||||
<!--link interface_subnet to not_found-->
|
||||
<g id="link_interface_subnet_not_found">
|
||||
<path d="M1163.65,1109.3879 C1245.29,1116.4879 1349,1141.6779 1349,1223.8679 C1349,1223.8679 1349,1223.8679 1349,1976.1779 C1349,2047.3079 1118.33,2061.4179 996.47,2063.9179 " fill="none" id="interface_subnet-to-not_found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="991.54,2064.0079,1000.6182,2067.8272,996.539,2063.9079,1000.4582,2059.8288,991.54,2064.0079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="71" x="1350" y="1589.4349">no interface</text>
|
||||
</g>
|
||||
<!--link interface_subnet to interface_class-->
|
||||
<g id="link_interface_subnet_interface_class">
|
||||
<path d="M1044.43,1126.7879 C1025,1144.7379 998.36,1173.5779 987,1205.3379 C971.83,1247.7379 1008.42,1292.3879 1036.21,1318.6679 " fill="none" id="interface_subnet-to-interface_class" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1039.82,1322.0079,1035.9155,1312.9661,1036.1443,1318.6183,1030.4921,1318.8471,1039.82,1322.0079" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="38" x="988" y="1230.2649">match</text>
|
||||
</g>
|
||||
<!--link interface_subnet to interface_network-->
|
||||
<g id="link_interface_subnet_interface_network">
|
||||
<path d="M1083.78,1126.7079 C1101.58,1146.7779 1129.76,1178.5179 1149.02,1200.2279 " fill="none" id="interface_subnet-to-interface_network" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1152.22,1203.8379,1149.2304,1194.4538,1148.8982,1200.1009,1143.2511,1199.7687,1152.22,1203.8379" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="1125" y="1171.2349">no match</text>
|
||||
</g>
|
||||
<!--link interface_network to interface_class-->
|
||||
<g id="link_interface_network_interface_class">
|
||||
<path d="M1152.73,1244.7779 C1134.41,1264.8379 1105.41,1296.5879 1085.59,1318.2979 " fill="none" id="interface_network-to-interface_class" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1082.28,1321.9179,1091.306,1317.9769,1085.6547,1318.2286,1085.4031,1312.5773,1082.28,1321.9179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="38" x="1124" y="1289.2949">march</text>
|
||||
</g>
|
||||
<!--link interface_network to not_found-->
|
||||
<g id="link_interface_network_not_found">
|
||||
<path d="M1189.38,1244.8879 C1209.17,1266.4279 1237,1303.5479 1237,1341.9379 C1237,1341.9379 1237,1341.9379 1237,1976.1779 C1237,2025.8479 1089.48,2048.7879 996.67,2058.2979 " fill="none" id="interface_network-to-not_found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="991.87,2058.7879,1001.2242,2061.8699,996.845,2058.289,1000.4259,2053.9098,991.87,2058.7879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="1238" y="1672.4649">no match</text>
|
||||
</g>
|
||||
<!--link interface_class to found-->
|
||||
<g id="link_interface_class_found">
|
||||
<path d="M1085.86,1362.7379 C1101.31,1377.4979 1120.83,1399.5079 1130,1423.4679 C1179.63,1553.1279 1133.94,1597.0079 1142,1735.6079 C1143,1752.7379 1145,1756.9479 1145,1774.1079 C1145,1774.1079 1145,1774.1079 1145,1976.1779 C1145,2045.9079 906.97,2030.0779 839,2045.6779 C835.44,2046.4879 831.79,2047.3279 828.1,2048.1779 " fill="none" id="interface_class-to-found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="823.35,2049.2779,833.0206,2051.1435,828.221,2048.1494,831.215,2043.3499,823.35,2049.2779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="67" x="1143" y="1731.5049">compatible</text>
|
||||
</g>
|
||||
<!--link interface_class to interface_address-->
|
||||
<g id="link_interface_class_interface_address">
|
||||
<path d="M1055.33,1362.8379 C1048.36,1378.7179 1038.81,1402.1679 1033,1423.4679 C1026.32,1447.9579 1022.05,1476.6679 1019.61,1496.7679 " fill="none" id="interface_class-to-interface_address" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1019.03,1501.7279,1024.0584,1493.2594,1019.6167,1496.7625,1016.1137,1492.3207,1019.03,1501.7279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="1034" y="1438.3649">not compatible</text>
|
||||
</g>
|
||||
<!--link interface_address to inRange-->
|
||||
<g id="link_interface_address_inRange">
|
||||
<path d="M935.09,1535.7079 C890.06,1543.9979 840.63,1556.8179 827,1574.5379 C812.66,1593.1879 815.9,1620.8679 821.19,1640.8979 " fill="none" id="interface_address-to-inRange" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="822.54,1645.6579,823.9213,1635.9064,821.1702,1640.8492,816.2273,1638.0981,822.54,1645.6579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="144" x="828" y="1589.4349">has an interface address</text>
|
||||
</g>
|
||||
<!--link interface_address to not_found-->
|
||||
<g id="link_interface_address_not_found">
|
||||
<path d="M1013.09,1542.7479 C1007.8,1569.8479 999,1621.5679 999,1666.0679 C999,1666.0679 999,1666.0679 999,1976.1779 C999,2003.1679 978.28,2025.9679 958.48,2041.6079 " fill="none" id="interface_address-to-not_found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="954.68,2044.4979,964.2621,2042.2211,958.6558,2041.466,959.411,2035.8597,954.68,2044.4979" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="121" x="1000" y="1829.5049">no interface address</text>
|
||||
</g>
|
||||
<!--link inRange to address_class-->
|
||||
<g id="link_inRange_address_class">
|
||||
<path d="M830.71,1687.0679 C832.15,1725.7079 835.43,1813.4579 837.06,1856.8679 " fill="none" id="inRange-to-address_class" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="837.24,1861.6779,840.9032,1852.5356,837.0544,1856.6814,832.9087,1852.8326,837.24,1861.6779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="38" x="835" y="1780.5049">match</text>
|
||||
</g>
|
||||
<!--link inRange to not_found-->
|
||||
<g id="link_inRange_not_found">
|
||||
<path d="M759.3,1687.0679 C718.42,1702.8079 675,1729.9279 675,1774.1079 C675,1774.1079 675,1774.1079 675,1976.1779 C675,1994.8679 776.34,2025.6379 849.46,2045.3979 " fill="none" id="inRange-to-not_found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="854.1,2046.6479,846.4494,2040.4457,849.2719,2045.348,844.3696,2048.1706,854.1,2046.6479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="676" y="1888.5349">no match</text>
|
||||
</g>
|
||||
<!--link address_class to found-->
|
||||
<g id="link_address_class_found">
|
||||
<path d="M803.16,1902.9579 C753.3,1930.6979 665.77,1982.7179 649,2014.6779 C637.19,2037.1879 661.3,2049.4879 689.93,2056.1979 " fill="none" id="address_class-to-found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="694.62,2057.2179,686.6857,2051.3829,689.7361,2056.1469,684.9721,2059.1972,694.62,2057.2179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="67" x="701" y="1980.5749">compatible</text>
|
||||
</g>
|
||||
<!--link address_class to not_found-->
|
||||
<g id="link_address_class_not_found">
|
||||
<path d="M845.19,1902.9179 C853.15,1923.2979 866.63,1956.6779 880,1984.6779 C888.98,2003.4679 900.2,2024.1479 908.93,2039.7079 " fill="none" id="address_class-to-not_found" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="911.28,2043.8779,910.3433,2034.0737,908.8239,2039.5227,903.3749,2038.0034,911.28,2043.8779" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="881" y="1980.5749">not compatible</text>
|
||||
</g>
|
||||
<!--link found to subnet4_select-->
|
||||
<g id="link_found_subnet4_select">
|
||||
<path d="M774.62,2085.1179 C787.73,2100.9879 806.52,2123.7379 820.59,2140.7779 " fill="none" id="found-to-subnet4_select" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="823.47,2144.2579,820.8228,2134.7715,820.286,2140.4028,814.6546,2139.8659,823.47,2144.2579" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link not_found to subnet4_select-->
|
||||
<g id="link_not_found_subnet4_select">
|
||||
<path d="M907,2085.1179 C893.56,2100.9879 874.31,2123.7379 859.89,2140.7779 " fill="none" id="not_found-to-subnet4_select" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="856.93,2144.2679,865.7977,2139.9827,860.1604,2140.4515,859.6915,2134.8141,856.93,2144.2679" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<!--link found to not_found-->
|
||||
<!--link subnet4_select to success-->
|
||||
<g id="link_subnet4_select_success">
|
||||
<path d="M754.28,2174.9179 C724.09,2181.6979 691.77,2193.6879 668,2214.8079 C655.63,2225.7979 648.6,2243.1079 644.67,2257.4579 " fill="none" id="subnet4_select-to-success" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="643.55,2261.9279,649.6348,2254.1836,644.7761,2257.0806,641.8791,2252.2218,643.55,2261.9279" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="158" x="669" y="2229.7049">CONTINUE and subnet set</text>
|
||||
</g>
|
||||
<!--link subnet4_select to no_subnet-->
|
||||
<g id="link_subnet4_select_no_subnet">
|
||||
<path d="M838.56,2185.1679 C837.95,2194.1379 837.3,2205.0179 837,2214.8079 C836.57,2228.7979 837.19,2244.3979 837.98,2257.0879 " fill="none" id="subnet4_select-to-no_subnet" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="838.3,2261.9179,841.6731,2252.6647,837.957,2256.9297,833.692,2253.2135,838.3,2261.9179" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="133" x="838" y="2229.7049">SKIP or subnet not set</text>
|
||||
</g>
|
||||
<!--link subnet4_select to drop-->
|
||||
<g id="link_subnet4_select_drop">
|
||||
<path d="M922.26,2185.2079 C941.3,2192.2879 960.5,2201.8879 976,2214.8079 C989.56,2226.1179 999.42,2243.4179 1005.84,2257.6779 " fill="none" id="subnet4_select-to-drop" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="1007.78,2262.1879,1007.9113,2252.3399,1005.8104,2257.5922,1000.5581,2255.4913,1007.78,2262.1879" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="35" x="992" y="2229.7049">DROP</text>
|
||||
</g>
|
||||
<!--SRC=[ZPPDRzim38Rl_XL2JziXnGRqCFHGO4WwB2ZG1cbt6eP0jPbOY2jvahmj6FRVfo_hotBJIskHpqjHf4n74ja1MdrTRdvT8J4yKv18G0Ur98oYTtU0qSVBJvSVtbSLFW2LwEAMIdv2FIDKNY0i4EYrzpuft_Rp6dM47bqWGt5CTjgsixQ4dspBUltFwApFgxZwY-b1fNonXGwVeB7HxJFwMo4NrtWHRXeEGg0NBEiMncX1ihE6SweMSnLSWRyPFqPgP_7oPGlr4TKTqQkwmq94i5bN_v8pFAfZZxlj6KSTOyUXjmTNfnvTuLXQmECaemsS9M5TBZ5iJKLQi87NaD3MvEaqVTqyGclsGkX1FKZWUro3qVbLbFpQsmhzy8Ay9mNLj1z1_SQU187jIro6a7jSYQ2OBqRCJvjdKt6tlUUm9tzSvAsA0UTITW73HNBu5pRG1k6uc7jjoW3AOe8okKkf9UuwDaW7NUsYbpSrUSKMvC1fkhCOwbhN9cFopSScZzYAinxz782V3D2ePLMPoO8MYvl9zCZMXaadHRAoCToCk1wV2apyqbth6dbsLFj8umdYHUHrrz14iHTtZZJjL5mCZUfIJhFWV3XhMsZ8z5ovrKlROqcUEyYOKX4YE7Q6JGEkEoPRI8TKbL8BheJf65BArboCJ9XHHfcEfA1CPrsLOJhPVCROUeg1IApEDfUj4PetrEs5poHP4BmbjrYHJcA4LSy60MYWfCP2LfE3cDxwTzgUoqCb_2QVWFxAd84B5tlgd8lFP-XfyddarwzmaPiCxEbjdYA5vj7f1w4eVAK3aSw6DdGoqAFwHqYnAgbkhYO5AesMLCAQmnprmpve2axd-DwIfW7w8zgXIaadDjy6jVdouVvfVV_jrbni__DFbaJ-Mw5aZtVh3L8_avn17s56fJyWIh3QFcog_m00]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 32 KiB |
@ -1,21 +1,24 @@
|
||||
<?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="197px" preserveAspectRatio="none" style="width:308px;height:197px;background:#FFFFFF;" version="1.1" viewBox="0 0 308 197" width="308px" zoomAndPan="magnify"><defs><filter height="300%" id="fz1ehskz14z05" 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="spacing" textLength="283" x="9" y="29.4023">TKEY Exchange (GSS-TSIG hook)</text><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="70.5" x2="70.5" y1="75.6875" y2="154.3086"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="240.5" x2="240.5" y1="75.6875" y2="154.3086"/><rect fill="#FEFECE" filter="url(#fz1ehskz14z05)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="108" x="14.5" y="40.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="21.5" y="60.7344">Kea D2 server</text><rect fill="#FEFECE" filter="url(#fz1ehskz14z05)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="108" x="14.5" y="153.3086"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="21.5" y="173.8438">Kea D2 server</text><rect fill="#FEFECE" filter="url(#fz1ehskz14z05)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="88" x="194.5" y="40.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="201.5" y="60.7344">DNS server</text><rect fill="#FEFECE" filter="url(#fz1ehskz14z05)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="88" x="194.5" y="153.3086"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="201.5" y="173.8438">DNS server</text><polygon fill="#A80036" points="228.5,102.998,238.5,106.998,228.5,110.998,232.5,106.998" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="70.5" x2="234.5" y1="106.998" y2="106.998"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="82" x="77.5" y="102.2559">TKEY request</text><polygon fill="#A80036" points="81.5,132.3086,71.5,136.3086,81.5,140.3086,77.5,136.3086" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="75.5" x2="239.5" y1="136.3086" y2="136.3086"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="146" x="87.5" y="131.5664">TKEY response (signed)</text><!--MD5=[7d4889a5feeb1588c9f7e0e768327f46]
|
||||
@startuml
|
||||
|
||||
title TKEY Exchange (GSS-TSIG hook)
|
||||
|
||||
participant "Kea D2 server" as Kea
|
||||
participant "DNS server" as DNS
|
||||
|
||||
Kea -> DNS: TKEY request
|
||||
DNS -> Kea: TKEY response (signed)
|
||||
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2021.9(Sun Jul 25 12:13:56 CEST 2021)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="200px" preserveAspectRatio="none" style="width:271px;height:200px;background:#FFFFFF;" version="1.1" viewBox="0 0 271 200" width="271px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="220" x="24.5" y="29.9659">TKEY Exchange (GSS-TSIG hook)</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="58" x2="58" y1="79.1358" y2="162.5479"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="220" x2="220" y1="79.1358" y2="162.5479"/>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="107" x="5" y="45.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="12" y="67.0339">Kea D2 server</text>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="107" x="5" y="161.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="12" y="183.5138">Kea D2 server</text>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89" x="176" y="45.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="183" y="67.0339">DNS server</text>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89" x="176" y="161.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="183" y="183.5138">DNS server</text>
|
||||
<polygon fill="#181818" points="208.5,108.8419,218.5,112.8419,208.5,116.8419,212.5,112.8419" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="58.5" x2="214.5" y1="112.8419" y2="112.8419"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="78" x="65.5" y="107.0328">TKEY request</text>
|
||||
<polygon fill="#181818" points="69.5,140.5479,59.5,144.5479,69.5,148.5479,65.5,144.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="63.5" x2="219.5" y1="144.5479" y2="144.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="138" x="75.5" y="138.7389">TKEY response (signed)</text>
|
||||
<!--SRC=[AyaioKbL2F5sZLHmhKZEICnBJrNGS0yErWq9zdHNoCZFpzRauYf8B2h9JCuiICmhKL3oJarKS35IA4ujAaijKb98B5O0Yg0gSV4BHfO7ShcuGDfqxK1iAuXrHQc5fQd59LmWnK09e3nSehWWFwyOw8xYpFIyr1HDBW00]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.8 KiB |
@ -1,21 +1,24 @@
|
||||
<?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="197px" preserveAspectRatio="none" style="width:367px;height:197px;background:#FFFFFF;" version="1.1" viewBox="0 0 367 197" width="367px" zoomAndPan="magnify"><defs><filter height="300%" id="f1k5dkaewnu0nj" 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="spacing" textLength="342" x="9" y="29.4023">DNS Update Exchange (GSS-TSIG hook)</text><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="78.5" x2="78.5" y1="75.6875" y2="154.3086"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="291.5" x2="291.5" y1="75.6875" y2="154.3086"/><rect fill="#FEFECE" filter="url(#f1k5dkaewnu0nj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="108" x="22.5" y="40.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="29.5" y="60.7344">Kea D2 server</text><rect fill="#FEFECE" filter="url(#f1k5dkaewnu0nj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="108" x="22.5" y="153.3086"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="29.5" y="173.8438">Kea D2 server</text><rect fill="#FEFECE" filter="url(#f1k5dkaewnu0nj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="88" x="245.5" y="40.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="252.5" y="60.7344">DNS server</text><rect fill="#FEFECE" filter="url(#f1k5dkaewnu0nj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="88" x="245.5" y="153.3086"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="252.5" y="173.8438">DNS server</text><polygon fill="#A80036" points="279.5,102.998,289.5,106.998,279.5,110.998,283.5,106.998" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="78.5" x2="285.5" y1="106.998" y2="106.998"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="179" x="85.5" y="102.2559">DNS update request (signed)</text><polygon fill="#A80036" points="89.5,132.3086,79.5,136.3086,89.5,140.3086,85.5,136.3086" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="83.5" x2="290.5" y1="136.3086" y2="136.3086"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="189" x="95.5" y="131.5664">DNS update response (signed)</text><!--MD5=[1878df8bb6338e54fcd61a1faf1a5cc0]
|
||||
@startuml
|
||||
|
||||
title DNS Update Exchange (GSS-TSIG hook)
|
||||
|
||||
participant "Kea D2 server" as Kea
|
||||
participant "DNS server" as DNS
|
||||
|
||||
Kea -> DNS: DNS update request (signed)
|
||||
DNS -> Kea: DNS update response (signed)
|
||||
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2021.9(Sun Jul 25 12:13:56 CEST 2021)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="200px" preserveAspectRatio="none" style="width:314px;height:200px;background:#FFFFFF;" version="1.1" viewBox="0 0 314 200" width="314px" zoomAndPan="magnify">
|
||||
<defs/>
|
||||
<g>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="270" x="21" y="29.9659">DNS Update Exchange (GSS-TSIG hook)</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="58" x2="58" y1="79.1358" y2="162.5479"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="263" x2="263" y1="79.1358" y2="162.5479"/>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="107" x="5" y="45.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="12" y="67.0339">Kea D2 server</text>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="107" x="5" y="161.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="12" y="183.5138">Kea D2 server</text>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89" x="219" y="45.0679"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="226" y="67.0339">DNS server</text>
|
||||
<rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89" x="219" y="161.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="226" y="183.5138">DNS server</text>
|
||||
<polygon fill="#181818" points="251.5,108.8419,261.5,112.8419,251.5,116.8419,255.5,112.8419" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="58.5" x2="257.5" y1="112.8419" y2="112.8419"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="172" x="65.5" y="107.0328">DNS update request (signed)</text>
|
||||
<polygon fill="#181818" points="69.5,140.5479,59.5,144.5479,69.5,148.5479,65.5,144.5479" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="63.5" x2="262.5" y1="144.5479" y2="144.5479"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="181" x="75.5" y="138.7389">DNS update response (signed)</text>
|
||||
<!--SRC=[NOsz3i8m38JtFCMfKpjqOMHWAgeG4alA0rYjrKQW9CGkul59OE1dy_c-krEdLqPtiZZ7YPInVumB-PbHzzQsWptqM4AuDCP4Ikf65yahgYCJkWs4qvrJ1HBapozIIh_yB8qfiNPNxkrhT7sF9hwjB8fQtEnvQapnCfVnFqvYyC8Vy0a0]-->
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 2.8 KiB |