Option 43 is a strangely formatted thing, very dependent on the vendor as to what they are expecting. To enable Ruckus APs to find a SmartZone controller, Ruckus’ documentation provides examples of how to set up a Linux DHCP server, but nothing more. Finding out how to do it on a pfSense took some guesswork.
The Ruckus documentation for Linux gives some clues:
option space VendorInfo; option VendorInfo.WSG_sub6 code 6=text; option VendorInfo.WSG_sub3 code 3=text; option VendorInfo.WSG_sub6 "<Controller IP>"; option VendorInfo.WSG_sub3 "<Controller IP>";
So there are “subcodes” 3 and 6 that need to be set to the controller’s IP address. Another document told me that 3 is for older ZoneDirector installs, while 6 is for SCG installs. The pfSense interface, however, provides nothing but a text field. Others have had this problem, but I couldn’t find much that was specific to Ruckus equipment. Reading up on Option 43, I figured out a few things I could try. Lo and behold, I got it working by hex encoding the subcode number, the length of the data, and the IP address string, and sending it as a string.
So, an example: my SmartZone controller is at 10.10.0.100. That translates into
06 (subcode 6,)
0b (data is 11 characters long,) and then
31 30 2e 31 30 2e 30 2e 31 30 30 (the data itself, as hex ASCII codes.) Separate it by colons and tell the pfSense to send it as a string. End result: