Andrew Boyson / web

Dependents:   oldheating gps motorhome heating

Revision:
142:b472ba95b018
Parent:
136:be1d42268b5d
Child:
144:7106252b7abf
--- a/base/net/web-net6-script.inc	Tue Jun 09 14:33:55 2020 +0000
+++ b/base/net/web-net6-script.inc	Wed Dec 23 09:57:17 2020 +0000
@@ -3,22 +3,30 @@
 "\n"
 "let arp             = '';\n"
 "let dns             = '';\n"
+"\n"
 "let hopLimit        = '';\n"
+"let mtu             = '';\n"
 "let managed         = false;\n"
 "let other           = false;\n"
 "let routerMac       = '';\n"
-"let prefixLength    = '';\n"
-"let prefixL         = false;\n"
-"let prefixA         = false;\n"
-"let prefixLimit     = '';\n"
-"let prefixPreferred = '';\n"
-"let prefix          = '';\n"
 "let dnsLife         = '';\n"
 "let dnsIp           = '';\n"
 "let ndpLease        = '';\n"
 "let ndpElapsed      = '';\n"
 "let slaac           = '';\n"
-"let mtu             = '';\n"
+"\n"
+"let uniquePrefixLength    = '';\n"
+"let uniquePrefixL         = false;\n"
+"let uniquePrefixA         = false;\n"
+"let uniquePrefixLimit     = '';\n"
+"let uniquePrefixPreferred = '';\n"
+"let uniquePrefix          = '';\n"
+"let globalPrefixLength    = '';\n"
+"let globalPrefixL         = false;\n"
+"let globalPrefixA         = false;\n"
+"let globalPrefixLimit     = '';\n"
+"let globalPrefixPreferred = '';\n"
+"let globalPrefix          = '';\n"
 "\n"
 "function parseArpLine(line)\n"
 "{\n"
@@ -67,22 +75,32 @@
 "{\n"
 "    let lines = text.split('\\n');\n"
 "    \n"
-"    hopLimit        =     parseInt(lines[ 1], 16);\n"
-"    managed         = Net.hexToBit(lines[ 0],  0);\n"
-"    other           = Net.hexToBit(lines[ 0],  1);\n"
-"    routerMac       = Net.makeMac (lines[ 2], 16);\n"
-"    prefixLength    =     parseInt(lines[ 3], 16);\n"
-"    prefixL         = Net.hexToBit(lines[ 0],  2);\n"
-"    prefixA         = Net.hexToBit(lines[ 0],  3);\n"
-"    prefixLimit     =     parseInt(lines[ 4], 16);\n"
-"    prefixPreferred =     parseInt(lines[ 5], 16);\n"
-"    prefix          = Net.makeIp6 (lines[ 6]    );\n"
-"    dnsLife         =     parseInt(lines[ 7], 16);\n"
-"    dnsIp           = Net.makeIp6 (lines[ 8]    );\n"
-"    ndpLease        =     parseInt(lines[ 9], 16);\n"
-"    ndpElapsed      =     parseInt(lines[10], 16);\n"
-"    slaac           = Net.makeIp6 (lines[11]    );\n"
-"    mtu             =     parseInt(lines[12], 16);\n"
+"    slaac                 = Net.makeIp6 (lines[ 0]    );\n"
+"    \n"
+"    hopLimit              =     parseInt(lines[ 1], 16);\n"
+"    mtu                   =     parseInt(lines[ 2], 16);\n"
+"    managed               = Net.hexToBit(lines[ 3],  0);\n"
+"    other                 = Net.hexToBit(lines[ 3],  1);\n"
+"    routerMac             = Net.makeMac (lines[ 4], 16);\n"
+"    ndpLease              =     parseInt(lines[ 5], 16);\n"
+"    ndpElapsed            =     parseInt(lines[ 6], 16);\n"
+"    \n"
+"    dnsIp                 = Net.makeIp6 (lines[ 7]    );\n"
+"    dnsLife               =     parseInt(lines[ 8], 16);\n"
+"    \n"
+"    uniquePrefixL         = Net.hexToBit(lines[ 9],  0);\n"
+"    uniquePrefixA         = Net.hexToBit(lines[ 9],  1);\n"
+"    uniquePrefixLength    =     parseInt(lines[10], 16);\n"
+"    uniquePrefix          = Net.makeIp6 (lines[11]    );\n"
+"    uniquePrefixLimit     =     parseInt(lines[12], 16);\n"
+"    uniquePrefixPreferred =     parseInt(lines[13], 16);\n"
+"    \n"
+"    globalPrefixL         = Net.hexToBit(lines[14],  0);\n"
+"    globalPrefixA         = Net.hexToBit(lines[14],  1);\n"
+"    globalPrefixLength    =     parseInt(lines[15], 16);\n"
+"    globalPrefix          = Net.makeIp6 (lines[16]    );\n"
+"    globalPrefixLimit     =     parseInt(lines[17], 16);\n"
+"    globalPrefixPreferred =     parseInt(lines[18], 16);\n"
 "}\n"
 "function parse()\n"
 "{\n"
