mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
qosmngr: handle single lan port devices
update logic to read board ports to also handle devices with single lan port
This commit is contained in:
parent
8644a80d80
commit
025533f734
6 changed files with 14 additions and 14 deletions
|
|
@ -101,7 +101,7 @@ handle_policer() {
|
||||||
|
|
||||||
# Configure policer based on UCI subtree 'qos.policer'
|
# Configure policer based on UCI subtree 'qos.policer'
|
||||||
configure_policer() {
|
configure_policer() {
|
||||||
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
if [ -n "${intf}" ] ; then
|
if [ -n "${intf}" ] ; then
|
||||||
hw_policer_set_ingress_rate "$intf" 0 0
|
hw_policer_set_ingress_rate "$intf" 0 0
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ pre_configure_queue() {
|
||||||
# Delete queues
|
# Delete queues
|
||||||
hw_queue_init_all
|
hw_queue_init_all
|
||||||
|
|
||||||
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
hw_intf_init "${intf}"
|
hw_intf_init "${intf}"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ handle_shaper() {
|
||||||
# Configure shaper based on options saved to UCI tree 'qos.shaper'
|
# Configure shaper based on options saved to UCI tree 'qos.shaper'
|
||||||
configure_shaper() {
|
configure_shaper() {
|
||||||
# Delete existing shaper
|
# Delete existing shaper
|
||||||
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
hw_shaper_set "$intf" del
|
hw_shaper_set "$intf" del
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ sort_q_by_precedence() {
|
||||||
}
|
}
|
||||||
|
|
||||||
sort_by_precedence() {
|
sort_by_precedence() {
|
||||||
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
sort_q_by_precedence $interf
|
sort_q_by_precedence $interf
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
@ -335,7 +335,7 @@ handle_shaper() {
|
||||||
assign_policer_to_port() {
|
assign_policer_to_port() {
|
||||||
local ifname="$1"
|
local ifname="$1"
|
||||||
local pindex="$2"
|
local pindex="$2"
|
||||||
local portorder="$(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs)"
|
local portorder="$(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs)"
|
||||||
|
|
||||||
for port in $portorder; do
|
for port in $portorder; do
|
||||||
if [ "$ifname" == "$port" ]; then
|
if [ "$ifname" == "$port" ]; then
|
||||||
|
|
@ -421,7 +421,7 @@ config_ingress_rate_limit() {
|
||||||
|
|
||||||
configure_shaper() {
|
configure_shaper() {
|
||||||
# Delete existing shaper
|
# Delete existing shaper
|
||||||
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
tmctl setportshaper --devtype 0 --if $intf --shapingrate 0 --burstsize -1
|
tmctl setportshaper --devtype 0 --if $intf --shapingrate 0 --burstsize -1
|
||||||
done
|
done
|
||||||
# Load UCI file
|
# Load UCI file
|
||||||
|
|
@ -432,7 +432,7 @@ configure_shaper() {
|
||||||
|
|
||||||
pre_configure_queue() {
|
pre_configure_queue() {
|
||||||
# Delete queues
|
# Delete queues
|
||||||
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
rm -rf /tmp/qos/$intf
|
rm -rf /tmp/qos/$intf
|
||||||
|
|
||||||
mkdir -p /tmp/qos/$intf
|
mkdir -p /tmp/qos/$intf
|
||||||
|
|
@ -452,7 +452,7 @@ pre_configure_queue() {
|
||||||
configure_queue_shaping_rate() {
|
configure_queue_shaping_rate() {
|
||||||
# Load UCI file
|
# Load UCI file
|
||||||
config_load qos
|
config_load qos
|
||||||
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
Q_COUNT=0
|
Q_COUNT=0
|
||||||
config_foreach handle_queue_shapingrate queue $interf
|
config_foreach handle_queue_shapingrate queue $interf
|
||||||
done
|
done
|
||||||
|
|
@ -463,7 +463,7 @@ configure_queue() {
|
||||||
config_load qos
|
config_load qos
|
||||||
config_foreach handle_q_order queue
|
config_foreach handle_q_order queue
|
||||||
sort_by_precedence
|
sort_by_precedence
|
||||||
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
Q_COUNT=0
|
Q_COUNT=0
|
||||||
# sp queue have max priority value = no. of queue configured on the port
|
# sp queue have max priority value = no. of queue configured on the port
|
||||||
# hence read and update SP_Q_PRIO here
|
# hence read and update SP_Q_PRIO here
|
||||||
|
|
@ -476,7 +476,7 @@ configure_queue() {
|
||||||
configure_policer() {
|
configure_policer() {
|
||||||
# The policer object is not available on non BCM968* chips, just clean up
|
# The policer object is not available on non BCM968* chips, just clean up
|
||||||
# the old config if any and return
|
# the old config if any and return
|
||||||
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
local unitport="$(get_port_number $intf)"
|
local unitport="$(get_port_number $intf)"
|
||||||
local unit=$(echo $unitport | cut -d ' ' -f 1)
|
local unit=$(echo $unitport | cut -d ' ' -f 1)
|
||||||
local port=$(echo $unitport | cut -d ' ' -f 2)
|
local port=$(echo $unitport | cut -d ' ' -f 2)
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@ handle_ebtables_rules() {
|
||||||
if [ "$all_interfaces" == "1" ]; then
|
if [ "$all_interfaces" == "1" ]; then
|
||||||
is_l2_rule=1
|
is_l2_rule=1
|
||||||
elif [ -n "$src_if" ]; then
|
elif [ -n "$src_if" ]; then
|
||||||
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
if [ "$src_if" == "$interf" ]; then
|
if [ "$src_if" == "$interf" ]; then
|
||||||
src_if="$src_if+"
|
src_if="$src_if+"
|
||||||
broute_filter_on_src_if "$src_if"
|
broute_filter_on_src_if "$src_if"
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ sort_q_by_precedence() {
|
||||||
}
|
}
|
||||||
|
|
||||||
sort_by_precedence() {
|
sort_by_precedence() {
|
||||||
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
sort_q_by_precedence $interf
|
sort_q_by_precedence $interf
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
@ -384,7 +384,7 @@ config_ingress_rate_limit() {
|
||||||
|
|
||||||
pre_configure_queue() {
|
pre_configure_queue() {
|
||||||
# Delete queues
|
# Delete queues
|
||||||
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for intf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
rm -rf /tmp/qos/$intf
|
rm -rf /tmp/qos/$intf
|
||||||
|
|
||||||
mkdir -p /tmp/qos/$intf
|
mkdir -p /tmp/qos/$intf
|
||||||
|
|
@ -463,7 +463,7 @@ configure_queue() {
|
||||||
bs=$(( bs / 1000 ))
|
bs=$(( bs / 1000 ))
|
||||||
}
|
}
|
||||||
local wanport="$(jsonfilter -i /etc/board.json -e @.network.wan.device)"
|
local wanport="$(jsonfilter -i /etc/board.json -e @.network.wan.device)"
|
||||||
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.wan.device | xargs); do
|
for interf in $(jsonfilter -i /etc/board.json -e @.network.lan.ports[*] -e @.network.lan.device -e @.network.wan.device | xargs); do
|
||||||
Q_COUNT=0
|
Q_COUNT=0
|
||||||
rate=0
|
rate=0
|
||||||
# sp queue have max priority value = no. of queue configured on the port
|
# sp queue have max priority value = no. of queue configured on the port
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue