[PATCH v3] show_info: Add assignment without switch
Tim Niemeyer
tim at tn-x.org
So Nov 12 18:21:47 CET 2017
Am Sonntag, den 12.11.2017, 18:19 +0100 schrieb Christian Dresel:
> hi
>
> Reviewed-by: Christian Dresel <fff at chrisi01.de>
Und applied.
Tim
>
> Es sind wieder ein paar mal Leerzeichen vor den ; am Zeilenende, hatten
> wir ja glaub ich schon mal.
>
> mfg
>
> Christian
>
> On 25.10.2017 15:01, Adrian Schmutzler wrote:
> > Changes in v2:
> > Fix VLAN grep to also work on 1043 V1.
> >
> > Changes in v3:
> > Removed part "fix traffic statistics" as this is addressed
> > in a separate patch.
> >
> > Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> >
> > Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> > ---
> > .../fff/fff-support/files/usr/sbin/show_info | 96 ++++++++++++----------
> > 1 file changed, 53 insertions(+), 43 deletions(-)
> >
> > diff --git a/src/packages/fff/fff-support/files/usr/sbin/show_info b/src/packages/fff/fff-support/files/usr/sbin/show_info
> > index 95c8853..e446e41 100755
> > --- a/src/packages/fff/fff-support/files/usr/sbin/show_info
> > +++ b/src/packages/fff/fff-support/files/usr/sbin/show_info
> > @@ -41,7 +41,7 @@ format_port() {
> > format_state "${port}"
> > printf '%-26s' "@ $speed $duplex "
> >
> > - swconfig dev switch0 show | grep "VLAN\s" | while read line ; do
> > + swconfig dev switch0 show | grep -E "VLAN\s[0-9]+:[ \t]*$" | while read line ; do
> > vid=$(echo "$line" | sed 's/.*VLAN \([^:]*\).*/\1/')
> > vports=$(swconfig dev switch0 vlan "$vid" show | grep 'ports:')
> > if echo "$vports" | grep -q "${port}t" ; then
> > @@ -127,16 +127,16 @@ echo "Fastd Version: $(fastd --version 2> /dev/null | cut -d' ' -f 2)"
> > echo ""
> > echo "-> Netz: FREIFUNK"
> > echo "Nutzer: $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W')"
> > -echo "Empfangen: $(cat /sys/class/net/br-mesh/statistics/rx_bytes | human_bytes)"
> > -echo "Gesendet: $(cat /sys/class/net/br-mesh/statistics/tx_bytes | human_bytes)"
> > +echo "Empfangen: $(cat /sys/class/net/br-mesh/statistics/rx_bytes 2> /dev/null | human_bytes)"
> > +echo "Gesendet: $(cat /sys/class/net/br-mesh/statistics/tx_bytes 2> /dev/null | human_bytes)"
> > echo "IPv4 Adressen: $(addr 4 br-mesh)"
> > echo "IPv6 Adressen: $(addr 6 br-mesh)"
> >
> > echo ""
> > echo "-> Netz: WAN"
> > echo "Internet vorhanden: ${internet_active}"
> > -echo "Empfangen: $(cat /sys/class/net/${wanif}/statistics/rx_bytes | human_bytes)"
> > -echo "Gesendet: $(cat /sys/class/net/${wanif}/statistics/tx_bytes | human_bytes)"
> > +echo "Empfangen: $(cat /sys/class/net/${wanif}/statistics/rx_bytes 2> /dev/null | human_bytes)"
> > +echo "Gesendet: $(cat /sys/class/net/${wanif}/statistics/tx_bytes 2> /dev/null | human_bytes)"
> > echo "IPv4 Adressen: $(addr 4 $wanif)"
> > echo "IPv6 Adressen: $(addr 6 $wanif)"
> >
> > @@ -151,7 +151,7 @@ echo "E-Mail Adresse: $(uci -q get 'system. at system[0].contact')"
> >
> > echo ""
> > echo "-> BITRATEN-BEGRENZUNG"
> > -if [ "$(uci -q get 'simple-tc.example.enabled')" == "1" ] ; then
> > +if [ "$(uci -q get 'simple-tc.example.enabled')" = "1" ] ; then
> > echo "Aktiv: ja"
> > else
> > echo "Aktiv: nein"
> > @@ -164,49 +164,59 @@ if grep -q 'PORTORDER=' /etc/network.$board_name ; then
> > fi
> >
> > echo ""
> > -if [ -n "$portorder" ] ; then
> > - echo "-> SWITCH (tatsaechliche Portreihenfolge)"
> > -else
> > - echo "-> SWITCH (interne logische Portreihenfolge)"
> > -fi
> > +if swconfig list | grep -q switch0 ; then
> > + if [ -n "$portorder" ] ; then
> > + echo "-> SWITCH (tatsaechliche Portreihenfolge)"
> > + else
> > + echo "-> SWITCH (interne logische Portreihenfolge)"
> > + fi
> >
> > -printf '%-54s' "VLAN-IDs:"
> > -swconfig dev switch0 show | grep "VLAN\s" | while read line ; do
> > - vid=$(echo "$line" | sed 's/.*VLAN \([^:]*\).*/\1/')
> > - printf '%-2s ' "$vid"
> > -done
> > -echo ""
> > -echo ""
> > + printf '%-54s' "VLAN-IDs:"
> > + swconfig dev switch0 show | grep -E "VLAN\s[0-9]+:[ \t]*$" | while read line ; do
> > + vid=$(echo "$line" | sed 's/.*VLAN \([^:]*\).*/\1/')
> > + printf '%-2s ' "$vid"
> > + done
> > + echo ""
> > + echo ""
> >
> > -if [ ! "$(awk -F= '/WANDEV=/ { print $2 }' /etc/network.$board_name)" = "$(awk -F= '/SWITCHDEV=/ { print $2 }' /etc/network.$board_name)" ] ; then
> > - wanif=$(uci -q get network.wan.ifname)
> > - link=$(cat /sys/class/net/${wanif}/operstate)
> > - if [ "$link" = "up" ] ; then
> > - speed="connected"
> > - else
> > - speed="no link"
> > + if [ ! "$(awk -F= '/WANDEV=/ { print $2 }' /etc/network.$board_name)" = "$(awk -F= '/SWITCHDEV=/ { print $2 }' /etc/network.$board_name)" ] ; then
> > + wanif=$(uci -q get network.wan.ifname)
> > + link=$(cat /sys/class/net/${wanif}/operstate)
> > + if [ "$link" = "up" ] ; then
> > + speed="connected"
> > + else
> > + speed="no link"
> > + fi
> > + printf '%-10s%-5s%-13s%s\n' "WAN-Port: " "${link} " "- WAN " "@ $speed"
> > fi
> > - printf '%-10s%-5s%-13s%s\n' "WAN-Port: " "${link} " "- WAN " "@ $speed"
> > -fi
> >
> > -for internalport in $portorder
> > -do
> > - line=$(swconfig dev switch0 port "$internalport" show | tr -d '\n' | tr -d '\t')
> > - port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
> > - printf '%-10s' "Port #${port}: "
> > - format_port "${line}"
> > -done
> > -echo ""
> > + for internalport in $portorder
> > + do
> > + line=$(swconfig dev switch0 port "$internalport" show | tr -d '\n' | tr -d '\t')
> > + port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
> > + printf '%-10s' "Port #${port}: "
> > + format_port "${line}"
> > + done
> > + echo ""
> >
> > -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/')
> > - if echo "$portorder" | grep -q "$port" ; then
> > - continue
> > + 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/')
> > + if echo "$portorder" | grep -q "$port" ; then
> > + continue
> > + fi
> > + printf '%-10s' "Port #${port}: "
> > + format_port "${line}"
> > + done
> > +else
> > + echo "-> PORT ASSIGNMENT"
> > + if grep -q "ONE_PORT" "/etc/network.$board_name" || grep -q "ETHPORT" "/etc/network.$board_name" ; then
> > + # Device has a port set by $ETHMODE
> > + . /etc/network.mode
> > + . /etc/network.config
> > + echo "Port Modus: $ETHMODE"
> > fi
> > - printf '%-10s' "Port #${port}: "
> > - format_port "${line}"
> > -done
> > +fi
> >
> > echo ""
> > echo "END"
>
>
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 473 bytes
Beschreibung: This is a digitally signed message part
URL : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20171112/e5962f88/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev