On 11/04/13 12:35, Peter Korsgaard wrote:
Hi,
I would like to use dnsmasq to bringup a TI arm SoC which can bootstrap
itself from bootp/tftp. The bootstrap happens in several steps, so
dnsmasq needs to send the correct bootfile depending on the step, which
can be detected by the vendor-class option.
Unfortunately this doesn't currently work :/
The initial bootrequest package looks like this:
0.0.0.0.bootpc> 255.255.255.255.bootps: BOOTP/DHCP, Request from
84:7e:40:dd:c9:ca (oui Unknown), length 364, xid 0x1, Flags [none]
Client-Ethernet-Address 84:7e:40:dd:c9:ca (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Class Option 60, length 15: "DM814x ROM v1.0"
Client-ID Option 61, length 81: hardware-type 5,
01:05:01:81:40:07:02:13:02:01:00:12:15:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:14:21:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:15:09:01:d2:16:71:25:00:00:00:00
Ignore for a second that this isn't valid bootp as the vendor area is
longer than 64 bytes.
I was expecting to simply be able to do something like:
dhcp-vendorclass=set:ti,DM814x
# serve this to the boot rom
dhcp-boot=tag:ti,MLO
# and this to u-boot
dhcp-boot=uImage
But the ti tag never gets set. Looking at rfc2131.c, I see that the
vendor class matching isn't done for bootp requests. I don't really know
my way around the dnsmasq code, but a quick test with copying the vendor
matching code above the log_tags() line for bootp (rc2131.c:446) seems
to do the trick.
Is there any reason why the vendor matching isn't done for bootp?
As far as I remember, the reason was simply that I considered such
options as DHCP options, and not part of the bootp spec. That's
obviously wrong, just by looking at the title of RFC2132: "DHCP Options
and BOOTP Vendor Extensions"
So, no good reason at all. I'll add it to the list for attention once
the current 2.66 release is on it's way.
Cheers,
Simon.
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss