That's correct, I have the same understanding. But the issue is this:<br>I have a series of rules to be run in order, if a rule is met, then stop. It would be something like this:<br>rule1: match a string in vendor option, select a pool etc<br>

rule2: match a different string in vendor option<br>rule3: if vendor option doesn't exist select a pool etc<br>rule4: see if client falls in the h/w address range, select a pool etc.<br>rule5: see if client has requested for so and so option<br>

etc<br>So, I can't put all denies in one pool, like you did below.<br><br>If dhcpd doesn't currently support this, I need to do code changes to move further. Can you or somebody suggest me, if you have already worked on making changes ? or is there any other separate list which has dhcpd developers(may not be the actual owners) ? or is there any other GPL based dhcpd for Linux ?<br>

<br>thanks<br>Ashmath<br><br><div class="gmail_quote">On Mon, Oct 19, 2009 at 12:31 PM, Simon Hobson <span dir="ltr"><<a href="mailto:dhcp1@thehobsons.co.uk">dhcp1@thehobsons.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div class="im">Ashmath Khan wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
So then how do I make sure it picks always from pool 1 when it matches ? Or is there a way I can make it to 'exit' when it finds the first match ?<br>
</blockquote>
<br></div>
Simple - you apply allow or deny directives such that any client is only eligible to get an address from the pool(s) you want. Eg :<br>
<br>
pool {<br>
  allow members of "a";<br>
  ...<br>
}<br>
pool {<br>
  allow members of "b";<br>
  ...<br>
}<br>
pool {<br>
  deny members of "a";<br>
  deny members of "b";<br>
  ...<br>
}<br>
<br>
In this example, members of "a" are allowed only the first pool, members of "b" are allowed only the second pool, and anything else is allowed only the third pool.<br>
<br>
Note that if you use an allow statement, then anything not explicitly allowed is implicitly denied - and vice-versa when you use a deny. So in the first pool, anything NOT a member of "a" is implicitly denied - you don't need to explicitly deny members of "b". In the last pool, anything not in classes "a" and "b" is implicitly allowed.<br>


<br>
Statements are not executed in order, there is no "match this pool, match this pool, and only fall through to this pool if the previous ones don't match" capability. Internally, a lot of stuff is stored in hashed lists - so it's possible that things may not even be evaluated in the order they are written in the config file.<br>


<br>
Lastly, you are strongly advised not to try mixing allow and deny in one pool. Again, they are *not* executed in order until a match is found like some other software packages and the results may be non-intuitive. It's best to stick to either allow, or deny, within each pool.<div>

<div></div><div class="h5"><br>
<br>
-- <br>
Simon Hobson<br>
<br>
Visit <a href="http://www.magpiesnestpublishing.co.uk/" target="_blank">http://www.magpiesnestpublishing.co.uk/</a> for books by acclaimed<br>
author Gladys Hobson. Novels - poetry - short stories - ideal as<br>
Christmas stocking fillers. Some available as e-books.<br>
_______________________________________________<br>
dhcp-users mailing list<br>
<a href="mailto:dhcp-users@lists.isc.org" target="_blank">dhcp-users@lists.isc.org</a><br>
<a href="https://lists.isc.org/mailman/listinfo/dhcp-users" target="_blank">https://lists.isc.org/mailman/listinfo/dhcp-users</a><br>
</div></div></blockquote></div><br>