source: bootscripts-standard/bootscripts/cblfs/sysconfig/network-devices/services/dhclient @ 2167cfe

Last change on this file since 2167cfe was 2167cfe, checked in by William Harrington <kb0iic@…>, 10 years ago

bootscripts are the scripts used for the sysvinit book.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1#!/bin/bash
2# Begin $network-devices/services/dhclient
3
4# Based upon lfs-bootscripts-1.12 $network_devices/if{down,up}
5# Rewritten by Nathan Coulson <nathan@linuxfromscratch.org>
6# Adapted for dhclient by DJ Lucas <dj@lucasit.com>
7
8#$LastChangedBy: dnicholson $
9#$Date: 2006-10-01 13:04:35 -0500 (Sun, 01 Oct 2006) $
10
11. /etc/sysconfig/rc
12. $rc_functions
13. $IFCONFIG
14
15getipstats()
16{
17        # Print the last 16 lines of dhclient.leases
18        sed -e :a -e '$q;N;17,$D;ba' /var/state/dhcp/dhclient.leases
19}
20
21case "$2" in
22        up)
23                boot_mesg "Starting dhclient on the $1 interface..."
24                /sbin/dhclient $1 $DHCP_START
25                # Save the return value
26                RET="$?"
27                # Print the assigned settings if requested
28                if [ "$RET" = "0" -a "$PRINTIP" = "yes" ]; then
29                        # Get info from dhclient.leases file
30                        IPADDR=`getipstats | grep "fixed-address" | \
31                                sed 's/ fixed-address //' | \
32                                sed 's/\;//'`
33                        NETMASK=`getipstats | grep "subnet-mask" | \
34                                sed 's/ option subnet-mask //' | \
35                                sed 's/\;//'`
36                        GATEWAY=`getipstats | grep "routers" | \
37                                sed 's/ option routers //' | \
38                                sed 's/\;//'`
39                        DNS=`getipstats | grep "domain-name-servers" | \
40                                sed 's/ option domain-name-servers //' | \
41                                sed 's/\;//' | sed 's/,/ and /'`
42
43                        if [ "$PRINTALL" = "yes" ]; then
44                                $(exit "$RET")
45                                evaluate_retval
46                                boot_mesg "           DHCP Assigned Settings for $1:"
47                                boot_mesg_flush
48                                boot_mesg "           IP Address:      $IPADDR"
49                                boot_mesg_flush
50                                boot_mesg "           Subnet Mask:     $NETMASK"
51                                boot_mesg_flush
52                                boot_mesg "           Default Gateway: $GATEWAY"
53                                boot_mesg_flush
54                                boot_mesg "           DNS Server:      $DNS"
55                                boot_mesg_flush
56                        else
57                                boot_mesg " IP Addresss:""$IPADDR"
58                                $(exit "$RET")
59                                evaluate_retval
60                        fi
61                else
62                        $(exit "$RET")
63                        evaluate_retval
64                fi
65        ;;
66
67        down)
68                boot_mesg "Stoping dhclient on the $1 interface..."
69                if [ "$DHCP_STOP" = "" ]; then
70                        # This breaks multiple interfaces please provide
71                        # the correct stop arguments.
72                        killproc dhclient
73                else
74                        /sbin/dhclient $1 $DHCP_STOP
75                        evaluate_retval
76                fi
77        ;;
78
79        *)
80                echo "Usage: $0 [interface] {up|down}"
81                exit 1
82        ;;
83esac
84
85# End $network_devices/services/dhclient
Note: See TracBrowser for help on using the repository browser.