aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbootstrap/make-dhcpd.pl13
1 files changed, 10 insertions, 3 deletions
diff --git a/bootstrap/make-dhcpd.pl b/bootstrap/make-dhcpd.pl
index 8627bee..dfd2126 100755
--- a/bootstrap/make-dhcpd.pl
+++ b/bootstrap/make-dhcpd.pl
@@ -206,10 +206,16 @@ option option-150 code 150 = { ip-address };
option vendor-class-identifier code 60 = text;
# only allow FAP "clients"
-class "FAP" {
+class "fap-vendor-class" {
# Vendor-Class Option 60, length 21: "Juniper-ex2200-48t-4g"
+ # Vendor-Class Option 60, length 21: "Juniper-ex3300-48p"
match if substring (option vendor-class-identifier, 0, 10) = "Juniper-ex";
- log( info, concat( "FAP: " , option vendor-class-identifier , " - " , hardware , " (" , option host-name , ") - " , option agent.circuit-id ));
+ log( info, concat( "FAP: " , option vendor-class-identifier , " - " , hardware , " (" , option host-name , ") - " , option agent.circuit-id ));
+}
+class "fap-mac" {
+ # some Juniper switches won't send vendor-class-identifier
+ match if binary-to-ascii(16,8,":",substring(hardware, 1, 3)) = "44:f4:77";
+ log( info, concat( "FAP: " , hardware , " (" , option host-name , ") - " , option agent.circuit-id ));
}
group {
@@ -253,7 +259,8 @@ EOF
option routers $fap_gw;
pool {
range $fap_first $fap_last;
- allow members of "FAP";
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
}
}
EOF