[PATCH] fff-web: Add switch port assignment indication to ports.html

Christian Dresel fff at chrisi01.de
So Jul 30 09:13:31 CEST 2017


Hallo

prinzipiell gefällt mir die Idee sehr gut. Es gibt nun aber bei mir auch
Router wo ich z.b. einen Port im Client habe und gleichzeitig getagged
(VLAN tag) im Batman. Der wird mir total falsch als CPU angezeigt, die
config sieht so aus:

CLIENT_PORTS="0t 4 5"
WAN_PORTS="0t 1"
BATMAN_PORTS="0t 2 3 5t"

0t ist wirklich CPU
1 ist WAN
2 & 3 ist normal Batman
4 ist Client
5 ist untagged Client und tagged Batman und wird aber durch dein Script
fälschlicherweise als CPU erkannt.

Ich hab vor Ewigkeiten mal eine Tabelle gebastelt, die drunter anzeigt
welches VLAN auf welchen Port liegt, ähnlich wie es im Standart LuCi von
OpenWRT/LEDE aussieht [1]. Ich bin grad mal grob die Mailingliste durch
und finde das Patch nicht, bin mir nicht mal sicher ob ich es überhaupt
rumgeschickt habe damals. Auch auf meinen Routern wo es evtl. Sinn macht
ist es nicht mehr drauf.

Ich fände es schöner, wenn man sich daran orientiert da es mehr
Möglichkeiten mit abdeckt. Ob man es dort auch gleich einstellbar machen
kann/sollte (oder nur mit einen Expertenmodus), darüber müsste man noch
diskutieren. Ich fände es ansich ganz schön wenn man es soweit treiben
könnte, dass man dort auch alles einstellen kann. Ist halt doch mit
einiges an Aufwand verbunden.

mfg

Christian

[1]
https://oc.cdresel.de/public.php?service=files&t=278b671fee387e31c293e372018627aa

On 30.07.2017 01:15, Adrian Schmutzler wrote:
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> 
> Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
>  .../fff/fff-web/files/www/ssl/cgi-bin/ports.html        | 17 ++++++++++++++++-
>  src/packages/fff/fff-web/files/www/ssl/style.css        |  5 +++++
>  2 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html
> index 9d54be7..5e87df4 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html
> @@ -36,6 +36,9 @@ fi
>  		<table>
>  			<tr>
>  				<%
> +				batmanports=$(swconfig dev switch0 vlan 3 show | grep 'ports:')
> +				clientports=$(swconfig dev switch0 vlan 1 show | grep 'ports:')
> +				wanports=$(swconfig dev switch0 vlan 2 show | grep 'ports:')
>  				swconfig dev switch0 show | grep "\t*link:" | while read line ; do
>  					line=$(echo "$line" | tr -d '\n' | tr -d '\t')
>  					port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
> @@ -47,10 +50,22 @@ fi
>  						speed="no link"
>  						duplex=""
>  					fi
> +					if (echo "$clientports" | grep -q "${port}t") || (echo "$batmanports" | grep -q "${port}t") ; then
> +						assign="CPU"
> +					elif echo "$clientports" | grep -q "${port}" ; then
> +						assign="CLIENT"
> +					elif echo "$batmanports" | grep -q "${port}" ; then
> +						assign="BATMAN"
> +					elif echo "$wanports" | grep -q "${port}" ; then
> +						assign="WAN"
> +					else
> +						assign="Unknown"
> +					fi
>  					port="Port ${port}"
>  					echo "<td class=\"swport\">"
>  					echo "<span class=\"port\">${port}</span><br />"
> -					echo "<img src=\"/port_${link}.png\" alt=\"${link}\" /><br />"
> +					echo "<img src=\"/port_${link}.png\" alt=\"${link}\" /><br /><br />"
> +					echo "<span class=\"assign\">$assign</span><br />"
>  					echo "<span class=\"stat\">$speed<br />$duplex</span>"
>  					echo "</td>"
>  				done
> diff --git a/src/packages/fff/fff-web/files/www/ssl/style.css b/src/packages/fff/fff-web/files/www/ssl/style.css
> index b9e0d9f..713397e 100644
> --- a/src/packages/fff/fff-web/files/www/ssl/style.css
> +++ b/src/packages/fff/fff-web/files/www/ssl/style.css
> @@ -218,3 +218,8 @@ pre {
>  .swport .stat {
>  	font-size: 10px;
>  }
> +
> +.swport .assign {
> +	font-weight: bold;
> +	font-size: 11px;
> +}
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20170730/55134324/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev