#!/bin/sh
### BEGIN INIT INFO
# Provides:          dpdk-hugepage
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Setup hugepages for DPDK
# Description:       Reserves hugepages and mounts hugetlbfs for DPDK applications
### END INIT INFO

case "$1" in
    start)
        echo "Setting up hugepages for DPDK..."
        /etc/dpdk/hugepage-setup.sh
        ;;
    stop)
        echo "Unmounting hugetlbfs..."
        umount /mnt/huge 2>/dev/null
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    status)
        grep -i huge /proc/meminfo
        mount | grep huge
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

exit 0
