<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>