1a192e900Samaguire#!/sbin/sh 2a192e900Samaguire# 3a192e900Samaguire# CDDL HEADER START 4a192e900Samaguire# 5a192e900Samaguire# The contents of this file are subject to the terms of the 6a192e900Samaguire# Common Development and Distribution License (the "License"). 7a192e900Samaguire# You may not use this file except in compliance with the License. 8a192e900Samaguire# 9a192e900Samaguire# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10a192e900Samaguire# or http://www.opensolaris.org/os/licensing. 11a192e900Samaguire# See the License for the specific language governing permissions 12a192e900Samaguire# and limitations under the License. 13a192e900Samaguire# 14a192e900Samaguire# When distributing Covered Code, include this CDDL HEADER in each 15a192e900Samaguire# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16a192e900Samaguire# If applicable, add the following below this CDDL HEADER, with the 17a192e900Samaguire# fields enclosed by brackets "[]" replaced with your own identifying 18a192e900Samaguire# information: Portions Copyright [yyyy] [name of copyright owner] 19a192e900Samaguire# 20a192e900Samaguire# CDDL HEADER END 21a192e900Samaguire# 22a192e900Samaguire# 23*6e91bba0SGirish Moodalbail# Copyright 2010 Sun Microsystems, Inc. All rights reserved. 24a192e900Samaguire# Use is subject to license terms. 25a192e900Samaguire# 26a192e900Samaguire 27a192e900Samaguire# This script is the shared method script for the ipv4-routing, ipv6-routing, 28a192e900Samaguire# ipv4-forwarding and ipv6-forwarding services. 29a192e900Samaguire 30a192e900Samaguire. /lib/svc/share/smf_include.sh 31a192e900Samaguire 32a192e900Samaguireusage() { 33a192e900Samaguire echo "Usage: $0 { start | stop | refresh } { ipv4 | ipv6 }" 34a192e900Samaguire} 35a192e900Samaguire 36a192e900Samaguirenumv6ifs=`/usr/sbin/ifconfig -au6 | /usr/bin/grep -c inet6` 37a192e900Samaguire 38a192e900Samaguiremethod="$1" 39a192e900Samaguireproto="$2" 40a192e900Samaguire 41a192e900Samaguireif [ -z "$proto" ]; then 42a192e900Samaguire usage 43a192e900Samaguire exit $SMF_ERROR_FATAL 44a192e900Samaguirefi 45a192e900Samaguire 46a192e900Samaguirecase "$1" in 47a192e900Samaguire'start' | 'refresh' ) 48f4b3ec61Sdh155122 smf_configure_ip || exit $SMF_EXIT_OK 49a192e900Samaguire # 50a192e900Samaguire # Start ip forwarding. 51a192e900Samaguire # 52a192e900Samaguire if [ "$proto" = "ipv6" -a "$numv6ifs" = 0 ]; then 53a192e900Samaguire echo "Error: no IPv6 interface configured" 54a192e900Samaguire exit $SMF_EXIT_ERR_CONFIG 55a192e900Samaguire fi 56*6e91bba0SGirish Moodalbail 57*6e91bba0SGirish Moodalbail /usr/sbin/ipadm set-prop -p forwarding=on $proto 58*6e91bba0SGirish Moodalbail [ "$proto" = "ipv6" ] && /usr/sbin/ipadm set-prop \ 59*6e91bba0SGirish Moodalbail -p ip6_send_redirects=1 ip 60a192e900Samaguire ;; 61a192e900Samaguire'stop') 62*6e91bba0SGirish Moodalbail /usr/sbin/ipadm set-prop -p forwarding=off $proto 63*6e91bba0SGirish Moodalbail [ "$proto" = "ipv6" ] && /usr/sbin/ipadm set-prop \ 64*6e91bba0SGirish Moodalbail -p ip6_send_redirects=0 ip 65a192e900Samaguire ;; 66a192e900Samaguire*) 67a192e900Samaguire usage 68a192e900Samaguire exit $SMF_ERROR_FATAL 69a192e900Samaguire ;; 70a192e900Samaguireesac 71a192e900Samaguire 72a192e900Samaguireexit "$SMF_EXIT_OK" 73