{
    use esmith::util;

    if ($ifup_this_device eq "no")
    {
	# Need syntactically valid IP address to avoid complaints
	# from init.d/network script
	return "IPADDR=1.1.1.1";
    }

    if ($is_external)
    {
	# We are now running a supervised dhcpcd - setting the BOOTPROTO to "none"
	# allows the supervised dhcpcd to do the work without fighting with ifup
	return "BOOTPROTO=none" if ($ExternalDHCP eq "on");

	my ($network, $broadcast) = esmith::util::computeNetworkAndBroadcast ($ExternalIP, $ExternalNetmask);

	return "BOOTPROTO=none\n" .
        "IPADDR=$ExternalIP\n" .
        "NETMASK=$ExternalNetmask\n" .
        "NETWORK=$network\n" .
        "BROADCAST=$broadcast";
    }
    return "" unless ($is_internal);

    my ($network, $broadcast) = esmith::util::computeNetworkAndBroadcast ($LocalIP, $LocalNetmask);

    return "BOOTPROTO=none\n" .
    "IPADDR=$LocalIP\n" .
    "NETMASK=$LocalNetmask\n" .
    "NETWORK=$network\n" .
    "BROADCAST=$broadcast";
}
