#!/usr/bin/haserl <% board_name=$(uci -q get board.model.name) # write if [ "$REQUEST_METHOD" = "POST" ] ; then if [ "$POST_change_mode" != "" ] ; then sed -i '/^.*# set via WebUI/d' /etc/network.config echo "ETHMODE=\"${POST_mode}\" # set via WebUI" >> /etc/network.config sed -i '/^FORCEPARSE/d' /etc/network.config echo "FORCEPARSE='2'" >> /etc/network.config do_reconfigure=1 MSG='Port Modus wird geändert!' fi if [ "$POST_change_twoport" != "" ] ; then sed -i '/^.*# set via WebUI/d' /etc/network.config echo "LAN0MODE=\"${POST_mode0}\" # set via WebUI" >> /etc/network.config echo "LAN1MODE=\"${POST_mode1}\" # set via WebUI" >> /etc/network.config sed -i '/^FORCEPARSE/d' /etc/network.config echo "FORCEPARSE='2'" >> /etc/network.config do_reconfigure=1 MSG='Port Modus wird geändert!' fi fi #helpers format_state() { 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:') if (echo "$clientports" | grep -q "${1}") && (echo "$batmanports" | grep -q "${1}") ; then echo -n "Multi-Link" elif echo "$clientports" | grep -q "${1}" ; then echo -n "CLIENT" elif echo "$batmanports" | grep -q "${1}" ; then echo -n "BATMAN" elif echo "$wanports" | grep -q "${1}" ; then echo -n "WAN" else echo -n "Unknown" fi echo "
" } format_port() { port=$(echo "$1" | sed 's/.* port:\([^ ]*\) .*/\1/') link=$(echo "$1" | sed 's/.* link:\([^ ]*\).*/\1/') if [ "$link" = "up" ] ; then speed=$(echo "$1" | sed 's/.* speed:\([^ ]*\).*/\1/') duplex=$(echo "$1" | sed 's/.* \([^ ]*-duplex\).*/\1/') else speed="no link" duplex="" fi echo "\"${link}\"

" format_state "${port}" echo "$speed
$duplex


" 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 echo "tagged
" elif echo "$vports" | grep -q "${port}" ; then echo "untagged
" else echo "-
" fi done } %> <%in /www/include/header %> <%in /www/include/helpers %> <% show_msg %>
<% if swconfig list | grep -q switch0 ; then %> <%# Device has a switch %> <% fi %> <% if grep -q "ONE_PORT" "/etc/network.$board_name" ; then %> <% # Device has a port set by $ETHMODE . /etc/network.mode . /etc/network.config %> <% fi %> <% if grep -q "TWO_PORT" "/etc/network.$board_name" ; then %> <% # Device has two ports . /etc/network.mode . /etc/network.config %> <% fi %>
Switch <% 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" fi echo "" fi . /lib/functions/fff/portorder portorder=$(get_port_order) 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/') echo "" done if [ -n "$portorder" ] ; then echo "" fi 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 echo "" done %>
" swconfig dev switch0 show | grep -E "VLAN\s[0-9]+:[ \t]*$" | while read line ; do vid=$(echo "$line" | sed 's/.*VLAN \([^:]*\).*/\1/') echo "VLAN $vid
" done echo "
" echo "WAN-Port
" echo "\"${link}\"

" echo "WAN
" echo "$speed" echo "
" echo "Port #${port}
" format_port "${line}" echo "
" echo "Port #${port}
" format_port "${line}" echo "
<% if [ -n "$portorder" ] ; then %> Dies zeigt die tatsächliche Zuordnung der Ports, wobei der WAN Port auf der linken Seite liegt. Die Nummerierung entspricht der internen Zuordnung!
<% else %> Die Nummerierung und Reihenfolge der Ports entspricht nicht notwendigerweise der der Netzwerkanschlüsse am Router!
<% fi %> Einer (oder mehrere) der Ports sind keine Netzwerkanschlüsse am Router sondern binden die Router CPU an den internen Switch an.
Ethernet Anschluss
Anschluss Modus:
WAN: Knoten stellt über Ethernet Anschluss Verbindung zum Internet her.
Client: Normale Clients stellen über Ethernet Anschluss des Knotens Verbindung zum Freifunk Netz her.
BATMAN: Knoten stellt über Ethernet Anschluss Verbindung zu anderen MESH Knoten her.

Wenn diese Einstellung verändert wird, wird eine evtl. vorhandene manuelle Netzwerkkonfiguration in der /etc/config/network überschrieben.
Ethernet Anschlüsse
Modus Anschluss 0: Modus Anschluss 1:
WAN: Knoten stellt über Ethernet Anschluss Verbindung zum Internet her.
Client: Normale Clients stellen über Ethernet Anschluss des Knotens Verbindung zum Freifunk Netz her.
BATMAN: Knoten stellt über Ethernet Anschluss Verbindung zu anderen MESH Knoten her.

Wenn diese Einstellung verändert wird, wird eine evtl. vorhandene manuelle Netzwerkkonfiguration in der /etc/config/network überschrieben.
<%in /www/include/footer %> <% # write if [ "$do_reconfigure" = "1" ] ; then configurenetwork fi %>