#!/bin/sh # # pppoe-relay PPP over Ethernet Relay Server # # chkconfig: 345 47 53 # # description: PPP over Ethernet Relay Server # # Source function library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # Get service config [ -f /etc/sysconfig/pppoe-relay ] && . /etc/sysconfig/pppoe-relay # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down "PPPoE Relay Server" exit 1 fi else exit 0 fi PPPOE_RELAY_IFACES_SERVERS_OPT= for iface in $PPPOE_RELAY_IFACES_SERVERS; do PPPOE_RELAY_IFACES_SERVERS_OPT="-S $iface $$PPPOE_RELAY_IFACES_SERVERS" done PPPOE_RELAY_IFACES_CLIENTS= for iface in $PPPOE_RELAY_IFACES_CLIENTS; do PPPOE_RELAY_IFACES_CLIENTS_OPT="-C $iface $PPPOE_RELAY_IFACES_CLIENTS" done PPPOE_RELAY_IFACES_BOTH= for iface in $PPPOE_RELAY_IFACES_BOTH; do PPPOE_RELAY_IFACES_BOTH_OPT="-B $iface $PPPOE_RELAY_IFACES_BOTH" done [ -z "$PPPOE_RELAY_MAX_SESSIONS" ] && PPPOE_RELAY_MAX_SESSIONS=500 [ -z "$PPPOE_RELAY_TIMEOUT" ] && PPPOE_RELAY_TIMEOUT=600 RETVAL=0 # See how we were called. case "$1" in start) # Check if the service is already running? if [ ! -f /var/lock/subsys/pppoe-relay ]; then msg_starting "PPPoE Relay Server" for iface in $PPPOE_RELAY_IFACES_SERVERS $PPPOE_RELAY_IFACES_CLIENTS $PPPOE_RELAY_IFACES_BOTH; do ip link set $iface up 2> /dev/null done daemon /usr/sbin/pppoe-relay \ $PPPOE_RELAY_IFACES_SERVERS_OPT \ $PPPOE_RELAY_IFACES_CLIENTS_OPT \ $PPPOE_RELAY_IFACES_BOTH_OPT \ -n $PPPOE_RELAY_MAX_SESSIONS -i $PPPOE_RELAY_TIMEOUT RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pppoe-relay else msg_already_running "PPPoE Relay Server" fi ;; stop) if [ -f /var/lock/subsys/pppoe-relay ]; then msg_stopping "PPPoE Relay Server" killproc pppoe-relay rm -f /var/lock/subsys/pppoe-relay >/dev/null 2>&1 else msg_not_running "PPPoE Relay Server" fi ;; restart|force-reload) $0 stop $0 start exit $? ;; status) status pppoe-relay exit $? ;; *) msg_usage "$0 {start|stop|restart|force-reload|status}" exit 3 esac exit $RETVAL