luci-0.8: merge r3809-r3822
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 27 Nov 2008 14:26:37 +0000 (14:26 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 27 Nov 2008 14:26:37 +0000 (14:26 +0000)
23 files changed:
applications/luci-olsr/luasrc/i18n/olsr.de.lua
applications/luci-olsr/luasrc/i18n/olsr.de.xml
applications/luci-olsr/luasrc/i18n/olsr.en.lua
applications/luci-olsr/luasrc/i18n/olsr.en.xml
applications/luci-olsr/luasrc/model/cbi/olsr/olsrdhna.lua
applications/luci-statistics/luasrc/statistics/rrdtool.lua
contrib/package/olsrd-luci/Makefile
contrib/package/olsrd-luci/files/etc/init.d/olsrd
contrib/package/olsrd-luci/patches/200-olsrd-dyngw-hna.patch [deleted file]
i18n/english/luasrc/i18n/admin-core.en.lua
i18n/english/luasrc/i18n/admin-core.en.xml
i18n/french/luasrc/i18n/admin-core.fr.lua
i18n/french/luasrc/i18n/admin-core.fr.xml
i18n/german/luasrc/i18n/admin-core.de.lua
i18n/german/luasrc/i18n/admin-core.de.xml
i18n/portuguese_brazilian/luasrc/i18n/admin-core.pt-br.lua
i18n/portuguese_brazilian/luasrc/i18n/admin-core.pt-br.xml
i18n/russian/luasrc/i18n/admin-core.ru.lua
i18n/russian/luasrc/i18n/admin-core.ru.xml
libs/core/luasrc/ip.lua
libs/sys/luasrc/sys.lua
modules/admin-core/root/lib/uci/schema/default/network
modules/admin-full/luasrc/model/cbi/admin_network/routes.lua

index dc0cfafab25b862bc09f98356bf0b8ecf2bc8074..4ebcf0e2ed121bab82e8eef1403c549a6ef9c578 100644 (file)
@@ -75,8 +75,8 @@ olsrd_hna6 = 'IPv6 HNA-Ankündigungen'
 olsrd_hna6_desc = 'Hna6-Entries ermöglichen die Ankündigung von lokalen IPv6 Host- und Netz-Routen im Mesh-Netzwerk'
 olsrd_hna6_netaddr = 'Netzwerk-Adresse'
 olsrd_hna6_netaddr_desc = 'IPv6 Adresse'
-olsrd_hna6_netmask = 'Netzmaske'
-olsrd_hna6_netmask_desc = 'IPv6 Adresse'
+olsrd_hna6_prefix = 'Prefix'
+olsrd_hna6_prefix_desc = 'IPv6 Prefix'
 olsrd_loadplugin = 'Pluginkonfiguration'
 olsrd_loadplugin_ignore = 'Plugin aktivieren'
 olsrd_loadplugin_library = 'Bibliothek'
index 3d9763dc921341fe006cf88f18e21f7554e6fca1..3d8b5a211fe98c542086ac45c54ef49b37b3a5c7 100644 (file)
 <i18n:msg xml:id="olsrd_hna6_desc">Hna6-Entries ermöglichen die Ankündigung von lokalen IPv6 Host- und Netz-Routen im Mesh-Netzwerk</i18n:msg>
 <i18n:msg xml:id="olsrd_hna6_netaddr">Netzwerk-Adresse</i18n:msg>
 <i18n:msg xml:id="olsrd_hna6_netaddr_desc">IPv6 Adresse</i18n:msg>
-<i18n:msg xml:id="olsrd_hna6_netmask">Netzmaske</i18n:msg>
-<i18n:msg xml:id="olsrd_hna6_netmask_desc">IPv6 Adresse</i18n:msg>
+<i18n:msg xml:id="olsrd_hna6_prefix">Prefix</i18n:msg>
+<i18n:msg xml:id="olsrd_hna6_prefix_desc">IPv6 Prefix</i18n:msg>
 
 
 <!-- * PLUGIN SETUP * -->
index fbba7653f8090f7cdea5ad221eca146626cc6f43..b8621d3f7e5ff1dd921d294d26ed77d63360ff3c 100644 (file)
@@ -75,8 +75,8 @@ olsrd_hna6 = 'IPv6 HNA announcements'
 olsrd_hna6_desc = 'Hna6 entries allow you to propagate local IPv6 host- and network-routes into the mesh network'
 olsrd_hna6_netaddr = 'Network address'
 olsrd_hna6_netaddr_desc = 'IPv6 address'
-olsrd_hna6_netmask = 'Netmask'
-olsrd_hna6_netmask_desc = 'IPv6 address'
+olsrd_hna6_prefix = 'Prefix'
+olsrd_hna6_prefix_desc = 'IPv6 prefix'
 olsrd_loadplugin = 'Plugin configuration'
 olsrd_loadplugin_ignore = 'Enable plugin'
 olsrd_loadplugin_library = 'Library'
index 546b7a849cd1b43f766aea59eb0e84e01bdfddf7..4dc7d5c94368af87040ffe13180863f3644a0e6a 100644 (file)
 <i18n:msg xml:id="olsrd_hna6_desc">Hna6 entries allow you to propagate local IPv6 host- and network-routes into the mesh network</i18n:msg>
 <i18n:msg xml:id="olsrd_hna6_netaddr">Network address</i18n:msg>
 <i18n:msg xml:id="olsrd_hna6_netaddr_desc">IPv6 address</i18n:msg>
-<i18n:msg xml:id="olsrd_hna6_netmask">Netmask</i18n:msg>
-<i18n:msg xml:id="olsrd_hna6_netmask_desc">IPv6 address</i18n:msg>
+<i18n:msg xml:id="olsrd_hna6_prefix">Prefix</i18n:msg>
+<i18n:msg xml:id="olsrd_hna6_prefix_desc">IPv6 prefix</i18n:msg>
 
 
 <!-- * PLUGIN SETUP * -->
index 632a4d4a4ba79e484fa41619651dd89d3df89ad4..ea2f88d7947ddb3881d90cd1fb4684ee5e25a4df 100644 (file)
@@ -14,14 +14,23 @@ $Id$
 
 mh = Map("olsrd", translate("olsrd_hna", "OLSR - HNA-Ankündigungen"))
 
-for i, sect in ipairs({ "Hna4", "Hna6" }) do
-       hna = mh:section(TypedSection, sect)
-       hna.addremove = true
-       hna.anonymous = true
-       hna.template  = "cbi/tblsection"
-
-       net = hna:option(Value, "netaddr")
-       msk = hna:option(Value, "netmask")
-end
+
+hna4 = mh:section(TypedSection, "Hna4")
+hna4.addremove = true
+hna4.anonymous = true
+hna4.template  = "cbi/tblsection"
+
+net4 = hna4:option(Value, "netaddr")
+msk4 = hna4:option(Value, "netmask")
+
+
+hna6 = mh:section(TypedSection, "Hna6")
+hna6.addremove = true
+hna6.anonymous = true
+hna6.template  = "cbi/tblsection"
+
+net6 = hna6:option(Value, "netaddr")
+msk6 = hna6:option(Value, "prefix")
+
 
 return mh
index 23e01703682945cbab96f40cefc7ae35ecef77c7..cf420fe6d0b1f8d2c6d9d8afdcd5afd09ada0468 100644 (file)
@@ -42,7 +42,7 @@ function Graph.__init__( self, timespan, opts )
 
        -- options
        opts.timespan  = timespan       or sections.rrdtool.default_timespan or 900
-       opts.rrasingle = opts.rrasingle or ( sections.collectd_rrdtool.RRASingle ~= "0" )
+       opts.rrasingle = opts.rrasingle or ( sections.collectd_rrdtool.RRASingle == "1" )
        opts.host      = opts.host      or sections.collectd.Hostname        or luci.sys.hostname()
        opts.width     = opts.width     or sections.rrdtool.image_width      or 400
        opts.rrdpath   = opts.rrdpath   or sections.collectd_rrdtool.DataDir or "/tmp/rrd"
index c437dceb741f4adfeb3fc98ddfc98f8ee59420eb..8e22a7448f0e3fd41040af965b81cc27ca02c67d 100644 (file)
@@ -11,13 +11,19 @@ include $(TOPDIR)/rules.mk
 
 PKG_BASENAME:=olsrd
 PKG_NAME:=$(PKG_BASENAME)-luci
-PKG_VERSION:=0.5.6
-PKG_RELEASE:=4
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_BASENAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_BASENAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.olsr.org/releases/0.5
-PKG_MD5SUM:=918a4d43eebb6d62889ecedb941c2029
+PKG_VERSION:=0.5.6-r2+hg1724
+PKG_RELEASE:=1
+
+PKG_HGREV:=cac1df64dcd5
+PKG_SOURCE:=$(PKG_HGREV).tar.gz
+PKG_SOURCE_URL:=http://gredler.at/hg/olsrd-0.5.6/archive
+PKG_MD5SUM:=95af2d8d6075f74d379b752fb8dda3de
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_BASENAME)-0-5-6-$(PKG_HGREV)
+
+#PKG_SOURCE:=$(PKG_BASENAME)-$(PKG_VERSION).tar.bz2
+#PKG_SOURCE_URL:=http://www.olsr.org/releases/0.5
+#PKG_MD5SUM:=64b439cde30f48764f02cdd8766aba40
+#PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_BASENAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
 
