<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:D="DAV:" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Tahoma","sans-serif";
        color:windowtext;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Tahoma","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:811673379;
        mso-list-type:hybrid;
        mso-list-template-ids:-51998332 -1081198684 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:6;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Tahoma","sans-serif";
        mso-fareast-font-family:Calibri;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>Thanks for everyone’s feedback.  We tested this afternoon
and it worked great.  We were able get two leases handed out, but the
third resulted in a log entry of <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>Apr 23
14:57:28 a.b.c.d dhcpd: DHCPDISCOVER from 00:22:6b:71:e2:bb via e.f.g.254: no
available billing<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>Apr 23
14:57:46 a.b.c.d dhcpd: DHCPDISCOVER from 00:22:6b:71:e2:bb via e.f.g.254: no
available billing<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>The Calix gear supports two kinds of Option 82: “Standard”
and “DSL Forum 1”.  <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>“Standard” results in the following:<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif";color:#1F497D'>agent.circuit-id: n1-1-vb1-1-vlan2<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif";color:#1F497D'>agent.remote-id: Ont:N30-1-14-1-32-OntEth1-1<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>“DSL Forum 1” results in the following:<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif";color:#1F497D'>agent.circuit-id: RST1 atm ont
1-14-1-32-1:1<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif";color:#1F497D'>agent.remote-id:<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>The “Standard” has a circuit-id that refers to the
name of the uplink Ethernet port, not the customer facing Ethernet
interface.  So I shouldn’t spawn on that.  You can see that the
“DSL Forum 1” has no remote-id and doesn’t refer to the shelf
number, but the shelf name.  In our case not all shelf names are unique,
and it’s kind of arbitrary.  So we settled on “Standard”. 
We do have a few shelves that overlap shelf numbers, but we can re-number those
in advance, and the other site doesn’t have ONTs.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>So this what I entered into my configuration file:</span><span
style='font-size:10.0pt;font-family:Consolas'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>class
"ONTs"<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>{<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>   
lease limit 2;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>   
match if substring(option agent.remote-id,0,3)="Ont";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>   
spawn with option agent.remote-id;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>And here’s what was in my lease file.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>lease e.f.g.253
{<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
starts 4 2009/04/23 19:46:53;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
ends 6 2009/05/23 19:46:53;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
tstp 6 2009/05/23 19:46:53;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
binding state active;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
next binding state free;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
billing subclass "ONTs"
4f:6e:74:3a:4e:33:30:2d:31:2d:31:34:2d:31:2d:33:32:2d:4f:6e:74:45:74:68:31:2d:31:00;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
hardware ethernet 00:1e:e5:73:ed:c8;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
uid "\001\000\036\345s\355\310";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
option agent.circuit-id "n1-1-vb1-1-vlan2";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
option agent.remote-id "Ont:N30-1-14-1-32-OntEth1-1";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>lease e.f.g.252
{<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
starts 4 2009/04/23 19:56:28;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
ends 6 2009/05/23 19:56:28;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
tstp 6 2009/05/23 19:56:28;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
binding state active;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
next binding state free;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
billing subclass "ONTs"
4f:6e:74:3a:4e:33:30:2d:31:2d:31:34:2d:31:2d:33:32:2d:4f:6e:74:45:74:68:31:2d:31:00;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
hardware ethernet 00:22:6b:9a:12:3b;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
uid "\001\000\"k\232\022;";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
option agent.circuit-id "n1-1-vb1-1-vlan2";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
option agent.remote-id "Ont:N30-1-14-1-32-OntEth1-1";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'> 
client-hostname "00226B9A123B";<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>Thanks for all the help!<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'>Frank<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
dhcp-users-bounces@lists.isc.org [mailto:dhcp-users-bounces@lists.isc.org] <b>On
Behalf Of </b>Frank Bulk<br>
<b>Sent:</b> Wednesday, April 22, 2009 2:47 PM<br>
<b>To:</b> dhcp-users@isc.org<br>
<b>Subject:</b> Restricting ONT's Ethernet port to singe active IP address<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>In
the cable modem and DSL world it’s pretty easy to restrict the premise
equipment to a single IP address.  <o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><span
style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>      
</span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>In
the cable modem world that can be assigned to the CM configuration file or on
the CMTS.  <o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><span
style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>      
</span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>DSL
has a couple of flavors.  With PPPoA it’s a single IP address per
vp/vc.  With PPPoE it can be nicely controlled on a per username or
connection basis.  With Cisco’s RBE there’s “DHCP Lease
Limit per ATM RBE Unnumbered Interface” to control handing out IP
addresses.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>But
an RFC-1483-like FTTH implementation doesn’t come with all those
benefits.  We could put a $50 CPE in each home with PPPoE and be
responsible for managing it, but we would prefer to let customers plug in their
own equipment into the ONT, but just get one IP address.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Option
82 support seems like the closest way to get it done, by creating classes and
handing out an static IP, but I understand the process correctly, it requires
generating a class for each Option 82 string and assigning a static IP
address.  That has the negatives of creating classes in advance and giving
out statics when I don’t want to give out statics.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>What
it <i>seems</i> I want is to be able to use dynamic classes and hand out just
one IP address for each Option 82 string.  I know that dhcp is built
around using the MAC address as the standard identifier, but is there any
solutions to the challenge we’re facing?<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>We
also want our customers to be able to change CPE half-way through a lease and
not have to call the helpdesk to flush their legacy DHCP leases because their
new CPE doesn’t get an IP address. ;)<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>I’m
open for suggestions, and for those who can design an elegant solution that
doesn’t require any re-compiling of code, a bounty.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Frank<o:p></o:p></span></p>

</div>

</body>

</html>