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

mail at adrianschmutzler.de mail at adrianschmutzler.de
Mo Jul 31 00:56:25 CEST 2017


Hallo nochmal,

hab jetzt erst den Link unten gesehen.

Cool wäre das natürlich schon, wenn man im WebUI komplett schalten könnte.
Dafür müsste man aber das Handling der One- und Two-Port-Geräte deutlich
umbauen.

Vielleicht geh ich das mal an, wenn die jetzigen Patches durch sind. Wenn
ich jetzt noch so ein Fass aufmache, kenne ich mich in meinem Git gar nicht
mehr aus, welcher Patch jetzt von was abhängt ...

Das Interface könnte man dann ja auch gleich für die Funkraten (b/g/n usw.)
adaptieren, wenn man so ein Multi-Drop-Down-Panel mal gebaut hat ...

Grüße

Adrian

-----Original Message-----
From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
Christian Dresel
Sent: Sonntag, 30. Juli 2017 09:14
To: Adrian Schmutzler <freifunk at adrianschmutzler.de>;
franken-dev at freifunk.net
Subject: Re: [PATCH] fff-web: Add switch port assignment indication to
ports.html

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=278b671fee387e31c293e372018
627aa

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;
> +}
> 




Mehr Informationen über die Mailingliste franken-dev