@@ -97,22 +115,30 @@
 "    \n"
 "    elem = Ajax.getElementOrNull('ajax-arp'             ); if (elem) elem.textContent = arp;\n"
 "    elem = Ajax.getElementOrNull('ajax-dns'             ); if (elem) elem.textContent = dns;\n"
+"    elem = Ajax.getElementOrNull('ajax-slaac'           ); if (elem) elem.textContent = slaac;\n"
 "    elem = Ajax.getElementOrNull('ajax-hop-limit'       ); if (elem) elem.textContent = hopLimit;\n"
+"    elem = Ajax.getElementOrNull('ajax-mtu'             ); if (elem) elem.textContent = mtu;\n"
 "    elem = Ajax.getElementOrNull('ajax-managed'         ); if (elem) elem.setAttribute('dir', managed ? 'rtl' : 'ltr');\n"
 "    elem = Ajax.getElementOrNull('ajax-other'           ); if (elem) elem.setAttribute('dir', other   ? 'rtl' : 'ltr');\n"
 "    elem = Ajax.getElementOrNull('ajax-router-mac'      ); if (elem) elem.textContent = routerMac;\n"
-"    elem = Ajax.getElementOrNull('ajax-prefix-length'   ); if (elem) elem.textContent = prefixLength;\n"
-"    elem = Ajax.getElementOrNull('ajax-prefix-l'        ); if (elem) elem.setAttribute('dir', prefixL ? 'rtl' : 'ltr');\n"
-"    elem = Ajax.getElementOrNull('ajax-prefix-a'        ); if (elem) elem.setAttribute('dir', prefixA ? 'rtl' : 'ltr');\n"
-"    elem = Ajax.getElementOrNull('ajax-prefix-limit'    ); if (elem) elem.textContent = prefixLimit;\n"
-"    elem = Ajax.getElementOrNull('ajax-prefix-preferred'); if (elem) elem.textContent = prefixPreferred;\n"
-"    elem = Ajax.getElementOrNull('ajax-prefix'          ); if (elem) elem.textContent = prefix;\n"
+"    elem = Ajax.getElementOrNull('ajax-ndp-lease'       ); if (elem) elem.textContent = ndpLease;\n"
+"    elem = Ajax.getElementOrNull('ajax-ndp-elapsed'     ); if (elem) elem.textContent = ndpElapsed;\n"
 "    elem = Ajax.getElementOrNull('ajax-dns-life'        ); if (elem) elem.textContent = dnsLife;\n"
 "    elem = Ajax.getElementOrNull('ajax-dns-ip'          ); if (elem) elem.textContent = dnsIp;\n"
-"    elem = Ajax.getElementOrNull('ajax-ndp-lease'       ); if (elem) elem.textContent = ndpLease;\n"
-"    elem = Ajax.getElementOrNull('ajax-ndp-elapsed'     ); if (elem) elem.textContent = ndpElapsed;\n"
-"    elem = Ajax.getElementOrNull('ajax-slaac'           ); if (elem) elem.textContent = slaac;\n"
-"    elem = Ajax.getElementOrNull('ajax-mtu'             ); if (elem) elem.textContent = mtu;\n"
+"    \n"
+"    elem = Ajax.getElementOrNull('ajax-unique-prefix-l'        ); if (elem) elem.setAttribute('dir', uniquePrefixL ? 'rtl' : 'ltr');\n"
+"    elem = Ajax.getElementOrNull('ajax-unique-prefix-a'        ); if (elem) elem.setAttribute('dir', uniquePrefixA ? 'rtl' : 'ltr');\n"
+"    elem = Ajax.getElementOrNull('ajax-unique-prefix-length'   ); if (elem) elem.textContent = uniquePrefixLength;\n"
+"    elem = Ajax.getElementOrNull('ajax-unique-prefix'          ); if (elem) elem.textContent = uniquePrefix;\n"
+"    elem = Ajax.getElementOrNull('ajax-unique-prefix-limit'    ); if (elem) elem.textContent = uniquePrefixLimit;\n"
+"    elem = Ajax.getElementOrNull('ajax-unique-prefix-preferred'); if (elem) elem.textContent = uniquePrefixPreferred;\n"
+"    \n"
+"    elem = Ajax.getElementOrNull('ajax-global-prefix-l'        ); if (elem) elem.setAttribute('dir', globalPrefixL ? 'rtl' : 'ltr');\n"
+"    elem = Ajax.getElementOrNull('ajax-global-prefix-a'        ); if (elem) elem.setAttribute('dir', globalPrefixA ? 'rtl' : 'ltr');\n"
+"    elem = Ajax.getElementOrNull('ajax-global-prefix-length'   ); if (elem) elem.textContent = globalPrefixLength;\n"
+"    elem = Ajax.getElementOrNull('ajax-global-prefix'          ); if (elem) elem.textContent = globalPrefix;\n"
+"    elem = Ajax.getElementOrNull('ajax-global-prefix-limit'    ); if (elem) elem.textContent = globalPrefixLimit;\n"
+"    elem = Ajax.getElementOrNull('ajax-global-prefix-preferred'); if (elem) elem.textContent = globalPrefixPreferred;\n"
 "}\n"
 "\n"
 "Ajax.server     = '/net6-ajax';\n"