#!/bin/sh # Copyright (c) 2014-2015 Oracle and/or its affiliates. All Rights Reserved. # Copyright (c) International Business Machines Corp., 2001 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # This program is distributed in the hope that it would be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # Author: Manoj Iyer, manjo@mail.utexas.edu # Author: Alexey Kodanev alexey.kodanev@oracle.com TST_CLEANUP=cleanup TST_TOTAL=1 TCID="dhcpd" dhcp_name="dhcpd" . test_net.sh . dhcp_lib.sh setup_dhcpd_conf() { if [ -f /etc/dhcpd.conf ]; then DHCPD_CONF="/etc/dhcpd.conf" elif [ -f /etc/dhcp/dhcpd.conf ]; then DHCPD_CONF="/etc/dhcp/dhcpd.conf" else tst_brkm TBROK "failed to find dhcpd.conf" fi mv $DHCPD_CONF dhcpd.conf [ $? -ne 0 ] && tst_brkm TBROK "failed to backup dhcpd.conf" mv tst_dhcpd.conf $DHCPD_CONF [ $? -ne 0 ] && tst_brkm TBROK "failed to create dhcpd.conf" } start_dhcpd() { dhcpd -$ipv $iface0 > tst_dhcpd.err 2>&1 if [ $? -ne 0 ]; then cat tst_dhcpd.err tst_brkm TBROK "Failed to start dhcpd" fi } start_dhcp() { cat > tst_dhcpd.conf <<-EOF ddns-update-style none; update-static-leases off; subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.100 10.1.1.100; default-lease-time 60; max-lease-time 60; } EOF setup_dhcpd_conf start_dhcpd } start_dhcp6() { cat > tst_dhcpd.conf <<-EOF ddns-update-style none; update-static-leases off; subnet6 fd00:1:1:2::/64 { range6 fd00:1:1:2::100 fd00:1:1:2::100; default-lease-time 60; max-lease-time 60; } EOF setup_dhcpd_conf start_dhcpd } cleanup_dhcp() { [ -f dhcpd.conf ] && mv dhcpd.conf $DHCPD_CONF } print_dhcp_log() { cat tst_dhcpd.err } init test01 tst_exit