index 51927156e867d33478bc720e617932792efe92cd..9aee7a3664a29481711cefbff05e32af4d292976 100755 (executable)
@@ -10,7 +10,7 @@ PID=/var/run/olsrd.pid
 OLSRD_OLSRD_SCHEMA='ignore:internal config_file:internal DebugLevel=0 IpVersion=4 AllowNoInt:bool=1 Pollrate=0.025 TcRedundancy=2 MprCoverage=3 LinkQualityFishEye=1 LinkQualityWinSize=100 LinkQualityDijkstraLimit=0+9.0 LinkQualityLevel=2 UseHysteresis:bool=0 FIBMetric=flat ClearScreen:bool=1 Willingness=3 LinkQualityAging=0.1 LinkQualityAlgorithm=etx_fpm'
 OLSRD_IPCCONNECT_SCHEMA='ignore:internal Host:list Net:list2'
 OLSRD_LOADPLUGIN_SCHEMA='ignore:internal library:internal Host:list Net:list2 Ping:list redistribute:list NonOlsrIf:list name:list lat lon latlon_infile HNA:list2 hosts:list2'
-OLSRD_INTERFACE_SCHEMA='ignore:internal interface:internal AutoDetectChanges:bool Ip4Broadcast=255.255.255.255 HelloInterval=2.0 HelloValidityTime=40.0 TcInterval=5.0 TcValidityTime=100.0 MidInterval=18.0 MidValidityTime=324.0 HnaInterval=18.0 HnaValidityTime=108.0'
+OLSRD_INTERFACE_SCHEMA='ignore:internal interface:internal AutoDetectChanges:bool Ip4Broadcast HelloInterval=2.0 HelloValidityTime=40.0 TcInterval=5.0 TcValidityTime=100.0 MidInterval=18.0 MidValidityTime=324.0 HnaInterval=18.0 HnaValidityTime=108.0'
 
 T='    '
 N='
