Hello, I am trying to load an iPXE from an untagged network and have it autoboot from a vlan tagged network. I couldn't get this to work at first. I ran into what could be a problem with the routing table lookup. I was able to get it to work but the change might not be the best fix.
untagged network is 192.168.0.1/24 tagged network is 169.254.0.0/16 iPXE script: #!ipxe vcreate --tag 4 --priority 2 net0 autoboot net0-4 In my testing, I saw iPXE was able to get a DHCP lease from the tagged network fine. When it tried to TFTP to the DHCP server on the tagged network, it sent out packets using the untagged net0 interface and IP address as source address with a destination of the TFTP server on the tagged network. I verified this by taking a network trace on the untagged network. When I added the route command to the script, it showed net0 was listed before net0-4. The route listed 192.168.0.254 (DHCP server IP) as the gateway for net0. I added some debug code to net/ipv4.c ipv4_route() function and found the first routing table entry was being returned because it matched the section of code below. If every route has a gateway then I do not believe it will traverse the entire routing table. /* If destination is an off-link global * address, and we have a default gateway, * then use this route. */ if ( miniroute->gateway.s_addr ) { *dest = miniroute->gateway; return miniroute; } After commenting out this section, it used the net0-4 source IP address on the tagged network and was able to autoboot successfully. Regards, Steven Jeffers
_______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel