[ipxe-devel] BOOTP_FL_BROADCAST 0x8000 trouble
Juergen Brunk
Juergen.Brunk at osys.ch
Fri Apr 20 09:09:07 UTC 2012
Hi Dev-Team
I'm working on a iPXE solution and unfortunately I've run into trouble with the DHCP part. I've checked the forum and found a unanswered question:
" So how can I ensure that iPXE uses #define BOOTP_FL_BROADCAST 0x8000 when doing DHCP?"
This discribe my problem exactly.
See the tcpdump here:
***********************************************************************************************************************
Test with standard PXE:
=======================
[root@ ~]# tcpdump -lenx -s 1500 port bootps or port bootpc | dhcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes
TCPdump 3.8.x output
TIME: 09:27:32.866541
IP: > (00:0c:29:fb:2c:f5) > (Broadcast)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 2afb2cf5
SECS: 4
FLAGS: 7f80 <<<=== !
Test with iPXE:
===============
listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes
TCPdump 3.8.x output
TIME: 09:29:49.850330
IP: > (00:0c:29:fb:2c:f5) > (Broadcast)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: d63ee953
SECS: 4
FLAGS: 0 <<<=== !
***********************************************************************************************************************
I'm using the newest release of iPXE and working in a VMWare environment. Here is my included ipxe-script:
#!ipxe
echo
echo +----- RCH adjusted area -----+
echo
dhcp net0 || echo DHCP error
set timeout 5000
:start
menu iPXE boot menu
item --gap -- ------------------------- select desired task ------------------------------
item --default --key x exit Exit iPXE and continue BIOS boot
item --key i install Install/reinstall OS
item --key r rescue Boot a rescue system
item --gap -- ------------------------- Advanced options -------------------------------
item --key c config Configure settings
item shell Drop to iPXE shell
item reboot Reboot computer
item
choose --timeout ${timeout} selected || goto cancel
set timeout 0
goto ${selected}
:cancel
echo You cancelled the menu, dropping you to a shell
:shell
echo Type exit to get the back to the menu
shell
set timeout 0
goto start
:reboot
reboot
:exit
exit
:config
config
goto start
:install
echo
echo Please type the hostname
read hn
set hostname ${hn}
chain tftp:// xxx.xxx.xxx.xxx /pxelinux.cfg/${hn} || goto menu_ip
:rescue
chain tftp:// xxx.xxx.xxx.xxx /pxelinux.cfg/rescue || shell
:menu_ip
echo
echo Please type the IP adresss
read ip
set net0/ip ${ip}
chain tftp://xxx.xxx.xxx.xxx/pxelinux.0 || shell
***********************************************************************************************************************
Without this flag our firewall block such traffic - and unfurtunately it's not option to change something in the firewall.
I'm not a C-Guru and tried to find the problem insite the src c-files but without success. Could you give me an advice how to ensure that the "FLAGS 7f80" is also set with iPXE?
Kind Regards
Jürgen Brunk
More information about the ipxe-devel
mailing list