Match on suboption of option 43 vendor-encapsulated-options
André Mamitzsch
andre at mamitzsch.de
Sun Feb 28 22:06:50 UTC 2016
That's how we do it:
#### Option 43 Option Space ####
option space CM;
option CM.devtype code 2 = text;
option CM.esafetype code 3 = text;
option CM.sernum code 4 = text;
option CM.hwver code 5 = text;
option CM.swver code 6 = text;
option CM.bootrom code 7 = text;
option CM.OUI code 8 = string;
option CM.modnum code 9 = text;
option CM.vendor code 10 = text;
option CM-43 code 43 = encapsulate CM;
on commit {
log(info,
concat("VENDORLOG FOR ",
binary-to-ascii(10,8,".",leased-address),
" with vendor information",
" ",option CM.devtype,
" ",option CM.vendor,
" ",option CM.hwver,
" ",option CM.swver,
" ",option CM.sernum,
" ",
concat (suffix (concat
("0", binary-to-ascii (16, 8, "", substring( hardware, 1, 1))),2),
":",
suffix (concat
("0", binary-to-ascii (16, 8, "",substring( hardware, 2, 1))),2),
":",
suffix (concat
("0", binary-to-ascii (16, 8, "", substring( hardware, 3, 1))),2),
":",
suffix (concat
("0", binary-to-ascii (16, 8, "", substring( hardware, 4, 1))),2),
":",
suffix (concat
("0", binary-to-ascii (16, 8, "", substring( hardware, 5, 1))),2),
":",
suffix (concat
("0", binary-to-ascii (16, 8, "", substring( hardware, 6, 1))),2))
)
);
}
Regards,
André
Am 26.02.2016 um 20:31 schrieb Bob Harold:
> I have Cisco cable modems and will soon deploy another vendor's modem that needs a different set of options, but both use the same vendor-class-identifier "docsis3.0:", so I want to match on the "vendor-name" which is suboption 10 in option 43 vendor-encapsulated-options. To start, I am trying to get DHCP to log the value, but I am failing somewhere.
>
> Wireshark shows that the REQUEST packet includes:
>
> Option: (43) Vendor-Specific Information (CableLabs)
> Length: 103
> ...
> Option 43 Suboption: (10) Vendor Name
> Length: 5
> Vendor Name: Cisco
>
> I have put this in dhcpd.conf:
>
> log (info, concat( "extra logging vendorID=", pick-first-value( option vendor-class-identifier, "no-vendor-class-id" ) ) );
> set vendor-string = option vendor-class-identifier;
> option space docsis;
> option docsis.vendor-name code 10 = text;
> class "docsis" {
> match if option vendor-class-identifier = "docsis3.0:";
> vendor-option-space docsis;
> log (info, concat( "extra logging vendor-name=", pick-first-value( option docsis.vendor-name, "no-vendor-name" ) ) );
> log (info, concat( "extra vendor-encapsulated-options ", pick-first-value( binary-to-ascii( 16, 8, ":", vendor-encapsulated-options ), "no-vend-opt" ) ) );
> log (info, concat( "extra vivso ", pick-first-value( binary-to-ascii( 16, 8, ":", vivso), "no-vivso" ) ) );
> }
> class "cisco" {
> match if ( ( substring(hardware,1,3) = 08:80:39 ) or
> ( substring(hardware,1,3) = 10:5f:49 ) or
> ( substring(hardware,1,3) = 34:bd:fa ) or
> ( substring(hardware,1,3) = 54:d4:6f ) or
> ( substring(hardware,1,3) = 68:ee:96 ) or
> ( substring(hardware,1,3) = e4:48:c7) );
> log (info, "extra class cisco" );
> }
>
> But I get this in the log file:
>
> Feb 26 14:13:08 adonis12 dhcpd: extra class cisco
> Feb 26 14:13:08 adonis12 dhcpd: extra logging vendor-name=no-vendor-name
> Feb 26 14:13:08 adonis12 dhcpd: extra vendor-encapsulated-options no-vend-opt
> Feb 26 14:13:08 adonis12 dhcpd: extra vivso no-vivso
> Feb 26 14:13:08 adonis12 dhcpd: DHCPREQUEST for 10.213.139.100 from 54:d4:6f:d0:28:2e via 10.213.139.97
> Feb 26 14:13:08 adonis12 dhcpd: DHCPACK on 10.213.139.100 to 54:d4:6f:d0:28:2e via 10.213.139.97
>
> Is there something wrong in my log syntax?
> Is there any way to turn up DHCP debugging to the point where it tells me all the fields that it reads from each packet?
> Has anyone else matched or logged a suboption of option 43?
>
> I would be glad to post more of the gory details, just let me know what you want to see. I was hoping to avoid a really long email.
>
> --
> Bob Harold
> University of Michigan
>
>
>
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4359 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20160228/ef270a41/attachment.bin>
More information about the dhcp-users
mailing list