iptables -t mangle -A FORWARD -m dscp --dscp 36 -o eth0 -j CLASSIFY --set-class 100:0
iptables -t mangle -A OUTPUT -m dscp --dscp 36 -o eth0 -j CLASSIFY --set-class 100:0
tc qdisc add dev eth0 root handle 1: nssprio bands 2
tc qdisc add dev eth0 parent 1:1 handle 10: nsstbl rate 10Mbit burst 30K
tc qdisc add dev eth0 parent 1:2 handle 20: nsstbl rate 1000Mbit burst 30K
tc qdisc add dev eth0 parent 10: handle 100: nsspfifo limit 100
tc qdisc add dev eth0 parent 20: handle 200: nsspfifo limit 100 set_default
echo 1>/sys/kernel/debug/ecm/ecm_classifier_default/accel_delay_pkts
#方案1
rmmod ifb && insmod ifb numifbs=5
tc qdisc add dev eth0 handle ffff: ingress
/etc/init.d/qca-nss-mirred start
tc filter add dev eth0 parent ffff: u32 match u32 0 0 action nssmirred redirect dev ifb0 fromdev eth0
ifconfig ifb0 down
ifconfig ifb0 up
tc qdisc add dev ifb0 root handle 1: nsshtb accel_mode 0
tc class add dev ifb0 parent 1: classid 1:1 nsshtb crate 400Mbit cburst 160k
tc class add dev ifb0 parent 1:1 classid 1:2 nsshtb rate 40Mbit burst 10k crate 100Mbit cburst 20k priority 0
tc class add dev ifb0 parent 1:1 classid 1:3 nsshtb rate 40Mbit burst 10k crate 100Mbit cburst 20k priority 0
tc class add dev ifb0 parent 1:1 classid 1:4 nsshtb rate 40Mbit burst 10k crate 100Mbit cburst 20k priority 0
tc qdisc add dev ifb0 parent 1:2 handle 100: nsspfifo limit 10 set_default
tc qdisc add dev ifb0 parent 1:3 handle 200: nsspfifo limit 10
tc qdisc add dev ifb0 parent 1:4 handle 300: nsspfifo limit 10
tc filter add dev ifb0 parent 1: protocol ip u32 match ip src 192.168.1.200 flowid 200:0
#方案2
rmmod ifb && insmod ifb numifbs=5
tc qdisc add dev eth0 handle ffff: ingress
/etc/init.d/qca-nss-mirred start
tc filter add dev eth0 parent ffff: u32 match u32 0 0 action nssmirred redirect dev ifb0 fromdev eth0
ifconfig ifb0 down
ifconfig ifb0 up
tc qdisc add dev ifb0 root handle 1: nsshtb accel_mode 0
tc class add dev ifb0 parent 1: classid 1:1 nsshtb rate 0Mbit burst 100k crate 1000Mbit cburst 100k
tc class add dev ifb0 parent 1:1 classid 1:10 nsshtb rate 10Mbit crate 20Mbit burst 100k cburst 100k priority 0
tc class add dev ifb0 parent 1:1 classid 1:20 nsshtb rate 4Mbit crate 8Mbit burst 100k cburst 100k priority 1
tc class add dev ifb0 parent 1:1 classid 1:30 nsshtb rate 0Mbit crate 1000Mbit burst 100k cburst 100k priority 2
tc class add dev ifb0 parent 1:1 classid 1:40 nsshtb rate 0Mbit crate 1000Mbit burst 100k cburst 100k priority 3
tc qdisc add dev ifb0 parent 1:10 handle 100: nsspfifo limit 100
tc qdisc add dev ifb0 parent 1:20 handle 200: nsspfifo limit 100
tc qdisc add dev ifb0 parent 1:30 handle 300: nsspfifo limit 100 set_default
tc qdisc add dev ifb0 parent 1:40 handle 400: nsspfifo limit 100
tc filter add dev ifb0 parent 1: protocol ip u32 match ip src 192.168.1.200 flowid 400:0
tc filter add dev ifb0 parent 1: protocol ip u32 match u16 0x4590 0xffff at 0 flowid 100:0 # 发送10m
tc filter add dev ifb0 parent 1: protocol ip u32 match u16 0x45b8 0xffff at 0 flowid 400:0 # 发送 150m
tc filter add dev ifb0 parent 1: protocol ip u32 match u16 0x4590 0xffff at 0 flowid 100:0
tc filter add dev ifb0 parent 1: protocol ip u32 match u16 5001 0xffff at 22 flowid 100:0
tc filter add dev ifb0 parent 1: protocol ip u32 match u16 5002 0xffff at 22 flowid 400:0
#方案3
rmmod ifb && insmod ifb numifbs=5
ifconfig ifb0 down
ifconfig ifb0 up
/etc/init.d/qca-nss-mirred start
tc qdisc add dev ath2 handle ffff: ingress
tc filter add dev ath2 parent ffff: u32 match u32 0 0 action nssmirred redirect dev ifb0 fromdev ath2
tc qdisc add dev ifb0 root handle 1: nsshtb accel_mode 0
tc class add dev ifb0 parent 1: classid 1:1 nsshtb rate 0Mbit burst 100k crate 1000Mbit cburst 100k
tc class add dev ifb0 parent 1:1 classid 1:10 nsshtb rate 20Mbit crate 200Mbit burst 100k cburst 100k priority 0
tc class add dev ifb0 parent 1:1 classid 1:20 nsshtb rate 4Mbit crate 8Mbit burst 100k cburst 100k priority 1
tc class add dev ifb0 parent 1:1 classid 1:30 nsshtb rate 0Mbit crate 1000Mbit burst 100k cburst 100k priority 2
tc class add dev ifb0 parent 1:1 classid 1:40 nsshtb rate 0Mbit crate 1000Mbit burst 100k cburst 100k priority 3
tc qdisc add dev ifb0 parent 1:10 handle 100: nsspfifo limit 100
tc qdisc add dev ifb0 parent 1:20 handle 200: nsspfifo limit 100
tc qdisc add dev ifb0 parent 1:30 handle 300: nsspfifo limit 100 set_default
tc qdisc add dev ifb0 parent 1:40 handle 400: nsspfifo limit 100
tc filter add dev ifb0 parent 1: protocol ip u32 match ip src 192.168.1.88 flowid 100:0
tc filter add dev ifb0 parent 1: protocol ip u32 match u16 0x4590 0xffff at 0 flowid 100:0 # 发送10m
tc filter add dev ifb0 parent 1: protocol ip u32 match u16 0x45b8 0xffff at 0 flowid 400:0 # 发送 150m