xref: /plan9/sys/lib/dist/pc/inst/configether (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du Colombier#!/bin/rc
2*9a747e4fSDavid du Colombier
3*9a747e4fSDavid du Colombier# desc: configure your internet connection via an ethernet card
4*9a747e4fSDavid du Colombier
5*9a747e4fSDavid du Colombierswitch($1) {
6*9a747e4fSDavid du Colombiercase go
7*9a747e4fSDavid du Colombier	echo
8*9a747e4fSDavid du Colombier	echo 'Please choose a method for configuring your ethernet connection.'
9*9a747e4fSDavid du Colombier	echo
10*9a747e4fSDavid du Colombier	echo '	manual - specify IP address, network mask, gateway IP address'
11*9a747e4fSDavid du Colombier	echo '	dhcp - use DHCP to automatically configure'
12*9a747e4fSDavid du Colombier	echo
13*9a747e4fSDavid du Colombier
14*9a747e4fSDavid du Colombier	prompt 'Configuration method' manual dhcp
15*9a747e4fSDavid du Colombier	ethermethod=$rd
16*9a747e4fSDavid du Colombier	gwaddr=xxx
17*9a747e4fSDavid du Colombier	ipaddr=xxx
18*9a747e4fSDavid du Colombier	ipmask=xxx
19*9a747e4fSDavid du Colombier	switch($ethermethod){
20*9a747e4fSDavid du Colombier	case dhcp
21*9a747e4fSDavid du Colombier		echo
22*9a747e4fSDavid du Colombier		echo 'Some ISPs, notably @HOME, require a host name passed with DHCP'
23*9a747e4fSDavid du Colombier		echo 'requests.  An example for @HOME would be "cc1018221-a".  If your'
24*9a747e4fSDavid du Colombier		echo 'ISP supplied you such a name, enter it.'
25*9a747e4fSDavid du Colombier		echo
26*9a747e4fSDavid du Colombier		prompt -d none 'host name'; dhcphost=$rd
27*9a747e4fSDavid du Colombier		switch($dhcphost){
28*9a747e4fSDavid du Colombier		case none
29*9a747e4fSDavid du Colombier			dhcphost=();
30*9a747e4fSDavid du Colombier		case *
31*9a747e4fSDavid du Colombier			dhcphost=(-h $dhcphost)
32*9a747e4fSDavid du Colombier		}
33*9a747e4fSDavid du Colombier		export dhcphost
34*9a747e4fSDavid du Colombier	case manual
35*9a747e4fSDavid du Colombier		prompt 'ip address'; ipaddr=$rd
36*9a747e4fSDavid du Colombier		prompt 'network mask'; ipmask=$rd
37*9a747e4fSDavid du Colombier		prompt 'gateway address'; gwaddr=$rd
38*9a747e4fSDavid du Colombier		export ipaddr ipmask gwaddr
39*9a747e4fSDavid du Colombier	}
40*9a747e4fSDavid du Colombier
41*9a747e4fSDavid du Colombier	export ethermethod gwaddr ipaddr ipmask dhcphost
42*9a747e4fSDavid du Colombier	exec startether go
43*9a747e4fSDavid du Colombier
44*9a747e4fSDavid du Colombiercase checkdone
45*9a747e4fSDavid du Colombier	if(! ~ $ethermethod manual dhcp) {
46*9a747e4fSDavid du Colombier		configether=notdone
47*9a747e4fSDavid du Colombier		export configether
48*9a747e4fSDavid du Colombier	}
49*9a747e4fSDavid du Colombier	if(~ $ethermethod manual && ~ 0 $#ipaddr $#ipmask $#gwaddr) {
50*9a747e4fSDavid du Colombier		configether=notdone
51*9a747e4fSDavid du Colombier		export configether
52*9a747e4fSDavid du Colombier	}
53*9a747e4fSDavid du Colombier}
54