<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
My expectation is when dhcp6 packet received from fd01 subnet , reply should include Option value 5 to be 10.5.152.181, and for fd02 it should be 10.5.152.18 . But the behavior is not same with Kea2.1.1 . it sends whichever the one first received meaning if
 I receive fd01 then it keeps sending 10.5.152.181 for subsequent packets irrespective of subnet. I tried with Client-class option and also require-client-classes (deferred eval). I cannot use option in subnet level as it is dynamically added
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
Is this approach wrong from my side ? if so can you help what should I be using ? I am following the document
<a href="https://kb.isc.org/docs/understanding-client-classification"><span style="color:#0563C1">https://kb.isc.org/docs/understanding-client-classification</span></a>.
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
"Dhcp6": {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
    "client-classes": [   <o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
   {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "name": "Client_fd01",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "option-data": [<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "always-send": true,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "code": 5,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "csv-format": true,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "data": "10.5.152.181",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "name": "est-addr",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "space": "vendor-26484"<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          }<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        <span style="background:yellow;mso-highlight:yellow">"test": "substring(addrtotext(relay6[-1].linkaddr), 0, 4) == 'fd01'"  // Indicates one HES instance that requires option 5 value to be 10.5.152.181</span><o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
      },<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
      {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "name": "Client_fd02",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "option-data": [<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "always-send": true,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "code": 5,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "csv-format": true,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "data": "10.5.152.18",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "name": "est-addr",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "space": "vendor-26484"<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          }<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "test": "substring(addrtotext(relay6[-1].linkaddr), 0, 4) == 'fd02'"   <span style="background:yellow;mso-highlight:yellow">
// Indicates one HES instance that requires option 5 value to be 10.5.152.18</span><o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
      }<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
    ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
"subnet6": [<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
      {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "calculate-tee-times": false,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "id": 1,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "option-data": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "pd-pools": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "pools": [<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "option-data": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "pool": "fd01::/112"<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          }<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        <span style="background:yellow;mso-highlight:yellow">"require-client-classes": ["Client_fd01"],</span><o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "preferred-lifetime": 4294967295,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "rapid-commit": true,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "rebind-timer": 2000,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "relay": {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          "ip-addresses": [ ]<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        },<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "renew-timer": 1000,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "reservations": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "store-extended-info": false,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "subnet": "fd01::/64",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "t1-percent": 0.8,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "t2-percent": 0.9,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "valid-lifetime": 4294967295<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
      },<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
{<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "calculate-tee-times": true,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "id": 3,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "option-data": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "pd-pools": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "pools": [<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "option-data": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
            "pool": "fd02::/112"<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          }<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "preferred-lifetime": 4294967295,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "rapid-commit": true,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "rebind-timer": 4294967295,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "relay": {<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
          "ip-addresses": [ ]<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        },<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        <span style="background:yellow;mso-highlight:yellow">"require-client-classes": ["Client_fd02"],</span><o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "renew-timer": 4294967295,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "reservations": [ ],<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "store-extended-info": false,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "subnet": "fd02::/64",<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "t1-percent": 0.8,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "t2-percent": 0.9,<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
        "valid-lifetime": 0<o:p> </o:p></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif">
      }<o:p> </o:p></p>
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
pls find the attached pcap files that should show issue between 2 subnets (packets sent from perfdhcp)</div>
</body>
</html>