Deployed c66195f7 to dev with MkDocs 1.6.1 and mike 2.1.3
@@ -44,6 +44,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/infix/dev/extra.css">
|
||||
|
||||
<script>__md_scope=new URL("/infix/dev",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
@@ -1807,7 +1809,7 @@ Infix by default generates the device's initial configuration every time
|
||||
at boot. This also ensures the device can always be restored to a known
|
||||
state after a factory reset, since the <code>factory-config</code> is guaranteed to
|
||||
be compatible with the YANG models for the given software version. (For
|
||||
more information on how the system boots, please see the section <a href="introduction.md#key-concepts">Key
|
||||
more information on how the system boots, please see the section <a href="../#key-concepts">Key
|
||||
Concepts</a> in the Introduction document.)</p>
|
||||
<p>However, for custom builds of Infix it is possible to override this with
|
||||
a single static <code>/etc/factory-config.cfg</code> (and failure-config) in your
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
@@ -76,7 +78,7 @@
|
||||
<div data-md-component="skip">
|
||||
|
||||
|
||||
<a href="#yang-to-ethtool-mapping" class="md-skip">
|
||||
<a href="#rmon-counters" class="md-skip">
|
||||
Skip to content
|
||||
</a>
|
||||
|
||||
@@ -1480,7 +1482,7 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="yang-to-ethtool-mapping">YANG to Ethtool Mapping<a class="headerlink" href="#yang-to-ethtool-mapping" title="Permanent link">¶</a></h1>
|
||||
<h1 id="rmon-counters">RMON Counters<a class="headerlink" href="#rmon-counters" title="Permanent link">¶</a></h1>
|
||||
<p>This document show the mapping between YANG and Linux / Ethtool counters.</p>
|
||||
<table>
|
||||
<thead>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
.md-header__title {
|
||||
font-size: 1.1rem;
|
||||
line-height: 2.6rem;
|
||||
}
|
||||
|
||||
[data-md-color-primary="orange"] {
|
||||
--md-primary-fg-color: #ff7f2a;
|
||||
--md-primary-bg-color: #5c5f5c;
|
||||
}
|
||||
[data-md-color-primary="black"] {
|
||||
--md-primary-bg-color: #5c5f5c;
|
||||
}
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="extra.css">
|
||||
|
||||
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -48,6 +48,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,181 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="210mm"
|
||||
height="297mm"
|
||||
viewBox="0 0 210 297"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="logo2.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8751964"
|
||||
inkscape:cx="295.08274"
|
||||
inkscape:cy="433.00405"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1385"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<rect
|
||||
x="505.95288"
|
||||
y="579.6032"
|
||||
width="127.6438"
|
||||
height="127.94966"
|
||||
id="rect1266" />
|
||||
<rect
|
||||
x="309.92126"
|
||||
y="404.51989"
|
||||
width="483.77954"
|
||||
height="358.02926"
|
||||
id="rect600" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect5591"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer6"
|
||||
inkscape:label="bg"
|
||||
style="display:none;fill:#ff0000;fill-opacity:1"
|
||||
transform="matrix(1.2831201,0,0,3.2117929,-26.690111,-224.39813)">
|
||||
<rect
|
||||
style="fill:#22272e;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect10264"
|
||||
width="163.66356"
|
||||
height="92.471725"
|
||||
x="20.800945"
|
||||
y="69.866936"
|
||||
inkscape:label="bg" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer5"
|
||||
inkscape:label="tagline"
|
||||
style="display:inline">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.77333px;font-family:Laksaman;-inkscape-font-specification:'Laksaman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:#5c5f5c;stroke-width:0;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||
x="85.018883"
|
||||
y="131.54915"
|
||||
id="text9503"
|
||||
inkscape:label="linux-netconf"
|
||||
inkscape:export-filename="../b725e1c8/infix.png"
|
||||
inkscape:export-xdpi="191.95932"
|
||||
inkscape:export-ydpi="191.95932"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan9519"
|
||||
x="85.018883"
|
||||
y="131.54915"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.77333px;font-family:Laksaman;-inkscape-font-specification:'Laksaman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-opacity:1"
|
||||
id="tspan11822">Linux</tspan> <tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.77333px;font-family:Laksaman;-inkscape-font-specification:'Laksaman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff7f2a;fill-opacity:1;stroke:#5c5f5c;stroke-opacity:1"
|
||||
id="tspan9929">♥</tspan> <tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.77333px;font-family:Laksaman;-inkscape-font-specification:'Laksaman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-opacity:1"
|
||||
id="tspan11824">NETCONF</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="heading">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25.4px;font-family:'URW Bookman';-inkscape-font-specification:'URW Bookman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#5c5f5c;stroke-width:1.029;fill-opacity:1"
|
||||
x="84.745331"
|
||||
y="124.1693"
|
||||
id="text1160"
|
||||
inkscape:label="infix"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1272"
|
||||
x="84.745331"
|
||||
y="124.1693">Infix</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="tux"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#f9f9f9;stroke:#5c5f5c;stroke-width:1.029;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
|
||||
id="rect1698"
|
||||
width="22.470779"
|
||||
height="16.970779"
|
||||
x="59.529221"
|
||||
y="107.02922"
|
||||
inkscape:label="body" />
|
||||
<rect
|
||||
style="fill:#ff7f2a;stroke:#5c5f5c;stroke-width:1;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect184-3"
|
||||
width="6"
|
||||
height="4"
|
||||
x="76"
|
||||
y="120"
|
||||
inkscape:label="foot-r" />
|
||||
<rect
|
||||
style="fill:#ff7f2a;stroke:#5c5f5c;stroke-width:1;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect184"
|
||||
width="6"
|
||||
height="4"
|
||||
x="59.529221"
|
||||
y="120"
|
||||
inkscape:label="foot-l" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#ff7f2a;stroke:none;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path11801"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="42.414055"
|
||||
sodipodi:cy="98.701302"
|
||||
sodipodi:r1="1.9660654"
|
||||
sodipodi:r2="0.9830327"
|
||||
sodipodi:arg1="1.5707963"
|
||||
sodipodi:arg2="2.6179939"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 42.414055,100.66737 -1.702663,-2.949101 3.405325,0 z"
|
||||
inkscape:transform-center-y="0.49151511"
|
||||
transform="translate(28.350554,16.321792)"
|
||||
inkscape:label="nose" />
|
||||
<circle
|
||||
style="display:inline;fill:#5c5f5c;stroke:none;stroke-width:4.99999;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
|
||||
id="path6519-5"
|
||||
cx="73.211082"
|
||||
cy="111.02191"
|
||||
r="0.5"
|
||||
inkscape:label="eye-r" />
|
||||
<circle
|
||||
style="fill:#5c5f5c;stroke:none;stroke-width:4.99999;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
|
||||
id="path6519"
|
||||
cx="68.31813"
|
||||
cy="111.02191"
|
||||
r="0.5"
|
||||
inkscape:label="eye-l" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.9 KiB |
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -2,146 +2,146 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/boot/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/branding/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/container/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/developers-guide/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/dhcp/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/discovery/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/eth-counters/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/hardware/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/license/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/management/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/netboot/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/networking/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/override-package/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/qos/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/scripting-prod/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/scripting-restconf/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/scripting-sysrepocfg/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/scripting/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/syslog/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/system/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/test-arch/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/testing/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/tunnels/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/upgrade/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/virtual/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/vpd/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/wifi/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/configure/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/introduction/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/keybindings/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/netcalc/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/quick/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/tcpdump/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/text-editor/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kernelkit.github.io/infix/dev/cli/upgrade/</loc>
|
||||
<lastmod>2025-07-28</lastmod>
|
||||
<lastmod>2025-07-29</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
@@ -1774,7 +1776,7 @@ comparing the files from the <em>shell</em>. An example is shown below.</p>
|
||||
<p>Downgrading to an earlier version is possible, however, downgrading is
|
||||
<strong>not</strong> guaranteed to work smoothly. In particular, when the unit boots
|
||||
up with the downgraded version, it may fail to apply the <em>startup
|
||||
config</em>, and instead apply its <a href="introduction.md#system-boot">failure config</a>.</p>
|
||||
config</em>, and instead apply its <a href="../boot/#system-boot">failure config</a>.</p>
|
||||
<p>We consider two cases: downgrading with and without applying a backup
|
||||
startup configuration before rebooting.</p>
|
||||
<p>In both cases we start out with a unit running Infix v25.03.1, and
|
||||
@@ -1912,7 +1914,7 @@ its default login credentials<sup id="fnref:1"><a class="footnote-ref" href="#fn
|
||||
<p><em>Reboot:</em></p>
|
||||
<p>Conduct a reboot. During boot, the unit fails to apply the existing
|
||||
startup configuration (config version <code>1.5</code> while software expects
|
||||
version <code>1.4</code> or earlier), and instead applies its <a href="introduction.md#system-boot">failure
|
||||
version <code>1.4</code> or earlier), and instead applies its <a href="../boot/#system-boot">failure
|
||||
config</a>. This is what is seen on the console when this situation
|
||||
occurs. Note that the login prompt displays <code>failed</code> as part of the
|
||||
<em>hostname</em>.</p>
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../extra.css">
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||