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

Submitted by Adrian Schmutzler on July 29, 2017, 11:15 p.m.

Details

Message ID 1501370108-20142-1-git-send-email-freifunk@adrianschmutzler.de
State Superseded
Headers show

Commit Message

Adrian Schmutzler July 29, 2017, 11:15 p.m.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

Tested-by: Adrian Schmutzler <freifunk@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(-)

Patch hide | download patch | download mbox

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

Comments

Christian Dresel July 30, 2017, 7:13 a.m.
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@adrianschmutzler.de>
> 
> Tested-by: Adrian Schmutzler <freifunk@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;
> +}
>
Christian Dresel July 30, 2017, 7:25 a.m.
Hi

ich hab die Mail auf der dev Liste endlich gefunden, ist schon länger
her als ich eigentlich dachte ;)

http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/2016-May/007280.html

die 2 Links in der Mail gehen auch aktuell noch auch wenn das Zertifikat
schon abgelaufen ist (dieses oc verwende ich eigentlich gar nicht mehr
und wird demnächst bald gelöscht).

mfg

Christian

On 30.07.2017 09:13, Christian Dresel wrote:
> 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@adrianschmutzler.de>
>>
>> Tested-by: Adrian Schmutzler <freifunk@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;
>> +}
>>
> 
> 
>
Adrian Schmutzler July 30, 2017, 3:19 p.m.
Tach,

hab das Ganze jetzt noch weiter aufgebort und in einen neuen Patch gesteckt:

- Ich hatte schon länger vor, die physische Portreihenfolge zu
berücksichtigen. Dies ist nun möglich, wenn man im network.* die Variable
PORTORDER setzt (habe ich teilweise schon gemacht). Wenn nicht, erfolgt die
Anzeige wie bisher nach den internen Nummern sortiert.
- Ich habe den WAN-Port hinzugefügt, auch wenn dieser nicht im Switch sitzt
(mit gewissen Einschränkungen)
- Ich habe Christians Idee verfolgt und das VLAN-Mapping hinzugefügt
- Die Einstufung "CPU" gibt es nicht mehr. Ich überprüfe jetzt, ob ein Port
auf BATMAN UND CLIENT vorliegt und nenne ihn dann "Multi-Link". Details sind
durch das VLAN-Mapping ersichtlich,
- Die Einstellungen sind nun colorcoded.
- Ich bin gegen eine universelle Einstellbarkeit im ports.html (zumindest
solange die configurenetwork-Datei nicht komplett über den Haufen geworfen
wird). Einige Geräte (CPE, ONE-PORT) setzen ja nachträglich Werte, sodass
man hier immer Probleme kriegt klarzumachen, an welcher Stelle eine Änderung
eingreift. In diesem Kontext bitte ich auch meinen Patch
(https://pw.freifunk-franken.de/patch/407/) zu beachten, der eine
network.config mit den relevanten Settings einführt.
- Für die CPE-Geräte habe ich ein Interface zum Einstellen der Ports in der
ports.html im selben Patch bereits eingebaut, hier wurde vorher
fälschlicherweise die ONE-PORT Konfiguration angezeigt!

Der alte Patch ist damit hinfällig.

Grüße

Adrian

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

Hi

ich hab die Mail auf der dev Liste endlich gefunden, ist schon länger her
als ich eigentlich dachte ;)

http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/2016-May/007280
.html

die 2 Links in der Mail gehen auch aktuell noch auch wenn das Zertifikat
schon abgelaufen ist (dieses oc verwende ich eigentlich gar nicht mehr und
wird demnächst bald gelöscht).

mfg

Christian

On 30.07.2017 09:13, Christian Dresel wrote:
> 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=278b671fee387e31c293e
> 372018627aa
> 
> On 30.07.2017 01:15, Adrian Schmutzler wrote:
>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>>
>> Tested-by: Adrian Schmutzler <freifunk@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;
>> +}
>>
> 
> 
>
Adrian Schmutzler July 30, 2017, 10:56 p.m.
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@freifunk.net] On Behalf Of
Christian Dresel
Sent: Sonntag, 30. Juli 2017 09:14
To: Adrian Schmutzler <freifunk@adrianschmutzler.de>;
franken-dev@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@adrianschmutzler.de>
> 
> Tested-by: Adrian Schmutzler <freifunk@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;
> +}
>