Tyou, I didn't understand your post fully, but the bug is obvious. Your program didn't increment the pointer into the bootp structure correctly. The value 4 is the length byte. So instead of 192.168.1.31 you get 4.192.168.1. Harald