<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFCC" text="#000000">
From original mail:<br>
<br>
binary-to-ascii(16, 8, ":", substring(option agent.remote-id, 2, 7))
= "84:78:ac:84:e5:80"<br>
<br>
Reformat to:<br>
<br>
binary-to-ascii(<br>
16, ---------> result is
in hex<br>
8, ---------> it works
in 8bit wide increments<br>
":", --------->
separator is a ":"<br>
substring(<br>
option agent.remote-id, ---------> assumed to be a MAC
address -> string of 6 bytes: 0x112233445566<br>
2,<br>
7<br>
) ---------> 0x1122
->33445566<- This is the result of the substring operation.<br>
)<br>
---------> result
of binary-to-ascii should then be: "33:44:55:66" as a text string,
11 chars long.<br>
<br>
= "84:78:ac:84:e5:80"<br>
<br>
Something here is mysterious, not quite sure what. Can't see why
this has ever been a match?<br>
<br>
<br>
<div class="moz-cite-prefix">On 17/12/12 1:03, Glenn Satchell wrote:<br>
</div>
<blockquote
cite="mid:0fdb64da16d1ccc8989293c1d987bc9d.squirrel@mail.uniq.com.au"
type="cite">
<pre wrap="">Hi Nico
Please see comments below.
On Mon, December 17, 2012 12:17 am, Nico De Ranter wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi,
I'm trying to use DHCP option 82 to assign a different address to a host
depending on which network port it is connected to.
I'vve created the following section in my config:
############
stash-agent-options true;
...
subnet 10.103.0.0 netmask 255.255.255.0
{
option routers 10.103.0.1;
class "OK1Endo" {
match if binary-to-ascii(16, 8, ":", substring(option
agent.remote-id, 2, 7)) = "84:78:ac:84:e5:80"
</pre>
</blockquote>
<pre wrap="">
This string "8 4 : 7 8 : ... : 8 0" is 17 characters long. So a 7 char
substring will never be equal to it. I can't see how it ever matches.</pre>
</blockquote>
Precedence: first substring, then binary-to-ascii, I still don't see
the match.<br>
<blockquote
cite="mid:0fdb64da16d1ccc8989293c1d987bc9d.squirrel@mail.uniq.com.au"
type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap=""> and binary-to-ascii (16, 8, ":", hardware) =
"1:0:14:2d:40:f:15"
and binary-to-ascii (16, 8, ":",
substring(option agent.circuit-id, 5, 5)) = "e";
</pre>
</blockquote>
<pre wrap="">
This may or may not match. If the agent.circuit-id is exactly 5 characters
long it will return that last char only and if that is an 'e' then it will
match.
These can all be re-written without the binary-to-ascii and be much clearer:
match if substring(option agent.remote-id, 2, 7)) = 84:78:ac:84:e5:80
and hardware = 1:0:14:2d:40:f:15
and substring(option agent.circuit-id, 5, 1)) = e;
Finally, putting the class definition inside the subnet can cause some
unexpected inheritance. Probably ok if you only have a single subnet in
your definition, but better to put the class outside the subnet
definition.
</pre>
<blockquote type="cite">
<pre wrap=""> }
pool {
filename "pxelinux.0";
next-server 10.103.0.202;
option mobile-ip-home-agent 10.103.0.202;
option log-servers 10.103.0.202;
option tz "Europe/Brussels";
use-host-decl-names on;
allow members of "OK1Endo";
range 10.103.0.220 10.103.0.220;
}
}
###########
I'm sure the class definition is correct and the pool matches as I also
added a log statement which only seems to trigger if the client matches
the
pool (if I change the class definition or remove the 'allow members' I
don't see the logs appearing in the log files anymore).
However the dhcpd server doesn't seem to send any reply to the host: in
tcpdump I see a bootp/dhcp request from the clients MAC but no replies
from
the server. If I replace the 'pool' section with a simple 'host'
definition the server responds immediately.
Any ideas what I'm doing wrong?
Note: I'm using a very old version of dhcpd (3.1.1) which unfortunately I
cannot upgrade at the moment.
Thanks in advance,
Nico
--
Nico De Ranter
Operations Engineer
eSATURNUS
T. +32 16 40 12 82
M. +32 497 91 53 78
<a class="moz-txt-link-abbreviated" href="http://www.esaturnus.com">www.esaturnus.com</a>
<a class="moz-txt-link-rfc2396E" href="http://www.esaturnus.com/"><http://www.esaturnus.com/></a>
<a class="moz-txt-link-rfc2396E" href="http://vcard.esaturnus.com/"><http://vcard.esaturnus.com/></a>
_______________________________________________
dhcp-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dhcp-users@lists.isc.org">dhcp-users@lists.isc.org</a>
<a class="moz-txt-link-freetext" href="https://lists.isc.org/mailman/listinfo/dhcp-users">https://lists.isc.org/mailman/listinfo/dhcp-users</a>
</pre>
</blockquote>
<pre wrap="">
_______________________________________________
dhcp-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dhcp-users@lists.isc.org">dhcp-users@lists.isc.org</a>
<a class="moz-txt-link-freetext" href="https://lists.isc.org/mailman/listinfo/dhcp-users">https://lists.isc.org/mailman/listinfo/dhcp-users</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Best regards
Sten Carlsen
No improvements come from shouting:
"MALE BOVINE MANURE!!!"
</pre>
</body>
</html>