@dureal99d I think I can explain this (understand I’m still learning dnsmasq’s insides too.).
dhcp-mac=set:r503u,50:46:5d:98:6f:3c
dhcp-boot=net:IA32_UEFI,i386-efi/ipxe.efi,,192.168.1.109
dhcp-boot=net:BC_UEFI,ipxe.efi,,192.168.1.109
dhcp-boot=net:X86-64_EFI,ipxe.efi,,192.168.1.109
dhcp-boot=tag:r503u,intel7156.efi,,192.68.1.109
We had a discussion when we were setting up the initial test. if you look at the tag:r503u line. What is matching there?? Look its the mac address so the only condition you have is that the mac address has to be X. So every time dnsmasq see mac address X it will send out intel7156.efi.
Now why in efi mode?? This one has me a bit stumped. Logic would say first match wins, in that case this line would be the first match.
dhcp-boot=net:BC_UEFI,ipxe.efi,,192.168.1.109
So that would explain why ipxe.efi is being sent because the only test here is it be in efi mode.
But in my testing I was seeing that the last match was winning. So if that thought is true. This one should be the winning line.
dhcp-boot=tag:r503u,intel7156.efi,,192.68.1.109