[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#295482: netcfg broadcast address crashes LAN



Package: netcfg
Version: 1.07.1


Subject: erroneous static network interface broadcast address

The Debian Installer repeatedly crashes my DSL modem. There have never
been any other problems except with D-I. I think the broadcast address
is the problem. The problem occurs especially when the installer tries
to fetch files from the internet before rebooting. The network is good
after rebooting. I think the netcfg is the problem or else busybox. This
is what I found when checking before rebooting:


========= preboot installation /etc/network/interfaces ==============
============ this was correctly written by the installer ============

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
	address 192.168.2.64
	netmask 255.255.255.0
	network 192.168.2.0
	broadcast 192.168.2.255
	gateway 192.168.2.1
	# dns-* options are implemented by the resolvconf package, if installed
	dns-nameservers 192.168.2.1
	dns-search localnet


======== preboot installation ifconfig ===============
======== this was not correctly initialized ==========

eth0      Link encap:Ethernet  HWaddr 00:11:2F:E0:3A:27  
          inet addr:192.168.2.64  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:49876 (48.7 KiB)  TX bytes:3281 (3.2 KiB)
          Interrupt:17 Memory:fba00000-0 

============ the above Bcast:0.0.0.0 is incorrect =========

I found this code in the netcfg/static.c file. The fprintf must be good. 
I think the broadcast.s_addr is wrong when initializing interface:

static.c:   struct in_addr broadcast = { 0 };
static.c:      broadcast.s_addr = (network.s_addr | ~netmask.s_addr);
static.c:      fprintf(fp, "\tbroadcast %s\n", inet_ntop (AF_INET, &broadcast, ptr1, sizeof (ptr1)));


............
Thanks for the attention






Reply to: