lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

dhcrelay4.init (1085B)


      1 #!/bin/sh /etc/rc.common
      2 # Copyright (C) 2012 OpenWrt.org
      3 
      4 START=91
      5 
      6 SERVICE_SIG="KILL"
      7 SERVICE_PID_FILE="/var/run/dhcrelay4.pid"
      8 SERVICE_USE_PID=1
      9 
     10 start() {
     11 	. /lib/functions/network.sh
     12 	config_load dhcrelay
     13 	local args=""
     14 
     15 	local enabled
     16 	config_get_bool enabled ipv4 enabled 0
     17 	[ "$enabled" -eq 0 ] && return 0
     18 
     19 	# listen interfaces
     20 	local interfaces
     21 	local ifname
     22 	config_get interfaces ipv4 interfaces
     23 	for net in $interfaces; do
     24 		if network_get_device ifname "$net"; then
     25 			append args "-i $ifname"
     26 		fi
     27 	done
     28 
     29 	# link selection sub-option (RFC3527)
     30 	local link_selection
     31 	config_get link_selection ipv4 link_selection
     32 	if network_get_device ifname "$link_selection"; then
     33 		append args "-U $ifname"
     34 	fi
     35 
     36 	# relay mode
     37 	local relay_mode
     38 	config_get relay_mode ipv4 relay_mode
     39 	[ -n "$relay_mode" ] && append args "-m $relay_mode"
     40 
     41 	# dhcp server address
     42 	local server
     43 	config_get server ipv4 dhcpserver
     44 	[ -n "$server" ] || return 0
     45 	append args "$server"
     46 
     47 	service_start /usr/sbin/dhcrelay -4 -q \
     48 		-pf $SERVICE_PID_FILE $args
     49 }
     50 
     51 stop() {
     52 	service_stop /usr/sbin/dhcrelay
     53 }