<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><span data-preserver-spaces="true" style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;" data-mce-style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;">Hi Jonas,</span></p><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><span data-preserver-spaces="true" style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;" data-mce-style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;">Thank you for your interest in Kea.</span></p><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><br></p><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><span data-preserver-spaces="true" style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;" data-mce-style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;">Please create a feature request issue at </span><a target="_blank" href="https://gitlab.isc.org/isc-projects/kea" class="editor-rtfLink" style="background: none; margin-top: 0pt; margin-bottom: 0pt; color: #4a6ee0;" rel="noopener" data-mce-href="https://gitlab.isc.org/isc-projects/kea" data-mce-style="background: none; margin-top: 0pt; margin-bottom: 0pt; color: #4a6ee0;"><span data-preserver-spaces="true" style="background: none; margin-top: 0pt; margin-bottom: 0pt; color: #4a6ee0;" data-mce-style="background: none; margin-top: 0pt; margin-bottom: 0pt; color: #4a6ee0;">https://gitlab.isc.org/isc-projects/kea .</span></a></p><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><span data-preserver-spaces="true" style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;" data-mce-style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;">You can attach any configurations to the gitlab issue.</span></p><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><br></p><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><span data-preserver-spaces="true" style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;" data-mce-style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;">Kind Regards Peter</span></p><p style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: rgb(14, 16, 26); background: none; margin: 0px;" data-mce-style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; color: #0e101a; background: none; margin: 0px;"><span data-preserver-spaces="true" style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;" data-mce-style="color: #0e101a; background: none; margin-top: 0pt; margin-bottom: 0pt;">ISC Support</span></p><br></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><b>From: </b>"Kea-users@lists.isc.org" <kea-users@lists.isc.org><br><b>To: </b>"Kea-users@lists.isc.org" <kea-users@lists.isc.org><br><b>Cc: </b>"Jonas Alfredsson" <jonas.alfredsson@protonmail.com><br><b>Sent: </b>Friday, 3 January, 2025 11:02:23<br><b>Subject: </b>[Kea-users] Feature request: Control when "evaluate-additional-classes" is executed<br></div><div><br></div><div data-marker="__QUOTED_TEXT__"><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">Hi, </span><br></div><div style="font-family:'arial' , sans-serif;font-size:14px"><br></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">With Kea 2.7.5 it is now possible to add a "client-classes" limit to the pool </span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">argument like this:</span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">{<!-- --><div>    "pool": "172.27.140.2-172.27.140.10",</div><div>    "client-classes": ["k8s-node", "special-k8s-node"]</div><div>},</div><div>{<!-- --></div><div>    "pool": "172.27.140.20-172.27.140.30",</div><div>    "client-classes": ["not-k8s-node"]</div>}<br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">This is nice, but I ran into an issue where when we mark these classes with<br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">"only-in-additional-list": true, they are only evaluated after a pool has </span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">been selected, thus these pools will never be chosen unless we remove the </span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">late evaluation from the class definitions (which would mean that all </span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">requests are classified, even though it is only relevant for a single </span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">subnet).<br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">My suggestion/request would be that these "only-in-additional-list" are </span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">evaluated at the level where the "evaluate-additional-classes" is defined.<br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">So if we have the following configuration:</span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">"subnet4": [{<!-- --><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">    "id": 1,<br>    "subnet": "172.27.140.0/26",</span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">    "evaluate-additional-classes": [<div>        "k8s-node",</div><div>        "special-k8s-node",</div><div>        "not-k8s-node"</div>    ],</span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">    "pools": { ... }</span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">}]<br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">The classes defined in that list are evaluated when the subnet has been chosen,</span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">but before the actual pool has been chosen. <br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">I will attach a complete config file to provide more context to what I am </span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">trying to achieve, and I am looking forward to hear what you think of this. <br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">Best regards,</span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace">Jonas<br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div style="font-family:'arial' , sans-serif;font-size:14px"><span style="font-family:'menlo' , 'consolas' , 'courier new' , monospace"><br></span></div><div class="protonmail_signature_block protonmail_signature_block-empty" style="font-family:'arial' , sans-serif;font-size:14px">
    <div class="protonmail_signature_block-user protonmail_signature_block-empty">
        
            </div>
    
            <div class="protonmail_signature_block-proton protonmail_signature_block-empty">
        
            </div>
</div>
<br>-- <br>ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.<br><br>To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.<br><br>Kea-users mailing list<br>Kea-users@lists.isc.org<br>https://lists.isc.org/mailman/listinfo/kea-users<br></div></div></body></html>