@@ -526,7 +526,7 @@ start() {
                        return 1
                fi
        fi
-       
+
        SYSTEM_HOSTNAME=
        SYSTEM_LAT=
        SYSTEM_LON=
diff --git a/contrib/package/olsrd-luci/patches/200-olsrd-dyngw-hna.patch b/contrib/package/olsrd-luci/patches/200-olsrd-dyngw-hna.patch
deleted file mode 100644 (file)
index 8b4e9c4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -urb olsrd-0.5.6.orig/lib/dyn_gw/src/olsrd_dyn_gw.c olsrd-0.5.6/lib/dyn_gw/src/olsrd_dyn_gw.c
---- olsrd-0.5.6.orig/lib/dyn_gw/src/olsrd_dyn_gw.c     2008-09-16 01:14:44.000000000 +0200
-+++ olsrd-0.5.6/lib/dyn_gw/src/olsrd_dyn_gw.c  2008-09-16 01:26:55.000000000 +0200
-@@ -191,8 +191,8 @@
-     }
-     //printf("GOT: %s(%08x)",inet_ntoa(foo_addr),foo_addr.s_addr);
--    if (inet_pton(olsr_cnf->ip_version, s_netaddr, &temp_netmask) <= 0) {
--        OLSR_PRINTF(0, "Illegal netmask \"%s\"", s_netaddr);
-+    if (inet_pton(olsr_cnf->ip_version, s_mask, &temp_netmask) <= 0) {
-+        OLSR_PRINTF(0, "Illegal netmask \"%s\"", s_mask);
-         return 1;
-     }
index b9d77ceb86a7782b8622fffcc014bea78e5c639e..64729f8fc8db8e44a68d9d8c0cd5e844fd06c704 100644 (file)
@@ -169,6 +169,8 @@ a_n_switch = 'Switch'
 a_n_conntrack = 'Active Connections'
 a_n_conntrack_desc = 'This page gives an overview over currently active network connections.'
 a_n_routes = 'Routes'
+a_n_routes4 = 'IPv4 Routes'
+a_n_routes6 = 'IPv6 Routes'
 a_network1 = 'In this area you find all network-related settings.'
 a_network2 = 'On most routers the network switch can be freely configured and splitted up into several <abbr title="Virtual Local Area Network">VLAN</abbr>s.'
 a_network3 = 'Interfaces and <abbr title="Point-to-Point Protocol over Ethernet">PPPoE</abbr> / <abbr title="Point-to-Point Tunneling Protocol">PPTP</abbr>-Settings allow a custom organisation of the network and connections to other networks like the internet.'
@@ -223,8 +225,12 @@ network_interface_maxwait = 'Setup wait time'
 network_interface_maxwait_desc = 'Seconds to wait for the modem to become ready before attempting to connect'
 a_n_r_routes1 = 'Routes specify over which interface and gateway a certain host or network can be reached.'
 a_n_routes_static = 'Static Routes'
+a_n_routes_static4 = 'Static IPv4 Routes'
+a_n_routes_static6 = 'Static IPv6 Routes'
 a_n_routes_kernel4 = 'Active <abbr title="Internet Protocol Version 4">IPv4</abbr>-Routes'
-a_n_r_target1 = 'host-<abbr title="Internet Protocol Address">IP</abbr> or network'
+a_n_routes_kernel6 = 'Active <abbr title="Internet Protocol Version 6">IPv6</abbr>-Routes'
+a_n_r_target1 = 'Host-<abbr title="Internet Protocol Address">IP</abbr> or Network'
+a_n_r_target6 = '<abbr title="Internet Protocol Version 6">IPv6</abbr>-Address or Network (CIDR)'
 a_n_r_netmask1 = 'if target is a network'
 m_n_inet = 'Internet Connection'
 m_n_local = 'Local Network'
index e1f29ffbe5910ac2961da6404f8fc8134eb26bc9..0bd7177aa2054f8ebb33035027677113b278c201 100644 (file)
 <i18n:msg xml:id="a_n_conntrack">Active Connections</i18n:msg>
 <i18n:msg xml:id="a_n_conntrack_desc">This page gives an overview over currently active network connections.</i18n:msg>
 <i18n:msg xml:id="a_n_routes">Routes</i18n:msg>
+<i18n:msg xml:id="a_n_routes4">IPv4 Routes</i18n:msg>
+<i18n:msg xml:id="a_n_routes6">IPv6 Routes</i18n:msg>
 <i18n:msg xml:id="a_network1">In this area you find all network-related settings.</i18n:msg>
 <i18n:msg xml:id="a_network2">On most routers the network switch can be freely configured and splitted up into several <abbr title="Virtual Local Area Network">VLAN</abbr>s.</i18n:msg>
 <i18n:msg xml:id="a_network3">Interfaces and <abbr title="Point-to-Point Protocol over Ethernet">PPPoE</abbr> / <abbr title="Point-to-Point Tunneling Protocol">PPTP</abbr>-Settings allow a custom organisation of the network and connections to other networks like the internet.</i18n:msg>
 <i18n:msg xml:id="network_interface_maxwait_desc">Seconds to wait for the modem to become ready before attempting to connect</i18n:msg>
 <i18n:msg xml:id="a_n_r_routes1">Routes specify over which interface and gateway a certain host or network can be reached.</i18n:msg>
 <i18n:msg xml:id="a_n_routes_static">Static Routes</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static4">Static IPv4 Routes</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static6">Static IPv6 Routes</i18n:msg>
 <i18n:msg xml:id="a_n_routes_kernel4">Active <abbr title="Internet Protocol Version 4">IPv4</abbr>-Routes</i18n:msg>
-<i18n:msg xml:id="a_n_r_target1">host-<abbr title="Internet Protocol Address">IP</abbr> or network</i18n:msg>
+<i18n:msg xml:id="a_n_routes_kernel6">Active <abbr title="Internet Protocol Version 6">IPv6</abbr>-Routes</i18n:msg>
+<i18n:msg xml:id="a_n_r_target1">Host-<abbr title="Internet Protocol Address">IP</abbr> or Network</i18n:msg>
+<i18n:msg xml:id="a_n_r_target6"><abbr title="Internet Protocol Version 6">IPv6</abbr>-Address or Network (CIDR)</i18n:msg>
 <i18n:msg xml:id="a_n_r_netmask1">if target is a network</i18n:msg>
 <i18n:msg xml:id="m_n_inet">Internet Connection</i18n:msg>
 <i18n:msg xml:id="m_n_local">Local Network</i18n:msg>
index c3f8d3ae6a8c29bae8dfcb7f6935476f80daec72..93dfda86b55f62cca48103704782c8da08da111a 100644 (file)
@@ -169,6 +169,8 @@ a_n_switch = 'Switch'
 a_n_conntrack = 'Connexions Actives'
 a_n_conntrack_desc = 'Cette page donne une vue d&#39;ensemble des connexions réseaux actuellement actives.'
 a_n_routes = 'Routes'
+a_n_routes4 = 'IPv4 Routes'
+a_n_routes6 = 'IPv6 Routes'
 a_network1 = 'Dans cette section vous trouverez tous les réglages relatifs au réseau.'
 a_network2 = 'Sur la plupart des routeurs, les ports des switchs peuvent être configurés et séparés en plusieurs VLANs.'
 a_network3 = 'Les réglages des interfaces et du PPPoE / PPTP vous permettent une configuration personalisée du réseau.'
@@ -223,8 +225,12 @@ network_interface_maxwait = 'Délai d&#39;initialisation'
 network_interface_maxwait_desc = 'Secondes à attendre pour que le modem soit prêt avant d&#39;essayer de se connecter'
 a_n_r_routes1 = 'Avec les routes statiques vous pouvez spécifier à travers quelle interface ou passerelle un réseau peut être contacté.'
 a_n_routes_static = 'Routes statiques'
+a_n_routes_static4 = 'Routes IPv4 statiques'
+a_n_routes_static6 = 'Routes IPv6 statiques'
 a_n_routes_kernel4 = 'Routes <abbr title="Internet Protocol Version 4">IPv4</abbr> actives'
+a_n_routes_kernel6 = 'Routes <abbr title="Internet Protocol Version 6">IPv6</abbr> actives'
 a_n_r_target1 = 'adresse IP ou réseau'
+a_n_r_target6 = 'adresse IPv6 ou réseau'
 a_n_r_netmask1 = 'si la destination est un réseau'
 m_n_inet = 'Connexion Internet'
 m_n_local = 'Réseau Local'
index 598780b56f5998056ee0ed79060256225429ab3c..d3212038a5bdc79ff2862d3e23beb2f38ed923ae 100644 (file)
 <i18n:msg xml:id="a_n_conntrack">Connexions Actives</i18n:msg>
 <i18n:msg xml:id="a_n_conntrack_desc">Cette page donne une vue d'ensemble des connexions réseaux actuellement actives.</i18n:msg>
 <i18n:msg xml:id="a_n_routes">Routes</i18n:msg>
+<i18n:msg xml:id="a_n_routes4">IPv4 Routes</i18n:msg>
+<i18n:msg xml:id="a_n_routes6">IPv6 Routes</i18n:msg>
 <i18n:msg xml:id="a_network1">Dans cette section vous trouverez tous les réglages relatifs au réseau.</i18n:msg>
 <i18n:msg xml:id="a_network2">Sur la plupart des routeurs, les ports des switchs peuvent être configurés et séparés en plusieurs VLANs.</i18n:msg>
 <i18n:msg xml:id="a_network3">Les réglages des interfaces et du PPPoE / PPTP vous permettent une configuration personalisée du réseau.</i18n:msg>
 <i18n:msg xml:id="network_interface_maxwait_desc">Secondes à attendre pour que le modem soit prêt avant d'essayer de se connecter</i18n:msg>
 <i18n:msg xml:id="a_n_r_routes1">Avec les routes statiques vous pouvez spécifier à travers quelle interface ou passerelle un réseau peut être contacté.</i18n:msg>
 <i18n:msg xml:id="a_n_routes_static">Routes statiques</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static4">Routes IPv4 statiques</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static6">Routes IPv6 statiques</i18n:msg>
 <i18n:msg xml:id="a_n_routes_kernel4">Routes <abbr title="Internet Protocol Version 4">IPv4</abbr> actives</i18n:msg>
+<i18n:msg xml:id="a_n_routes_kernel6">Routes <abbr title="Internet Protocol Version 6">IPv6</abbr> actives</i18n:msg>
 <i18n:msg xml:id="a_n_r_target1">adresse IP ou réseau</i18n:msg>
+<i18n:msg xml:id="a_n_r_target6">adresse IPv6 ou réseau</i18n:msg>
 <i18n:msg xml:id="a_n_r_netmask1">si la destination est un réseau</i18n:msg>
 <i18n:msg xml:id="m_n_inet">Connexion Internet</i18n:msg>
 <i18n:msg xml:id="m_n_local">Réseau Local</i18n:msg>
index 06451b434a067d32606135ff5567e0b67a63f7eb..a5280cc38e860cb40552d74a71f78e94695c2ab6 100644 (file)
@@ -19,10 +19,16 @@ a_n_ptp = 'Punkt-zu-Punkt Verbindungen'
 a_n_ptp1 = 'Punkt-zu-Punkt Verbindungen über PPPoE oder PPTP werden häufig dazu verwendet, um über DSL o.ä. Techniken eine Verbindung zum Internetgateway eines Internetzugangsanbieters aufzubauen.'
 a_n_r_netmask1 = 'falls Ziel ein Netzwerk ist'
 a_n_r_target1 = 'Host-IP oder Netzwerk'
+a_n_r_target6 = 'IPv6 Host- oder Netzwerk-Addresse (CIDR)'
 a_n_routes = 'Routen'
+a_n_routes4 = 'IPv4 Routen'
+a_n_routes6 = 'IPv6 Routen'
 a_n_routes1 = 'Routen geben an, über welche Schnittstelle und welches Gateway ein bestimmter Host oder ein bestimmtes Netzwerk erreicht werden kann.'
 a_n_routes_static = 'Statische Routen'
+a_n_routes_static4 = 'Statische IPv4 Routen'
+a_n_routes_static6 = 'Statische IPv6 Routen'
 a_n_routes_kernel4 = 'Aktive IPv4-Routen'
+a_n_routes_kernel6 = 'Aktive IPv6-Routen'
 a_n_switch = 'Switch'
 a_n_switch1 = 'Die Netzwerkschnittstellen am Router können zu verschienden VLANs zusammengefasst werden, in denen Geräte miteinander direkt kommunizieren können. VLANs werden auch häufig dazu genutzt, um Netzwerke voneiander zu trennen. So ist oftmals eine Schnittstelle als Uplink zu einem größerem Netz, wie dem Internet vorkonfiguriert und die anderen Schnittstellen bilden ein VLAN für das lokale Netzwerk.'
 a_n_conntrack = 'Aktive Verbindungen'
index 9ca8b95c8bac8e1808ac2fdf8413dd99370e1e4c..5f4e3a7d0225046dcf1233e83976d24c72e25422 100644 (file)
 <i18n:msg xml:id="a_n_ptp1">Punkt-zu-Punkt Verbindungen über PPPoE oder PPTP werden häufig dazu verwendet, um über DSL o.ä. Techniken eine Verbindung zum Internetgateway eines Internetzugangsanbieters aufzubauen.</i18n:msg>
 <i18n:msg xml:id="a_n_r_netmask1">falls Ziel ein Netzwerk ist</i18n:msg>
 <i18n:msg xml:id="a_n_r_target1">Host-IP oder Netzwerk</i18n:msg>
+<i18n:msg xml:id="a_n_r_target6">IPv6 Host- oder Netzwerk-Addresse (CIDR)</i18n:msg>
 <i18n:msg xml:id="a_n_routes">Routen</i18n:msg>
+<i18n:msg xml:id="a_n_routes4">IPv4 Routen</i18n:msg>
+<i18n:msg xml:id="a_n_routes6">IPv6 Routen</i18n:msg>
 <i18n:msg xml:id="a_n_routes1">Routen geben an, über welche Schnittstelle und welches Gateway ein bestimmter Host oder ein bestimmtes Netzwerk erreicht werden kann.</i18n:msg>
 <i18n:msg xml:id="a_n_routes_static">Statische Routen</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static4">Statische IPv4 Routen</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static6">Statische IPv6 Routen</i18n:msg>
 <i18n:msg xml:id="a_n_routes_kernel4">Aktive IPv4-Routen</i18n:msg>
+<i18n:msg xml:id="a_n_routes_kernel6">Aktive IPv6-Routen</i18n:msg>
 <i18n:msg xml:id="a_n_switch">Switch</i18n:msg>
 <i18n:msg xml:id="a_n_switch1">Die Netzwerkschnittstellen am Router können zu verschienden VLANs zusammengefasst werden, in denen Geräte miteinander direkt kommunizieren können. VLANs werden auch häufig dazu genutzt, um Netzwerke voneiander zu trennen. So ist oftmals eine Schnittstelle als Uplink zu einem größerem Netz, wie dem Internet vorkonfiguriert und die anderen Schnittstellen bilden ein VLAN für das lokale Netzwerk.</i18n:msg>
 <i18n:msg xml:id="a_n_conntrack">Aktive Verbindungen</i18n:msg>
index 987501a4cdd3946ea162e3c3823f38b63cfd67f6..8038e3713e7bc3fa734e867f52c3f037dc134183 100644 (file)
@@ -169,6 +169,8 @@ a_n_switch = 'Switch'
 a_n_conntrack = 'Conexões Ativas'
 a_n_conntrack_desc = 'Esta página fornece informações sobre as conexões de rede ativas.'
 a_n_routes = 'Rotas'
+a_n_routes4 = 'Rotas IPv4'
+a_n_routes6 = 'Rotas IPv6'
 a_network1 = 'Neste espaço você encontrará todas as configurações relacionadas à rede.'
 a_network2 = 'Na maioria dos roteadores o switch de rede pode ser configurado livremente e dividos em diversas <abbr title="Rede Local Virtual">VLAN</abbr>s.'
 a_network3 = 'Interfaces e Configurações-<abbr title="Protocolo Ponto-a-Ponto sobre Ethernet">PPPoE</abbr> / <abbr title="Protocolo de Tunelamento Ponto-a-Ponto">PPTP</abbr> permite uma organização customizada da rede e conexões com outras redes, como a Internet.'
@@ -223,8 +225,12 @@ network_interface_maxwait = 'Configurar tempo de espera'
 network_interface_maxwait_desc = 'Segundos de espera para o modem ficar pronto antes de tentar se conectar'
 a_n_r_routes1 = 'Rotas específicas sobre qual interface e gateway um determinado host ou rede pode ser alcançado.'
 a_n_routes_static = 'Rotas Estáticas'
+a_n_routes_static4 = 'Rotas Estáticas IPv4'
+a_n_routes_static6 = 'Rotas Estáticas IPv6'
 a_n_routes_kernel4 = 'Rotas-<abbr title="Protocolo de Internet Versão 4">IPv4</abbr> ativas'
+a_n_routes_kernel6 = 'Rotas-<abbr title="Protocolo de Internet Versão 6">IPv6</abbr> ativas'
 a_n_r_target1 = '<abbr title="Endereço do Protocolo de Internet">IP</abbr> do host ou rede'
+a_n_r_target6 = '<abbr title="Endereço do Protocolo de Internet Versão 6">IPv6</abbr> do host ou rede'
 a_n_r_netmask1 = 'se o destino for uma rede'
 m_n_inet = 'Conexão com a Internet'
 m_n_local = 'Rede Local'
index c898fcb1389fd9a860ab016fbb719c2787c3781e..8fee8c142ec843df419a6f256d3a15bdabecb15f 100644 (file)
 <i18n:msg xml:id="a_n_conntrack">Conexões Ativas</i18n:msg>
 <i18n:msg xml:id="a_n_conntrack_desc">Esta página fornece informações sobre as conexões de rede ativas.</i18n:msg>
 <i18n:msg xml:id="a_n_routes">Rotas</i18n:msg>
+<i18n:msg xml:id="a_n_routes4">Rotas IPv4</i18n:msg>
+<i18n:msg xml:id="a_n_routes6">Rotas IPv6</i18n:msg>
 <i18n:msg xml:id="a_network1">Neste espaço você encontrará todas as configurações relacionadas à rede.</i18n:msg>
 <i18n:msg xml:id="a_network2">Na maioria dos roteadores o switch de rede pode ser configurado livremente e dividos em diversas <abbr title="Rede Local Virtual">VLAN</abbr>s.</i18n:msg>
 <i18n:msg xml:id="a_network3">Interfaces e Configurações-<abbr title="Protocolo Ponto-a-Ponto sobre Ethernet">PPPoE</abbr> / <abbr title="Protocolo de Tunelamento Ponto-a-Ponto">PPTP</abbr> permite uma organização customizada da rede e conexões com outras redes, como a Internet.</i18n:msg>
 <i18n:msg xml:id="network_interface_maxwait_desc">Segundos de espera para o modem ficar pronto antes de tentar se conectar</i18n:msg>
 <i18n:msg xml:id="a_n_r_routes1">Rotas específicas sobre qual interface e gateway um determinado host ou rede pode ser alcançado.</i18n:msg>
 <i18n:msg xml:id="a_n_routes_static">Rotas Estáticas</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static4">Rotas Estáticas IPv4</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static6">Rotas Estáticas IPv6</i18n:msg>
 <i18n:msg xml:id="a_n_routes_kernel4">Rotas-<abbr title="Protocolo de Internet Versão 4">IPv4</abbr> ativas</i18n:msg>
+<i18n:msg xml:id="a_n_routes_kernel6">Rotas-<abbr title="Protocolo de Internet Versão 6">IPv6</abbr> ativas</i18n:msg>
 <i18n:msg xml:id="a_n_r_target1"><abbr title="Endereço do Protocolo de Internet">IP</abbr> do host ou rede</i18n:msg>
+<i18n:msg xml:id="a_n_r_target6"><abbr title="Endereço do Protocolo de Internet Versão 6">IPv6</abbr> do host ou rede</i18n:msg>
 <i18n:msg xml:id="a_n_r_netmask1">se o destino for uma rede</i18n:msg>
 <i18n:msg xml:id="m_n_inet">Conexão com a Internet</i18n:msg>
 <i18n:msg xml:id="m_n_local">Rede Local</i18n:msg>
index 8e19863b198eb4882ef457fd75a80a890267a774..723907fe99f71a0b9a484431e681c87a2c70efd6 100644 (file)
@@ -161,6 +161,8 @@ dhcp_dnsmasq_addnhosts = 'дополнительный hostfile'
 dhcp_dnsmasq_queryport = 'порт запросов'
 a_n_switch = 'Свитч'
 a_n_routes = 'Маршрутизация'
+a_n_routes4 = 'Маршрутизация IPv4'
+a_n_routes6 = 'Маршрутизация IPv6'
 a_n_routes1 = 'Маршрутизация служит для определения через какой интерфейс и шлюз можно пройти к определённому хосту или сегменту сети.'
 a_network1 = 'В этом разделе вы сможете найти всё что касается настроек сети.'
 a_network2 = 'В большенстве роутеров сетевой свитч может быть свободно настроен и добавлен в различные <abbr title="Виртуальные локальные сети">VLAN</abbr>&#39;ы.'
@@ -193,8 +195,12 @@ network_interface_keepalive = 'Keep-Alive'
 network_interface_keepalive_desc = 'Количество неудачных соединений для инициализации переподсоединения к серверу'
 a_n_r_routes1 = 'Маршрутизация служит для определения через какой интерфейс и шлюз можно пройти к определённому хосту или сегменту сети.'
 a_n_routes_static = 'Статическая маршрутизация'
+a_n_routes_static4 = 'Статическая маршрутизация IPv4'
+a_n_routes_static6 = 'Статическая маршрутизация IPv6'
 a_n_routes_kernel4 = 'Включение <abbr title="Интернет протокол версии 4">IPv4</abbr>-Маршрутизации'
+a_n_routes_kernel6 = 'Включение <abbr title="Интернет протокол версии 6">IPv6</abbr>-Маршрутизации'
 a_n_r_target1 = 'Хост-<abbr title="Адрес интернет протокола">IP</abbr> или сеть'
+a_n_r_target6 = 'Хост-<abbr title="Адрес интернет протокола версии 6">IPv6</abbr> или сеть'
 a_n_r_netmask1 = 'если сеть'
 m_n_inet = 'Интернет соединение'
 m_n_local = 'Локальная сеть'
index b98786f2680f432b92cce87986ae70476a55a298..d5b55a0137a05ea40c88588b5141785e55ba0e60 100644 (file)
 <i18n:msg xml:id="dhcp_dnsmasq_queryport">порт запросов</i18n:msg>
 <i18n:msg xml:id="a_n_switch">Свитч</i18n:msg>
 <i18n:msg xml:id="a_n_routes">Маршрутизация</i18n:msg>
+<i18n:msg xml:id="a_n_routes4">Маршрутизация IPv4</i18n:msg>
+<i18n:msg xml:id="a_n_routes6">Маршрутизация IPv6</i18n:msg>
 <i18n:msg xml:id="a_n_routes1">Маршрутизация служит для определения через какой интерфейс и шлюз можно пройти к определённому хосту или сегменту сети.</i18n:msg>
 
 <i18n:msg xml:id="a_network1">В этом разделе вы сможете найти всё что касается настроек сети.</i18n:msg>
 <i18n:msg xml:id="network_interface_keepalive_desc">Количество неудачных соединений для инициализации переподсоединения к серверу</i18n:msg>
 <i18n:msg xml:id="a_n_r_routes1">Маршрутизация служит для определения через какой интерфейс и шлюз можно пройти к определённому хосту или сегменту сети.</i18n:msg>
 <i18n:msg xml:id="a_n_routes_static">Статическая маршрутизация</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static4">Статическая маршрутизация IPv4</i18n:msg>
+<i18n:msg xml:id="a_n_routes_static6">Статическая маршрутизация IPv6</i18n:msg>
 <i18n:msg xml:id="a_n_routes_kernel4">Включение <abbr title="Интернет протокол версии 4">IPv4</abbr>-Маршрутизации</i18n:msg>
+<i18n:msg xml:id="a_n_routes_kernel6">Включение <abbr title="Интернет протокол версии 6">IPv6</abbr>-Маршрутизации</i18n:msg>
 <i18n:msg xml:id="a_n_r_target1">Хост-<abbr title="Адрес интернет протокола">IP</abbr> или сеть</i18n:msg>
+<i18n:msg xml:id="a_n_r_target6">Хост-<abbr title="Адрес интернет протокола версии 6">IPv6</abbr> или сеть</i18n:msg>
 <i18n:msg xml:id="a_n_r_netmask1">если сеть</i18n:msg>
 <i18n:msg xml:id="m_n_inet">Интернет соединение</i18n:msg>
 <i18n:msg xml:id="m_n_local">Локальная сеть</i18n:msg>
index bba701ae24c3f1114f01c2021e9878535f6a9b2b..590ea76b2f5b60209aa5721e9929b69f648733e3 100644 (file)
@@ -314,7 +314,7 @@ function Hex( hex, prefix, family, swap )
                end
        end
 
-       return __bless({ family, data, len })
+       return __bless({ family, data, prefix })
 end
 
 
@@ -481,7 +481,7 @@ end
 -- @see                        cidr.broadcast
 -- @see                        cidr.mask
 function cidr.host( self )
-       return __bless({ self[1], data, __maxlen(self[1]) })
+       return __bless({ self[1], self[2], __maxlen(self[1]) })
 end
 
 --- Return a corresponding CIDR representing the netmask of this instance.
index 52ed0c36d9d2b36d48c917b3616432fa64597f19..b7e374d7cf613ee2c990cac96b30220d4f133ca3 100644 (file)
@@ -361,6 +361,53 @@ function net.routes()
        return _parse_delimited_table(io.lines("/proc/net/route"))
 end
 
+--- Returns the current ipv6 kernel routing table entries.
+-- @return     Table of tables with properties of the corresponding routes.
+--                     The following fields are defined for route entry tables:
+--                     { "src_ip", "src_prefix", "dst_ip", "dst_prefix", "nexthop_ip",
+--            "metric", "refcount", "usecount", "flags", "device" }
+function net.routes6()
+       local routes = { }
+
+       for line in io.lines("/proc/net/ipv6_route") do
+
+               local dst_ip, dst_prefix, src_ip, src_prefix, nexthop,
+                         metric, refcnt, usecnt, flags, dev = line:match(
+                       "([a-f0-9]+) ([a-f0-9]+) " ..
+                       "([a-f0-9]+) ([a-f0-9]+) " ..
+                       "([a-f0-9]+) ([a-f0-9]+) " ..
+                       "([a-f0-9]+) ([a-f0-9]+) " ..
+                       "([^%s]+) +([^%s]+)"
+               )
+
+               src_ip = luci.ip.Hex(
+                       src_ip, tonumber(src_prefix, 16),
+                       luci.ip.FAMILY_INET6, false
+               )
+
+               dst_ip = luci.ip.Hex(
+                       dst_ip, tonumber(dst_prefix, 16),
+                       luci.ip.FAMILY_INET6, false
+               )
+
+               nexthop = luci.ip.Hex( nexthop, 128, luci.ip.FAMILY_INET6, false )
+
+               routes[#routes+1] = {
+                       src_ip     = src_ip:host():string(),
+                       src_prefix = src_ip:prefix(),
+                       dst_ip     = dst_ip:host():string(),
+                       dst_prefix = dst_ip:prefix(),
+                       nexthop_ip = nexthop:string(),
+                       metric     = tonumber(metric, 16),
+                       refcount   = tonumber(refcnt, 16),
+                       usecount   = tonumber(usecnt, 16),
+                       flags      = tonumber(flags), -- hex?
+                       device     = dev
+               }
+       end
+
+       return routes
+end
 
 --- Tests whether the given host responds to ping probes.
 -- @param host String containing a hostname or IPv4 address
index e0a6dc190875a574074ec4b8734a8948ada713b7..8cf79cb3f69b7cd4dc1ea44e45337e426b45ec75 100644 (file)
@@ -386,6 +386,46 @@ config variable
        option datatype 'ip4addr'
        option required 'true'
 
+config variable
+       option name     'metric'
+       option title    'Metric'
+       option section  'network.route6'
+       option datatype 'uint'
+
+
+
+config section
+       option name     'route6'
+       option title    'Static IPv6 route definition'
+       option package  'network'
+
+config variable
+       option name     'interface'
+       option title    'Interface'
+       option section  'network.route6'
+       option valueof  'network.interface'
+       option required 'true'
+
+config variable
+       option name     'target'
+       option title    'Target IPv6 host or network (CIDR)'
+       option section  'network.route6'
+       option datatype 'ip6addr'
+       option required 'true'
+
+config variable
+       option name     'gateway'
+       option title    'IPv6 gateway'
+       option section  'network.route6'
+       option datatype 'ip6addr'
+       option required 'true'
+
+config variable
+       option name     'metric'
+       option title    'Metric'
+       option section  'network.route6'
+       option datatype 'uint'
+
 
 
 config section
index aa32324e69ec2e4883aabd05bc9a00743c5c3124..a236e8c196af4e2f2d9c2e35f7168e41983e4ac3 100644 (file)
@@ -16,35 +16,61 @@ m = Map("network", translate("a_n_routes"), translate("a_n_routes1"))
 
 if not arg or not arg[1] then
        local routes = luci.sys.net.routes()
-       
+
        v = m:section(Table, routes, translate("a_n_routes_kernel4"))
-       
+
        net = v:option(DummyValue, "iface", translate("network"))
        function net.cfgvalue(self, section)
                return luci.tools.webadmin.iface_get_network(routes[section].Iface)
                 or routes[section].Iface
        end
-       
+
        target  = v:option(DummyValue, "target", translate("target"))
        function target.cfgvalue(self, section)
                return luci.ip.Hex(routes[section].Destination, 32):string()
        end
-       
+
        netmask = v:option(DummyValue, "netmask", translate("netmask"))
        function netmask.cfgvalue(self, section)
                return luci.ip.Hex(routes[section].Mask, 32):string()
        end
-       
+
        gateway = v:option(DummyValue, "gateway", translate("gateway"))
        function gateway.cfgvalue(self, section)
                return luci.ip.Hex(routes[section].Gateway, 32):string()
        end
-       
+
+       metric = v:option(DummyValue, "Metric", translate("metric"))
+
+
+       local routes6 = luci.sys.net.routes6()
+
+       v = m:section(Table, routes6, translate("a_n_routes_kernel6"))
+
+       net = v:option(DummyValue, "iface", translate("network"))
+       function net.cfgvalue(self, section)
+               return luci.tools.webadmin.iface_get_network(routes6[section].device)
+                or routes6[section].device
+       end
+
+       target  = v:option(DummyValue, "target", translate("target"))
+       function target.cfgvalue(self, section)
+               return routes6[section].dst_ip .. "/" .. routes6[section].dst_prefix
+       end
+
+       gateway = v:option(DummyValue, "gateway", translate("gateway6"))
+       function gateway.cfgvalue(self, section)
+               return routes6[section].src_ip .. "/" .. routes6[section].src_prefix
+       end
+
        metric = v:option(DummyValue, "Metric", translate("metric"))
+    function metric.cfgvalue(self, section)
+        return string.format( "%08X", routes6[section].metric )
+    end
 end
 
 
-s = m:section(TypedSection, "route", translate("a_n_routes_static"))
+s = m:section(TypedSection, "route", translate("a_n_routes_static4"))
 s.addremove = true
 s.anonymous = true
 
@@ -63,4 +89,23 @@ s:option(Value, "netmask", translate("netmask"), translate("a_n_r_netmask1")).rm
 
 s:option(Value, "gateway", translate("gateway"))
 
-return m
\ No newline at end of file
+
+s = m:section(TypedSection, "route6", translate("a_n_routes_static6"))
+s.addremove = true
+s.anonymous = true
+
+s.template  = "cbi/tblsection"
+
+iface = s:option(ListValue, "interface", translate("interface"))
+luci.tools.webadmin.cbi_add_networks(iface)
+
+if not arg or not arg[1] then
+       net.titleref = iface.titleref
+end
+
+s:option(Value, "target", translate("target"), translate("a_n_r_target6"))
+
+s:option(Value, "gateway", translate("gateway6")).rmempty = true
+
+
+return m