| BOOTP/DHCP client for klibc |
| --------------------------- |
| |
| Usage: |
| |
| ipconfig [-c proto] [-d interface] [-i identifier] |
| [-n] [-p port] [-t timeout] [interface ...] |
| |
| -c proto Use PROTO as the configuration protocol for all |
| interfaces, unless overridden by specific interfaces. |
| -d interface Either the name of an interface, or a long spec. |
| -i identifier DHCP vendor class identifier. The default is |
| "Linux ipconfig". |
| -n Do nothing - just print the configuration that would |
| be performed. |
| -p port Send bootp/dhcp broadcasts from PORT, to PORT - 1. |
| -t timeout Give up on all unconfigured interfaces after TIMEOUT secs. |
| |
| You can configure multiple interfaces by passing multiple interface |
| specs on the command line, or by using the special interface name |
| "all". If you're autoconfiguring any interfaces, ipconfig will wait |
| until either all such interfaces have been configured, or the timeout |
| passes. |
| |
| PROTO can be one of the following, which selects the autoconfiguration |
| protocol to use: |
| |
| not specified use all protocols (the default) |
| dhcp use bootp and dhcp |
| bootp use bootp only |
| rarp use rarp (not currently supported) |
| none no autoconfiguration - either static config, or none at all |
| |
| An interface spec can be either short form, which is just the name of |
| an interface (eth0 or whatever), or long form. The long form consists |
| of up to seven elements, separated by colons: |
| |
| <client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> |
| |
| <client-ip> IP address of the client. If empty, the address will |
| either be determined by RARP/BOOTP/DHCP. What protocol |
| is used de- pends on the <autoconf> parameter. If this |
| parameter is not empty, autoconf will be used. |
| |
| <server-ip> IP address of the NFS server. If RARP is used to |
| determine the client address and this parameter is NOT |
| empty only replies from the specified server are |
| accepted. To use different RARP and NFS server, |
| specify your RARP server here (or leave it blank), and |
| specify your NFS server in the `nfsroot' parameter |
| (see above). If this entry is blank the address of the |
| server is used which answered the RARP/BOOTP/DHCP |
| request. |
| |
| <gw-ip> IP address of a gateway if the server is on a different |
| subnet. If this entry is empty no gateway is used and the |
| server is assumed to be on the local network, unless a |
| value has been received by BOOTP/DHCP. |
| |
| <netmask> Netmask for local network interface. If this is empty, |
| the netmask is derived from the client IP address assuming |
| classful addressing, unless overridden in BOOTP/DHCP reply. |
| |
| <hostname> Name of the client. If empty, the client IP address is |
| used in ASCII notation, or the value received by |
| BOOTP/DHCP. |
| |
| <device> Name of network device to use. If this is empty, all |
| devices are used for RARP/BOOTP/DHCP requests, and the |
| first one we receive a reply on is configured. If you |
| have only one device, you can safely leave this blank. |
| |
| <autoconf> Method to use for autoconfiguration. If this is either |
| 'rarp', 'bootp', or 'dhcp' the specified protocol is |
| used. If the value is 'both', 'all' or empty, all |
| protocols are used. 'off', 'static' or 'none' means |
| no autoconfiguration. |
| |
| IP addresses and netmasks must be either absent (defaulting to zero) |
| or presented in dotted-quad notation. |
| |
| An interface spec can be prefixed with either "ip=", "nfsaddrs=", both |
| of which are ignored. These (along with the ugliness of the long |
| form) are present for compatibility with the in-kernel ipconfig code |
| from 2.4 and earlier kernels. |
| |
| Here are a few examples of valid ipconfig command lines. |
| |
| Enable the loopback interface: |
| ipconfig 127.0.0.1:::::lo:none |
| |
| Try to configure eth0 using bootp for up to 30 seconds: |
| ipconfig -t 30 -c bootp eth0 |
| |
| Configure eth0 and eth1 using dhcp or bootp, and eth2 statically: |
| ipconfig -c any eth0 eth1 192.168.1.1:::::eth2:none |
| |
| -- |
| |
| From Russell's original README, and still true: |
| |
| The code in main.c is yucky imho. Needs cleaning. |
| |
| -- |
| Russell King (2002/10/22) |
| Bryan O'Sullivan (2003/04/29) |