#!/bin/sh
# DD-WRT V22 Preinit script by Sebastian Gottschall (BrainSlayer). (some parts are taken from OpenWRT)

export PATH=/sbin:/bin:/usr/sbin:/usr/bin

# validate settings and adjust if needed
if [ -z "$(nvram get ip_conntrack_max)"]; then
    nvram set ip_conntrack_max=4096
    nvram set ip_conntrack_tcp_timeouts=3600
    nvram set ip_conntrack_udp_timeouts=3600
    nvram commit
fi

# read setting from nvram
CONNTRACK_MAX=$(nvram get ip_conntrack_max)
CONNTRACK_TCP_TIMEOUTS=$(nvram get ip_conntrack_tcp_timeouts)
CONNTRACK_UDP_TIMEOUTS=$(nvram get ip_conntrack_udp_timeouts)

# adjust conntrack settings
/bin/echo $CONNTRACK_MAX > /proc/sys/net/ipv4/ip_conntrack_max
/bin/echo $CONNTRACK_TCP_TIMEOUTS > /proc/sys/net/ipv4/ip_conntrack_tcp_timeouts
/bin/echo $CONNTRACK_UDP_TIMEOUTS > /proc/sys/net/ipv4/ip_conntrack_udp_timeouts
/bin/echo 1 > /proc/sys/net/ipv4/tcp_westwood
