mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
44 lines
No EOL
1 KiB
Bash
Executable file
44 lines
No EOL
1 KiB
Bash
Executable file
#!/bin/sh
|
|
# Common classifier library
|
|
|
|
# Handle classify section
|
|
handle_classify() {
|
|
cid="$1" #classify section ID
|
|
|
|
config_get is_enable "$cid" "enable" 1
|
|
# no need to configure disabled classify rules
|
|
if [ "$is_enable" == "0" ]; then
|
|
return
|
|
fi
|
|
|
|
handle_ebtables_rules "$cid"
|
|
handle_iptables_rules "$cid"
|
|
handle_policer_rules "$cid"
|
|
}
|
|
|
|
|
|
# Configure classifier based on UCI subtree 'qos.classify'
|
|
configure_classify() {
|
|
# Processing classify section
|
|
# First remove old files
|
|
rm -f /tmp/qos/classify.ebtables
|
|
rm -f /tmp/qos/classify.iptables
|
|
rm -f /tmp/qos/classify.ip6tables
|
|
|
|
# Create files that will contain the rules if not present already
|
|
mkdir -p /tmp/qos/
|
|
touch /tmp/qos/classify.iptables
|
|
touch /tmp/qos/classify.ip6tables
|
|
touch /tmp/qos/classify.ebtables
|
|
|
|
# Add flush chain rules
|
|
flush_chains
|
|
|
|
# Load UCI file
|
|
config_load qos
|
|
config_foreach handle_classify classify
|
|
|
|
sh /tmp/qos/classify.ebtables
|
|
sh /tmp/qos/classify.iptables
|
|
sh /tmp/qos/classify.ip6tables
|
|
} |