Thanks Christian.

1. What is the consequences of setting the port's mode to "PortFast" and not 
completing the spanning tree initialization?
2. Can I always set this mode to be "PortFast"? Is there any cases where I 
can't use this mode?

-----Original Message-----
From: Christian Hesse [mailto:[email protected]] 
Sent: יום ב 05 מאי 2014 13:39
To: Wissam Shoukair
Cc: [email protected]
Subject: Re: [ipxe-devel] switch causing DHCP timeout

Wissam Shoukair <[email protected]> on Mon, 2014/05/05 10:19:
> Hi,
> I'm trying to chain-load undi-only using net0. My setup has a PXE 
> client and a DHCP server and a switch between them. (there are other 
> machines connected to the same switch) After fetching the undi_only 
> from the DHCP server, it opens its own net0 and eventually the lower net0 net 
> device.
> After it opens the devices, it tries to send DHCP DISCOVER to the server.
> Apparently, the switch takes a long time to settle down after the port 
> came up, and because of this the DHCP DISCOVER is not received by the server.
> 
> To confirm that this is a timing issue, I delayed the DHCP packet by 
> inserting a sleep for 25 seconds right after the chainloaded undi 
> opened the net device, and it did fix the issue. A good solution for 
> this might be implementing ARP PING, and instead of the sleep, we can 
> change it by doing ARP PING until we get a response and then we can send the 
> DHCP packet.
> 
> Does anyone know a better and a simpler solution for this switch issue ?

I've seen problems like this with Cisco switches. Default port configuration 
waits a long time (30 seconds?) to make sure there is no loop or similar.
Every client having a timeout below 30 seconds is affected.

Setting these ports to mode "PortFast" fixes the timeout problem. Be aware that 
the port does not go through the complete spanning tree initialization 
procedure then. Make sure to take a look at the documentation.

Other brands probably do have similar configuration options.
-- 
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Chris           get my mail address:    */=0;b=c[a++];)
putchar(b-1/(/*               gcc -o sig sig.c && ./sig    */b/42*2-3)*42);}
_______________________________________________
ipxe-devel mailing list
[email protected]
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

Reply via email to