realtek: skip SFP ports in PoE setup

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>
This commit is contained in:
Paul Spooren 2022-07-30 20:25:32 +02:00 committed by Sander Vanheule
parent 67efb6a661
commit ead7e5b4c3

View File

@ -8,6 +8,9 @@ ucidef_set_poe() {
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 ..
@ -57,13 +60,13 @@ done
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)
@ -71,7 +74,7 @@ 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