The function `ucidef_set_poe` receives a list of ports to add to the PoE array.
Since switches have many ports the varibale `lan_list` is passed instead of
writing every single lan port. However, this list includes partly SFP ports
which are unrelated to PoE.
This commits adds the option to add a third parameter to manually exclide
interfaces, usually the last two.
Signed-off-by: Paul Spooren <mail@aparcar.org>
[Replace glob by regex to be more specific about matching characters]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
json_add_string "budget" "$1"
json_select_array ports
for port in $2; do
+ if [ -n "$3" -a -n "$(expr "$3" : "\(.\+[[:space:]]\)\{0,1\}$port\([[:space:]].*\|\$\)")" ]; then
+ continue # skip ports passed via $3
+ fi
json_add_string "" "$port"
done
json_select ..
case $board in
netgear,gs110tpp-v1)
- ucidef_set_poe 130 "$lan_list"
+ ucidef_set_poe 130 "$lan_list" "lan9 lan10"
;;
netgear,gs310tp-v1)
- ucidef_set_poe 55 "$lan_list"
+ ucidef_set_poe 55 "$lan_list" "lan9 lan10"
;;
zyxel,gs1900-10hp)
- ucidef_set_poe 77 "$lan_list"
+ ucidef_set_poe 77 "$lan_list" "lan9 lan10"
;;
zyxel,gs1900-8hp-v1|\
zyxel,gs1900-8hp-v2)
;;
zyxel,gs1900-24hp-v1|\
zyxel,gs1900-24hp-v2)
- ucidef_set_poe 170 "$lan_list"
+ ucidef_set_poe 170 "$lan_list" "lan25 lan26"
;;
esac