#!/bin/bash

VARIABLES=("net.core.rmem_max" "net.core.wmem_max" "net.ipv4.tcp_rmem" "net.ipv4.tcp_wmem" "net.core.netdev_max_backlog" "net.ipv4.tcp_no_metrics_save" "net.ipv4.tcp_congestion_control")
VALUES=("33554432" "33554432" "4096 87380 16777216" "4096 87380 16777216" "30000" "1" "htcp")

#for i in $(seq 0 ${#VARIABLES[@]}); do
for i in $(seq 0 ${#VARIABLES[@]}); do
    VARIABLE=${VARIABLES[${i}]}
    VALUE=${VALUES[${i}]}

    if [ -z "$VARIABLE" ]; then
        continue
    fi

    grep "^ *${VARIABLE} *=" /etc/sysctl.conf &> /dev/null
    if [ $? == 0 ]; then
        # Found a definition, use sed to replace it
        echo "Replacing ${VARIABLE} with ${VALUE}"
        sed -i "s|${VARIABLE} *=.*|${VARIABLE} = ${VALUE}|" /etc/sysctl.conf
    else
        # No definition found, add it to the sysctl.conf
        echo "Adding ${VARIABLE} = ${VALUE}"
        echo "${VARIABLE} = ${VALUE}" >> /etc/sysctl.conf
    fi
done
