#!/bin/bash -e

. /usr/lib/scylla/scylla_lib.sh

if [ "$AMI" = "yes" ] && [ -f /etc/scylla/ami_disabled ]; then
    rm /etc/scylla/ami_disabled
    exit 1
fi

if [ "$NETWORK_MODE" = "virtio" ]; then
    ip tuntap del mode tap dev $TAP
    ip tuntap add mode tap dev $TAP user $USER one_queue vnet_hdr
    ip link set dev $TAP up
    ip link set dev $TAP master $BRIDGE
    chown $USER.$GROUP /dev/vhost-net
elif [ "$NETWORK_MODE" = "dpdk" ]; then
    modprobe uio
    modprobe uio_pci_generic
    /usr/lib/scylla/dpdk-devbind.py --force --bind=uio_pci_generic $ETHPCIID
    for n in /sys/devices/system/node/node?; do
        echo $NR_HUGEPAGES > $n/hugepages/hugepages-2048kB/nr_hugepages
    done
else # NETWORK_MODE = posix
    if [ "$SET_NIC" = "yes" ]; then
        create_perftune_conf "$IFNAME"
        /usr/lib/scylla/posix_net_conf.sh $IFNAME --options-file /etc/scylla.d/perftune.yaml
    fi
fi
if [ "$ID" = "ubuntu" ]; then
    hugeadm --create-mounts
fi

/usr/lib/scylla/scylla-blocktune
