zoukankan      html  css  js  c++  java
  • 使用tc编写流量控制脚本

    TC="tc"
    IFCONFIG="ifconfig"
    if [ "$2" = "" ];
    then
    	echo error
    	exit 1
    fi
    IF=$1
    IFIN="ifb0"
    
    case $2 in
    	start)
    		$TC qdisc del dev $IF root
    		$TC qdisc del dev $IF handle ffff: ingress
            $TC qdisc del dev $IFIN root
    
    		BW=$3
    		if [ "$BW" != "0" -a "$BW" != "-1" ]
    		then
    		BW=$BW"bit"
    		$TC qdisc add dev $IF root handle 1: htb default 10
    		$TC class add dev $IF parent 1: classid 1:1 htb rate $BW
    		$TC class add dev $IF parent 1:1 classid 1:10 htb rate $BW
    		fi
    		BWIN=$4
    		if [ "$BWIN" != "0" -a "$BWIN" != "-1" ]
    		then
    		BWIN=$BWIN"bit"
    		$IFCONFIG $IFIN up
    		$TC qdisc add dev $IF handle ffff: ingress
    		$TC qdisc add dev $IFIN root handle 1: htb default 10
    		$TC class add dev $IFIN parent 1: classid 1:1 htb rate $BWIN
    		$TC class add dev $IFIN parent 1:1 classid 1:10 htb rate $BWIN
    		$TC filter add dev $IF parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev $IFIN
    		fi
    		;;
    	stop)
    		$TC qdisc del dev $IF root
    		$TC qdisc del dev $IF handle ffff: ingress		
    		$TC qdisc del dev $IFIN root
    		$IFCONFIG $IFIN down
    		;;
    	update)
    		BW=$3
    		if [ "$BW" = "" ]
    		then
    			echo error
    			exit 1;
    		fi
    		BW=$BW"bit"
    		$TC class change dev $IF parent 1: classid 1:1 htb rate $BW
    		$TC class change dev $IF parent 1:1 classid 1:10 htb rate $BW
    		;;
    	*)
    		echo error
    		exit 1
    		;;
    esac
    exit 0
    

      

  • 相关阅读:
    Linux用户空间与内核地址空间
    [Linux内存]——内核地址空间
    使用 GDB 调试多进程程序
    Linux GDB常用命令
    GDB常用命令使用
    GDB调试原理——ptrace系统调用
    不可见乱码 怎么消除
    Vue use的理解
    Element-UI 下边框,表格错位问题
    sort 排序传递更多参数
  • 原文地址:https://www.cnblogs.com/wangzhe1635/p/8658683.html
Copyright © 2011-2022 走看看