html流控脚本,基于tc的流控脚本

自己写的简单的流控脚本,在此记录,以作笔记

脚本用来均分totle的总带宽,使用hfsc流控算法

脚本内容如下

#!/bin/sh

macs=mac.conf  #需要做流控的mac地址,一行一个

intf=wlan1           #需要应用流控的接口名称

totle=10240 #kbps    #总带宽

sta_count=`cat $macs |wc -l`

reserv_bw=`expr $totle / 20`

bw=`expr $totle - $reserv_bw`

sta_bw=`expr $bw / $sta_count`

#init_qos()

#{

tc qdisc del dev $intf root

tc qdisc add dev $intf root handle 1000: hfsc default 1002

tc class add dev $intf parent 1000: classid 1000:1001 hfsc sc rate ${reserv_bw}kbit ul rate ${totle}kbit

tc class add dev $intf parent 1000: classid 1000:1002 hfsc sc rate ${bw}kbit ul rate ${totle}kbit

tc qdisc add dev $intf parent 1000:1002 handle 2000: hfsc default 2001

tc class add dev $intf parent 2000: classid 2000:2001 hfsc sc rate ${sta_bw}kbit ul rate ${bw}kbit

#}

index=1

while read LINE

do

mac2=`echo $LINE | awk '{print $1}'`

mac4=`echo $LINE | awk '{print $2}'`

tc class add dev $intf parent 2000: classid 2000:$index hfsc sc rate ${sta_bw}kbit ul rate ${bw}kbit

tc filter add dev $intf parent 2000: prio 1 protocol ip handle 800::$index u32 match u32 0x${mac4} 0xffffffff at -12 match u16 0x${mac2} 0xffff at -14 flowid 2000:$index

index=`expr $index + 1`

done < $macs

配置文件如下:

mac.conf

5800 e3fb786f

6c94 f8341d74

b4f6 1cc5f4d1

d88f 76ad9205

dc0c 5cd84a8b

f431 c33694a1

一行表示一个mac。

此脚本亲测有效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值