]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/netoptions
Merge ACPICA 20100304.
[FreeBSD/FreeBSD.git] / etc / rc.d / netoptions
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: netoptions
7 # REQUIRE: FILESYSTEMS
8 # BEFORE: netif
9 # KEYWORD: nojail
10
11 . /etc/rc.subr
12 . /etc/network.subr
13
14 name="netoptions"
15 start_cmd="netoptions_start"
16 stop_cmd=:
17
18 _netoptions_initdone=
19 netoptions_init()
20 {
21         if [ -z "${_netoptions_initdone}" ]; then
22                 echo -n 'Additional TCP/IP options:'
23                 _netoptions_initdone=yes
24         fi
25 }
26
27 netoptions_start()
28 {
29         local _af
30
31         for _af in inet inet6; do
32                 afexists ${_af} && eval netoptions_${_af}
33         done
34         [ -n "${_netoptions_initdone}" ] && echo '.'
35 }
36
37 netoptions_inet()
38 {
39         case ${log_in_vain} in
40         [12])
41                 netoptions_init
42                 echo -n " log_in_vain=${log_in_vain}"
43                 ${SYSCTL_W} net.inet.tcp.log_in_vain=${log_in_vain} >/dev/null
44                 ${SYSCTL_W} net.inet.udp.log_in_vain=${log_in_vain} >/dev/null
45                 ;;
46         *)
47                 ${SYSCTL_W} net.inet.tcp.log_in_vain=0 >/dev/null
48                 ${SYSCTL_W} net.inet.udp.log_in_vain=0 >/dev/null
49                 ;;
50         esac
51
52         if checkyesno tcp_extensions; then
53                 ${SYSCTL_W} net.inet.tcp.rfc1323=1 >/dev/null
54         else
55                 netoptions_init
56                 echo -n " rfc1323 extensions=${tcp_extensions}"
57                 ${SYSCTL_W} net.inet.tcp.rfc1323=0 >/dev/null
58         fi
59
60         if checkyesno tcp_keepalive; then
61                 ${SYSCTL_W} net.inet.tcp.always_keepalive=1 >/dev/null
62         else
63                 netoptions_init
64                 echo -n " TCP keepalive=${tcp_keepalive}"
65                 ${SYSCTL_W} net.inet.tcp.always_keepalive=0 >/dev/null
66         fi
67
68         if checkyesno tcp_drop_synfin; then
69                 netoptions_init
70                 echo -n " drop SYN+FIN packets=${tcp_drop_synfin}"
71                 ${SYSCTL_W} net.inet.tcp.drop_synfin=1 >/dev/null
72         else
73                 ${SYSCTL_W} net.inet.tcp.drop_synfin=0 >/dev/null
74         fi
75
76         case ${ip_portrange_first} in
77         [0-9]*)
78                 netoptions_init
79                 echo -n " ip_portrange_first=$ip_portrange_first"
80                 ${SYSCTL_W} net.inet.ip.portrange.first=$ip_portrange_first >/dev/null
81                 ;;
82         esac
83
84         case ${ip_portrange_last} in
85         [0-9]*)
86                 netoptions_init
87                 echo -n " ip_portrange_last=$ip_portrange_last"
88                 ${SYSCTL_W} net.inet.ip.portrange.last=$ip_portrange_last >/dev/null
89                 ;;
90         esac
91 }
92
93 netoptions_inet6()
94 {
95         if checkyesno ipv6_ipv4mapping; then
96                 netoptions_init
97                 echo -n " ipv4-mapped-ipv6=${ipv6_ipv4mapping}"
98                 ${SYSCTL_W} net.inet6.ip6.v6only=0 >/dev/null
99         else
100                 ${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null
101         fi
102 }
103
104 load_rc_config $name
105 run_rc_command $1