<div dir="ltr">Hi,<div><br></div><div><p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">Observing
that dnsmasq (version 2.80) is offering DHCP IP to the client from a vlan pool
which is in DOWN state.</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">E.g. If
there are 3 dhcp pools</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">vlan9
(State UP) : Range: 192.168.9.1-192.168.9.254</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">vlan19
(State UP): Range: 192.168.19.1-192.168.19.254</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">vlan99
(State DOWN): Range: 192.168.99.1-192.168.99.254</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN"> </span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">1) Client
on vlan9 gets IP from vlan9 pool</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">2) Client
moves to vlan19, releases IP</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">3) Client
on vlan19 requests IP --> dnsmasq offers IP 192.168.99.xx from vlan99 pool
(incorrect pool), instead of vlan19 pool.</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN"> </span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">If the
vlan99 is in UP state, then dnsmasq offers the IP from the vlan19 pool (the
correct pool).</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN"> </span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">If dnsmasq
is rebuilt by commenting out the following code block from dhcp_reply function,
then in the above case, dnsmasq offers IP from the vlan19 pool (the correct
pool) even if vlan99 is DOWN.</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">code block
--></span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">/* guess
the netmask for relayed networks */</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
if (!(context_tmp->flags &
CONTEXT_NETMASK) && context_tmp->netmask.s_addr == 0)</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
{</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
if (IN_CLASSA(ntohl(context_tmp->start.s_addr))
&& IN_CLASSA(ntohl(context_tmp->end.s_addr)))</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
netmask.s_addr =
htonl(0xff000000);</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
else if
(IN_CLASSB(ntohl(context_tmp->start.s_addr)) &&
IN_CLASSB(ntohl(context_tmp->end.s_addr)))</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
netmask.s_addr =
htonl(0xffff0000);</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
else if
(IN_CLASSC(ntohl(context_tmp->start.s_addr)) &&
IN_CLASSC(ntohl(context_tmp->end.s_addr)))</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
netmask.s_addr =
htonl(0xffffff00); </span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">
}</span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN"> </span></p>
<p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">Has anyone
come across such an issue?</span></p><p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN"><br></span></p><p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN"><br></span></p><p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">Thanks,</span></p><p class="MsoNormal" style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN">Shashi</span></p></div></div>