Vendor option being deleted

John Hascall john at iastate.edu
Tue Oct 16 12:05:27 UTC 2012



Does changing "58" to something else, say "1" make the error go away
(other than now sending the wrong code)?  If so that would be a pretty
good clue that you are on the right track.

John


> Can anyone verify this is a bug?
> 
> During a recent migration from a much older DHCPD server to one based upon =
> DHCP-4.1-ESV-R6, it was noticed that a vendor option wasn't functioning, an=
> d the log file reported that the option was being ignored during the dhcpd =
> service startup.  I don't own the server, so I can't easily provide the ent=
> ire log file or conf file.  Removing the line "option AlcatelA4400.VlanID 3=
> 5;" will make the warning message go away.
> 
> 
> Log message:
> Internet Systems Consortium DHCP Server 4.1-ESV-R6
> Copyright 2004-2012 Internet Systems Consortium.
> All rights reserved.
> For info, please visit https://www.isc.org/software/dhcp/
> WARNING: server ignoring option VlanID in configuration file.
> Wrote 0 class decls to leases file.
> 
> 
> Related lines from the dhcpd.conf file:
> option space AlcatelA4400;
> option AlcatelA4400.VlanID code 58 =3D unsigned integer 16;
> 
> class "alcatel_ipphone"
> {
>     match if option vendor-class-identifier =3D "alcatel.tsc-ip.0" or optio=
> n vendor-class-identifier =3D "alcatel.noe.0";
>     option AlcatelA4400.VlanID 35;
> }
> 
> 
> 
> 
> I looked through the source code, and I think I found the cause.  The optio=
> n code for DHO_DHCP_RENEWAL_TIME and the vendor code are both 58.
> 
> >From dhcp-4.1-ESV-R7/server/confpars.c
> Line 757:
> /*
> * If the configuration attempts to define on option
> * that we ignore, then warn about it now.
> *
> * In DHCPv4 we do not use dhcp-renewal-time or
> * dhcp-rebinding-time, but we use these in DHCPv6.
> *
> * XXX: We may want to include a "blacklist" of
>  *      options we ignore in the future, as a table.
> */
> if ((option->code =3D=3D DHO_DHCP_LEASE_TIME) ||
> ((local_family !=3D AF_INET6) &&
>                   ((option->code =3D=3D DHO_DHCP_RENEWAL_TIME) ||
>                    (option->code =3D=3D DHO_DHCP_REBINDING_TIME))))
>                     {
>                       log_error("WARNING: server ignoring option %s "
>                                                           "in configuration=
>  file.",
>                                           option->name);
>                                                 }
> 
> 
> 
> >From dhcp-4.1-ESV-R7/includes/dhcp.h
> Line 152:
> #define DHO_DHCP_RENEWAL_TIME                                    58
> 
> 
> 
> >From dhcp-4.1-ESV-R7/server/dhcp.c
> Line 1215:
>              /*
>                 * Remove any time options, per section 3.4 RFC 2131
>                 */
>                 delete_option(&dhcp_universe, options, DHO_DHCP_LEASE_TIME)=
> ;
>                 delete_option(&dhcp_universe, options, DHO_DHCP_RENEWAL_TIM=
> E);
>                 delete_option(&dhcp_universe, options, DHO_DHCP_REBINDING_T=
> IME);
> 
>                 /* Set up the option buffer... */
> 
> 
> Thanks,
> Scott Wedekind
> 
> 
> --_000_878BD3F49A671049A8D10D2929CA83CD11462BB8TORMBXW01blueca_
> Content-Type: text/html; charset="us-ascii"
> Content-Transfer-Encoding: quoted-printable
> 
> <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
> osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
> xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
> //www.w3.org/TR/REC-html40">
> <head>
> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
> >
> <meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
> <style><!--
> /* Font Definitions */
> @font-face
> 	{font-family:Calibri;
> 	panose-1:2 15 5 2 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;}
> span.EmailStyle17
> 	{mso-style-type:personal-compose;
> 	font-family:"Calibri","sans-serif";
> 	color:windowtext;}
> .MsoChpDefault
> 	{mso-style-type:export-only;
> 	font-family:"Calibri","sans-serif";}
> @page WordSection1
> 	{size:8.5in 11.0in;
> 	margin:1.0in 1.0in 1.0in 1.0in;}
> div.WordSection1
> 	{page:WordSection1;}
> --></style><!--[if gte mso 9]><xml>
> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
> </xml><![endif]--><!--[if gte mso 9]><xml>
> <o:shapelayout v:ext=3D"edit">
> <o:idmap v:ext=3D"edit" data=3D"1" />
> </o:shapelayout></xml><![endif]-->
> </head>
> <body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
> <div class=3D"WordSection1">
> <p class=3D"MsoNormal">Can anyone verify this is a bug?  <o:p></o:p></=
> p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">During a recent migration from a much older DHCPD se=
> rver to one based upon DHCP-4.1-ESV-R6, it was noticed that a vendor option=
>  wasn’t functioning, and the log file reported that the option was be=
> ing ignored during the dhcpd service startup. 
>  I don’t own the server, so I can’t easily provide the entire l=
> og file or conf file.  Removing the line “option AlcatelA4400.Vl=
> anID 35;” will make the warning message go away.<o:p></o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <div style=3D"mso-element:para-border-div;border:none;border-bottom:solid w=
> indowtext 1.0pt;padding:0in 0in 1.0pt 0in">
> <p class=3D"MsoNormal" style=3D"border:none;padding:0in"><o:p> </o:p><=
> /p>
> <p class=3D"MsoNormal" style=3D"border:none;padding:0in">Log message:<o:p><=
> /o:p></p>
> </div>
> <p class=3D"MsoNormal">Internet Systems Consortium DHCP Server 4.1-ESV-R6<o=
> :p></o:p></p>
> <p class=3D"MsoNormal">Copyright 2004-2012 Internet Systems Consortium.<o:p=
> ></o:p></p>
> <p class=3D"MsoNormal">All rights reserved.<o:p></o:p></p>
> <p class=3D"MsoNormal">For info, please visit https://www.isc.org/software/=
> dhcp/<o:p></o:p></p>
> <p class=3D"MsoNormal">WARNING: server ignoring option VlanID in configurat=
> ion file.<o:p></o:p></p>
> <div style=3D"mso-element:para-border-div;border:none;border-bottom:solid w=
> indowtext 1.0pt;padding:0in 0in 1.0pt 0in">
> <p class=3D"MsoNormal" style=3D"border:none;padding:0in">Wrote 0 class decl=
> s to leases file.<o:p></o:p></p>
> </div>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <div style=3D"mso-element:para-border-div;border:none;border-bottom:solid w=
> indowtext 1.0pt;padding:0in 0in 1.0pt 0in">
> <p class=3D"MsoNormal" style=3D"border:none;padding:0in">Related lines from=
>  the dhcpd.conf file:<o:p></o:p></p>
> </div>
> <p class=3D"MsoNormal">option space AlcatelA4400;<o:p></o:p></p>
> <p class=3D"MsoNormal">option AlcatelA4400.VlanID code 58 =3D unsigned inte=
> ger 16;<o:p></o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">class "alcatel_ipphone"<o:p></o:p></p>
> <p class=3D"MsoNormal">{<o:p></o:p></p>
> <p class=3D"MsoNormal">    match if option vendor-class-iden=
> tifier =3D "alcatel.tsc-ip.0" or option vendor-class-identifier =
> =3D "alcatel.noe.0";<o:p></o:p></p>
> <p class=3D"MsoNormal">    option AlcatelA4400.VlanID 35;<o:=
> p></o:p></p>
> <div style=3D"mso-element:para-border-div;border:none;border-bottom:solid w=
> indowtext 1.0pt;padding:0in 0in 1.0pt 0in">
> <p class=3D"MsoNormal" style=3D"border:none;padding:0in">}<o:p></o:p></p>
> </div>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">I looked through the source code, and I think I foun=
> d the cause.  The option code for DHO_DHCP_RENEWAL_TIME and the vendor=
>  code are both 58.<o:p></o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">From dhcp-4.1-ESV-R7/server/confpars.c<o:p></o:p></p=
> >
> <p class=3D"MsoNormal">Line 757:<o:p></o:p></p>
> <p class=3D"MsoNormal">/*<o:p></o:p></p>
> <p class=3D"MsoNormal">* If the configuration attempts to define on option<=
> o:p></o:p></p>
> <p class=3D"MsoNormal">* that we ignore, then warn about it now.<o:p></o:p>=
> </p>
> <p class=3D"MsoNormal">*<o:p></o:p></p>
> <p class=3D"MsoNormal">* In DHCPv4 we do not use dhcp-renewal-time or<o:p><=
> /o:p></p>
> <p class=3D"MsoNormal">* dhcp-rebinding-time, but we use these in DHCPv6.<o=
> :p></o:p></p>
> <p class=3D"MsoNormal">*<o:p></o:p></p>
> <p class=3D"MsoNormal">* XXX: We may want to include a "blacklist&quot=
> ; of <o:p></o:p></p>
> <p class=3D"MsoNormal"> *      options we ign=
> ore in the future, as a table.<o:p></o:p></p>
> <p class=3D"MsoNormal">*/<o:p></o:p></p>
> <p class=3D"MsoNormal">if ((option->code =3D=3D DHO_DHCP_LEASE_TIME) ||<=
> o:p></o:p></p>
> <p class=3D"MsoNormal" style=3D"text-indent:.5in">((local_family !=3D AF_IN=
> ET6) && <o:p>
> </o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;         ((option->code =3D=3D=
>  DHO_DHCP_RENEWAL_TIME) ||<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;          (option->code =3D=3D=
>  DHO_DHCP_REBINDING_TIME))))<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;           {<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;             log_e=
> rror("WARNING: server ignoring option %s "<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;             =
>             &nb=
> sp;            =
>            "in configurat=
> ion file.",<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;            &=
> nbsp;           &nbs=
> p;        option->name);<o:p></o:p></=
> p>
> <p class=3D"MsoNormal">        &nbs=
> p;            &=
> nbsp;           &nbs=
> p;            &=
> nbsp; }<o:p></o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">From dhcp-4.1-ESV-R7/includes/dhcp.h<o:p></o:p></p>
> <p class=3D"MsoNormal">Line 152:  <o:p></o:p></p>
> <p class=3D"MsoNormal">#define DHO_DHCP_RENEWAL_TIME   &nbsp=
> ;            &n=
> bsp;           &nbsp=
> ;       58<o:p></o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">From dhcp-4.1-ESV-R7/server/dhcp.c<o:p></o:p></p>
> <p class=3D"MsoNormal">Line 1215: <o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;    /*<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;       * Remove any time options, per secti=
> on 3.4 RFC 2131<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;       */<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;       delete_option(&dhcp_universe, op=
> tions, DHO_DHCP_LEASE_TIME);<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;       delete_option(&dhcp_universe, op=
> tions, DHO_DHCP_RENEWAL_TIME);<o:p></o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;       delete_option(&dhcp_universe, op=
> tions, DHO_DHCP_REBINDING_TIME);<o:p></o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">        &nbs=
> p;       /* Set up the option buffer... */<o:=
> p></o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> <p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
> <p class=3D"MsoNormal" style=3D"margin-bottom:6.0pt"><span style=3D"font-si=
> ze:10.0pt">Scott Wedekind<br>
> </span><span style=3D"font-size:10.0pt"><o:p></o:p></span></p>
> <p class=3D"MsoNormal"><o:p> </o:p></p>
> </div>
> </body>
> </html>
> 
> --_000_878BD3F49A671049A8D10D2929CA83CD11462BB8TORMBXW01blueca_--
> 
> --===============3705024666896035373==
> Content-Type: text/plain; charset="us-ascii"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
> 
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users
> --===============3705024666896035373==--
> 



More information about the dhcp-users mailing list