+ case 3:
+ NetCopyIP (&NetOurGatewayIP, (popt + 2));
+ break;
+ case 6:
+ NetCopyIP (&NetOurDNSIP, (popt + 2));
+#if defined(CONFIG_BOOTP_DNS2)
+ if (*(popt + 1) > 4) {
+ NetCopyIP (&NetOurDNS2IP, (popt + 2 + 4));
+ }
+#endif
+ break;
+ case 12:
+ size = truncate_sz ("Host Name", sizeof (NetOurHostName), oplen);
+ memcpy (&NetOurHostName, popt + 2, size);
+ NetOurHostName[size] = 0;
+ break;
+ case 15: /* Ignore Domain Name Option */
+ break;
+ case 17:
+ size = truncate_sz ("Root Path", sizeof (NetOurRootPath), oplen);
+ memcpy (&NetOurRootPath, popt + 2, size);
+ NetOurRootPath[size] = 0;
+ break;
+#if defined(CONFIG_CMD_SNTP) && defined(CONFIG_BOOTP_NTPSERVER)
+ case 42: /* NTP server IP */
+ NetCopyIP (&NetNtpServerIP, (popt + 2));
+ break;
+#endif
+ case 51:
+ NetCopyLong (&dhcp_leasetime, (ulong *) (popt + 2));
+ break;
+ case 53: /* Ignore Message Type Option */
+ break;
+ case 54:
+ NetCopyIP (&NetDHCPServerIP, (popt + 2));
+ break;
+ case 58: /* Ignore Renewal Time Option */
+ break;
+ case 59: /* Ignore Rebinding Time Option */
+ break;
+ case 66: /* Ignore TFTP server name */
+ break;
+ case 67: /* vendor opt bootfile */
+ /*
+ * I can't use dhcp_vendorex_proc here because I need
+ * to write into the bootp packet - even then I had to
+ * pass the bootp packet pointer into here as the
+ * second arg
+ */
+ size = truncate_sz ("Opt Boot File",
+ sizeof(bp->bp_file),
+ oplen);
+ if (bp->bp_file[0] == '\0' && size > 0) {
+ /*
+ * only use vendor boot file if we didn't
+ * receive a boot file in the main non-vendor
+ * part of the packet - god only knows why
+ * some vendors chose not to use this perfectly
+ * good spot to store the boot file (join on
+ * Tru64 Unix) it seems mind bogglingly crazy
+ * to me
+ */
+ printf("*** WARNING: using vendor "
+ "optional boot file\n");
+ memcpy(bp->bp_file, popt + 2, size);
+ bp->bp_file[size] = '\0';
+ }
+ break;
+ default:
+#if defined(CONFIG_BOOTP_VENDOREX)
+ if (dhcp_vendorex_proc (popt))