I have had the same problem, where I could not pxeboot from an alias of an 
interface. eg pxeboot worked from hosts connected to eth0, but not to hosts 
connected to eth0:1.

tcpdump shows what's happening:

> 18:41:00.618219 ARP, Request who-has 10.70.200.1 tell 10.70.200.167, length 46
> 18:41:00.618231 ARP, Reply 10.70.200.1 is-at 00:20:4c:e2:10:8c, length 28
> 18:41:00.618484 IP 10.70.200.167.2070 > 50.10.1.69.69:  27 RRQ "pxelinux.0" 
> octet tsize 0 
> 18:41:00.618794 IP 10.70.200.1.53553 > 10.70.200.167.2070: UDP, length 14
> 18:41:00.619097 IP 10.70.200.167.2070 > 50.10.1.69.53553: UDP, length 17
> 18:41:00.619128 IP 50.10.1.69 > 10.70.200.167: ICMP 50.10.1.69 udp port 53553 
> unreachable, length 53

50.10.1.69 is host A, eth0
10.70.200.1 is host A, eth0:1
10.70.200.167 is host B

So the packets go:
1. 10.70.200.167.2070 > 50.10.1.69.69 (client contacts server on eth0)
2. 10.70.200.1.53553 > 10.70.200.167.2070 (server binds with different 
interface, eth0:1, and replies)
3. 10.70.200.167.2070 > 50.10.1.69.53553 (client tries to respond to server on 
original IP address, eth0, and fails because atftpd is bound to wrong IP)
4. IP 50.10.1.69 > 10.70.200.167: ICMP 50.10.1.69 udp port 53553 unreachable

I do not program much in C, so I cannot evaluate Paul Szabo's patch except to 
say that I tried it and it solves my problem. Therefore I vote for including 
the patch asap, pending DD review.

Thanks,
Chris


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to