Dnsmasq does not support DHCP options 249: ms-classless-static-route and 201: new-static-route

I wanted to support the MS format for static routes so that they will be used by some older windowses. So in addition to (example):


I wanted to provide ms-classless-route (option code 249). Since dnsmasq does not parse option:ms-classless-static-route(s), I went for the hexadecimal octet notation for option 249:

Decimal octet notation (not parsable on OpenWRT!):

Hexadecimal octet notation (accepted by OpenWRT):

replacing 121 (classless-static-route) with 249 (ms-classless-static route):

This is parsed by dnsmasq, and then ignored.

If I provide the hex string with 121 it works and in Wireshark I can see:

Screenshot 2020-01-22 at 23.27.32

If I replace 121 with 249, the option is not there in the packet.

Is option 249 deprecated or not support due to other reasons?
Anyone can shed light on this behavior of dnsmasq?

The same holds for option 201: new-static-route, it is also ignored by dnsmasq.

You don't need hex notation. As an example, this works nicely (OpenWrt 19.07):

config dhcp
	option interface 'lan'
	option start '128'
	option limit '127'
	option leasetime '1h'
	list dhcp_option '42,'
	list dhcp_option '121,,,,'
	list dhcp_option '249,,,,'

Note that, IIRC, the client will only receive the options it requests.

OK, good to know about the notation.

what you have to say regarding the options would explain what I am seeing.
However, I do not think that you are right!

Look what the DHCP Request contains:

Still, the ACK form the DHCP server contains (a lot of stuff that was not requested!):
Screenshot 2020-01-23 at 00.49.32

Most of the requested parameters are specified inside option 55 (take a look at RFC 2132), you need to expand it to see them.

Awesome, you are absolutely right! That was a good learning!
Now I know how I can make the different clients happy!

FYI., I don't see Numbers 201 and 249 in the official list of DHCP Options....yep, musta been parameter requests.