#!/bin/sh
#
# /etc/init.d/rcS
#

echo -n "mounting swap..."
/sbin/swapon /dev/hdc
echo "done."

echo -n "setting up network..."
/sbin/ifconfig lo 127.0.0.1
/sbin/ifconfig eth0 192.168.0.1 txqueuelen 1000

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
echo "524287" > /proc/sys/net/core/optmem_max
echo "300000" > /proc/sys/net/core/netdev_max_backlog
echo "131072" > /proc/sys/fs/file-max
echo "10" > /proc/sys/vm/dirty_writeback_centisecs
echo "done."

# specific for iscsi-target
MEM_SIZE=1048576
echo ${MEM_SIZE} > /proc/sys/net/core/wmem_max
echo ${MEM_SIZE} > /proc/sys/net/core/rmem_max
echo ${MEM_SIZE} > /proc/sys/net/core/wmem_default
echo ${MEM_SIZE} > /proc/sys/net/core/rmem_default
echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_mem
echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_rmem
echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_wmem

mke2fs -F /dev/sda

cat > /etc/ietd.conf <<EOF
Target iqn.2005-05.1.0.168.192
	Lun 0 Sectors=8000000,Type=nullio
EOF

/sbin/insmod /modules/iscsi_trgt.ko

echo -n "start enterprise target..."
/iscsi/ietd -f &
echo "done."

sleep 3

echo "notifying client..."
echo "server ready" | netcat -c 192.168.0.10 8000
echo "done"

echo "starting bash shell..."
/bin/bash
