<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);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> kea-dev <kea-dev-bounces@lists.isc.org> on behalf of s k <sat98@hotmail.com><br>
<b>Sent:</b> Monday, June 13, 2022 10:54 AM<br>
<b>To:</b> kea-dev@lists.isc.org <kea-dev@lists.isc.org><br>
<b>Subject:</b> [kea-dev] Vendor Client Class options</font>
<div> </div>
</div>
<div dir="ltr">
<div class="x_elementToProof" style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;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  </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;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" data-auth="NotApplicable">
<span style="color:#0563C1">https://kb.isc.org/docs/understanding-client-classification</span></a>.  </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
"Dhcp6": { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
    "client-classes": [    </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
   { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "name": "Client_fd01", </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "option-data": [ </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "always-send": true, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "code": 5, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "csv-format": true, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "data": "10.5.152.181", </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "name": "est-addr", </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "space": "vendor-26484" </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          } </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        ], </p>
<p class="x_MsoNormal elementToProof" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        <span style="background:yellow">"test": "substring(addrtotext(relay6[-1].linkaddr), 0, 4) == 'fd01'"  // Indicates  HES #1 instance that requires option 5 value to be 10.5.152.181</span> </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
      }, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
      { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "name": "Client_fd02", </p>
<p class="x_MsoNormal elementToProof" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "option-data": [ </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "always-send": true, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "code": 5, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "csv-format": true, </p>
<p class="x_MsoNormal elementToProof" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "data": "10.5.152.18", </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "name": "est-addr", </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "space": "vendor-26484" </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          } </p>
<p class="x_MsoNormal elementToProof" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        ], </p>
<p class="x_MsoNormal elementToProof" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "test": "substring(addrtotext(relay6[-1].linkaddr), 0, 4) == 'fd02'"   <span style="background:yellow">
// Indicates one HES #2 instance that requires option 5 value to be 10.5.152.18</span> </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
      } </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
    ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
"subnet6": [ </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
      { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "calculate-tee-times": false, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "id": 1, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "option-data": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "pd-pools": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "pools": [ </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "option-data": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "pool": "fd01::/112" </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          } </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        <span style="background:yellow">"require-client-classes": ["Client_fd01"],</span> </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "preferred-lifetime": 4294967295, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "rapid-commit": true, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "rebind-timer": 2000, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "relay": { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          "ip-addresses": [ ] </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        }, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "renew-timer": 1000, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "reservations": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "store-extended-info": false, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "subnet": "fd01::/64", </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "t1-percent": 0.8, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "t2-percent": 0.9, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "valid-lifetime": 4294967295 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
      }, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
{ </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "calculate-tee-times": true, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "id": 3, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "option-data": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "pd-pools": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "pools": [ </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "option-data": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
            "pool": "fd02::/112" </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          } </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "preferred-lifetime": 4294967295, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "rapid-commit": true, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "rebind-timer": 4294967295, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "relay": { </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
          "ip-addresses": [ ] </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        }, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        <span style="background:yellow">"require-client-classes": ["Client_fd02"],</span> </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "renew-timer": 4294967295, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "reservations": [ ], </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "store-extended-info": false, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "subnet": "fd02::/64", </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "t1-percent": 0.8, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "t2-percent": 0.9, </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
        "valid-lifetime": 0 </p>
<p class="x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin:0in; font-size:11pt; font-family:Calibri,sans-serif">
      } </p>
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
pls find the attached pcap files that should show issue between 2 subnets (packets sent from perfdhcp)</div>
</div>
</body>
</html>