routing revision 151806
1198160Srrs#!/bin/sh 2198160Srrs# 3198160Srrs# Configure routing and miscellaneous network tunables 4198160Srrs# 5198160Srrs# $FreeBSD: head/etc/rc.d/routing 151806 2005-10-28 16:07:52Z yar $ 6198160Srrs# 7198160Srrs 8198160Srrs# PROVIDE: routing 9198160Srrs# REQUIRE: netif ppp 10198160Srrs# KEYWORD: nojail 11198160Srrs 12198160Srrs. /etc/rc.subr 13198160Srrs 14198160Srrsname="routing" 15198160Srrsstart_cmd="routing_start" 16198160Srrsstop_cmd="routing_stop" 17198160Srrsextra_commands="options static" 18198160Srrsstatic_cmd="static_start" 19198160Srrsoptions_cmd="options_start" 20198160Srrs 21198160Srrsrouting_start() 22198160Srrs{ 23198160Srrs static_start 24198160Srrs options_start 25198160Srrs} 26198160Srrs 27198160Srrsrouting_stop() 28198160Srrs{ 29198160Srrs route -n flush 30198160Srrs} 31198160Srrs 32198160Srrsstatic_start() 33198625Srrs{ 34198160Srrs case ${defaultrouter} in 35198160Srrs [Nn][Oo] | '') 36198625Srrs ;; 37198160Srrs *) 38198160Srrs static_routes="default ${static_routes}" 39198160Srrs route_default="default ${defaultrouter}" 40198625Srrs ;; 41198625Srrs esac 42198625Srrs 43198625Srrs # Setup static routes. This should be done before router discovery. 44198625Srrs # 45198625Srrs if [ -n "${static_routes}" ]; then 46198625Srrs for i in ${static_routes}; do 47198625Srrs eval route_args=\$route_${i} 48198625Srrs route add ${route_args} 49198625Srrs done 50198625Srrs fi 51198625Srrs # Now ATM static routes 52198625Srrs # 53198625Srrs if [ -n "${natm_static_routes}" ]; then 54198625Srrs for i in ${natm_static_routes}; do 55198625Srrs eval route_args=\$route_${i} 56198160Srrs atmconfig natm add ${route_args} 57198160Srrs done 58198160Srrs fi 59198160Srrs} 60198160Srrs 61198625Srrsoptions_start() 62198625Srrs{ 63198625Srrs echo -n 'Additional routing options:' 64198625Srrs case ${tcp_extensions} in 65198625Srrs [Yy][Ee][Ss] | '') 66198625Srrs ;; 67198625Srrs *) 68198625Srrs echo -n ' tcp extensions=NO' 69198625Srrs sysctl net.inet.tcp.rfc1323=0 >/dev/null 70198625Srrs ;; 71198625Srrs esac 72198625Srrs 73198625Srrs case ${icmp_bmcastecho} in 74198625Srrs [Yy][Ee][Ss]) 75198625Srrs echo -n ' broadcast ping responses=YES' 76198625Srrs sysctl net.inet.icmp.bmcastecho=1 >/dev/null 77198625Srrs ;; 78198625Srrs esac 79198160Srrs 80198160Srrs case ${icmp_drop_redirect} in 81198625Srrs [Yy][Ee][Ss]) 82198625Srrs echo -n ' ignore ICMP redirect=YES' 83198625Srrs sysctl net.inet.icmp.drop_redirect=1 >/dev/null 84198625Srrs ;; 85198625Srrs esac 86198625Srrs 87198625Srrs case ${icmp_log_redirect} in 88198625Srrs [Yy][Ee][Ss]) 89198625Srrs echo -n ' log ICMP redirect=YES' 90198625Srrs sysctl net.inet.icmp.log_redirect=1 >/dev/null 91198625Srrs ;; 92198625Srrs esac 93198625Srrs 94198625Srrs case ${gateway_enable} in 95198625Srrs [Yy][Ee][Ss]) 96198625Srrs echo -n ' IP gateway=YES' 97198625Srrs sysctl net.inet.ip.forwarding=1 >/dev/null 98198625Srrs ;; 99198160Srrs esac 100198160Srrs 101198625Srrs case ${forward_sourceroute} in 102198625Srrs [Yy][Ee][Ss]) 103198625Srrs echo -n ' do source routing=YES' 104198625Srrs sysctl net.inet.ip.sourceroute=1 >/dev/null 105198625Srrs ;; 106198625Srrs esac 107198625Srrs 108198625Srrs case ${accept_sourceroute} in 109198625Srrs [Yy][Ee][Ss]) 110198625Srrs echo -n ' accept source routing=YES' 111198625Srrs sysctl net.inet.ip.accept_sourceroute=1 >/dev/null 112198625Srrs ;; 113198625Srrs esac 114198625Srrs 115198625Srrs case ${tcp_keepalive} in 116198625Srrs [Nn][Oo]) 117198625Srrs echo -n ' TCP keepalive=NO' 118198625Srrs sysctl net.inet.tcp.always_keepalive=0 >/dev/null 119198160Srrs ;; 120198160Srrs esac 121198625Srrs 122198625Srrs case ${tcp_drop_synfin} in 123198625Srrs [Yy][Ee][Ss]) 124198625Srrs echo -n ' drop SYN+FIN packets=YES' 125198625Srrs sysctl net.inet.tcp.drop_synfin=1 >/dev/null 126198625Srrs ;; 127198625Srrs esac 128198625Srrs 129198625Srrs case ${ipxgateway_enable} in 130198625Srrs [Yy][Ee][Ss]) 131198625Srrs echo -n ' IPX gateway=YES' 132198625Srrs sysctl net.ipx.ipx.ipxforwarding=1 >/dev/null 133198625Srrs ;; 134198625Srrs esac 135198625Srrs 136198625Srrs case ${arpproxy_all} in 137198625Srrs [Yy][Ee][Ss]) 138198625Srrs echo -n ' ARP proxyall=YES' 139198160Srrs sysctl net.link.ether.inet.proxyall=1 >/dev/null 140198160Srrs ;; 141198625Srrs esac 142198625Srrs 143198625Srrs case ${ip_portrange_first} in 144198625Srrs [Nn][Oo] | '') 145198625Srrs ;; 146198625Srrs *) 147198625Srrs echo -n " ip_portrange_first=$ip_portrange_first" 148198625Srrs sysctl net.inet.ip.portrange.first=$ip_portrange_first >/dev/null 149198625Srrs ;; 150198625Srrs esac 151198625Srrs 152198625Srrs case ${ip_portrange_last} in 153198625Srrs [Nn][Oo] | '') 154198625Srrs ;; 155198625Srrs *) 156198625Srrs echo -n " ip_portrange_last=$ip_portrange_last" 157198625Srrs sysctl net.inet.ip.portrange.last=$ip_portrange_last >/dev/null 158198625Srrs ;; 159198160Srrs esac 160198160Srrs 161198625Srrs echo '.' 162198625Srrs} 163198625Srrs 164198625Srrsload_rc_config $name 165198625Srrsrun_rc_command "$1" 166198625Srrs