Skip to contentSkip to conversation

2.4.5 - IpConfig, BOOTP not functioning.

DISCUSSION Joshua Schmidklofer 2 participants 2 messages Jun 30, 2001 – Jul 1, 2001

lore
Share & tools
lore
#0 lore raw

Kernel developers,
I hate to burden you with menial quetions, but: How does ipconfig
get called & initialized? I am new to attempting to _read_ kernel source, and not nearly a good C progammer. This is killing me, But after two hours of looking,I can't figure out how ipconfig get initialized & called. I am using 2.4.5, I enabled ipconfig debug <via the define>, because i am trying to see why my floppy-only NFS workstation is not functioning, and I am getting no where. There are no debug messages. 10 different kernel compiles, 2 with save .config-mrproper-reconfig cycles. I am stumped, and i don't know what to do.

I am trying to boot a system w/an epic100 card in it using BOOTP. I have a 10 meg network, dumb hub, and 5 clients. 10.0.0.3 is running Redhat's bootparamd. 2 entries in /etc/bootparams. Both look fine. Running a syslog monitor in one term, and a tcpdump in another. Niether
report any BOOTP, ARP, RARP, or DHCP traffic. Floppy client boots, says something very similar to this. .
.<snip>
<epic100 initialization>
eth0: SCSC EPIC/100 83c170 at 0x6100 IRQ 10.....
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: Route cache hash table of 512 buckets
TCP: Hash tables configures (established 4096 bind 4096(
NET4: Unix Domain Sockets 1.0/SMP for Linux NET4.
Root-NFS: No NFS Server Availibl, giving up
VFS: Unable to mount root, trying floppy
<snip>

I do have CONFIG_IP_PNP_BOOTP set, and I can verify from the System.map that ipconfig is being compiled, and linked. However, there is no evidence that it initializes, and certainly no debug messages. From the look of it, the system has moved passed init'ing the network. I have no idea what to do next.

thanks,
Joshua

#1 lore raw
Quoted 4 lines · Joshua Schmidklofer

Kernel developers,
I hate to burden you with menial quetions, but: How does ipconfig
get called & initialized?

The magic happens right at the end of ipconfig.c:

__setup("ip=", ip_auto_config_setup);
__setup("nfsaddrs=", nfsaddrs_config_setup);

When the kernel boots it runs init/main.c:parse_options() to parse the kernel boot command line. The function init/main.c:checksetup() will call ip_auto_config_setup() when it sees an argument of the form "ip=XXXX" on the command line.

If there is no `ip=' argument then ip_auto_config_setup() will not be called at all.

-