diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CCodeGeneration.csproj b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CCodeGeneration.csproj
deleted file mode 100644
index 06d5075e..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CCodeGeneration.csproj
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}
- Library
- Properties
- CCodeGeneration
- CCodeGeneration
- v4.0
- 512
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CFile.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CFile.cs
deleted file mode 100644
index 6f122742..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CFile.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-
-namespace CCodeGeneration
-{
- public class CFile: CodeContainerBase
- {
- public CFile()
- {
- base.IncreaseLevel = false;
- }
-
- public void Save(CGenerator generator)
- {
- if (generator == null)
- {
- throw new ArgumentNullException("generator");
- }
-
- this.GenerateCode(0, generator);
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CGenerator.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CGenerator.cs
deleted file mode 100644
index 4e8dfbc7..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CGenerator.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.IO;
-
-namespace CCodeGeneration
-{
- public class CGenerator
- {
- public TextWriter OutputStream { get; private set; }
- public string File { get; private set; }
- public uint IndentCount { get; private set; }
- public string IndentChar { get; private set; }
- public string NewLine { get; private set; }
-
- public CGenerator(System.IO.TextWriter outputStream, string file, uint indentCount, string indentChar, string newLine)
- {
- this.OutputStream = outputStream;
- this.File = file;
- this.IndentCount = indentCount;
- this.IndentChar = indentChar;
- this.NewLine = newLine;
- }
-
- public string FileName
- {
- get
- {
- if (!String.IsNullOrWhiteSpace(this.File))
- {
- return Path.GetFileName(this.File);
- }
-
- return null;
- }
- }
-
- public void WriteSequence(string value, uint repetitions)
- {
- while (repetitions > 0)
- {
- this.OutputStream.Write(value);
- repetitions--;
- }
- }
-
- public void IndentLine(int level)
- {
- while (level > 0)
- {
- WriteSequence(this.IndentChar, this.IndentCount);
- level--;
- }
- }
-
- public void WriteNewLine()
- {
- this.OutputStream.Write(this.NewLine);
- }
-
- public void WriteMultilineString(string value, int level = 0)
- {
- if (String.IsNullOrEmpty(value))
- {
- return;
- }
-
- // only \n and \r\n are recognized as linebreaks
- string[] lines = value.Split(new char[] { '\n' }, StringSplitOptions.None);
-
- for (int l = 0; l < (lines.Length - 1); l++)
- {
- if (lines[l].EndsWith("\r"))
- {
- this.OutputStream.Write(lines[l].Substring(0, lines[l].Length-1));
- }
- else
- {
- this.OutputStream.Write(lines[l]);
- }
-
- this.WriteNewLine();
- this.IndentLine(level);
- }
-
- this.OutputStream.Write(lines[lines.Length - 1]);
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Code.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Code.cs
deleted file mode 100644
index 4834508a..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Code.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-namespace CCodeGeneration
-{
- public class Code: CodeElement
- {
- public string Code_ { get; set; }
-
- public Code()
- {
- }
-
- public Code(string code)
- {
- this.Code_ = code;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- generator.IndentLine(level);
- generator.WriteMultilineString(this.Code_, level);
- generator.WriteNewLine();
- }
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CodeContainerBase.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CodeContainerBase.cs
deleted file mode 100644
index 4327d92d..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CodeContainerBase.cs
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System.Collections.Generic;
-using System;
-
-namespace CCodeGeneration
-{
- public class CodeContainerBase: CodeElement
- {
- private readonly List declarations = new List();
- private readonly List innerElements = new List();
- private bool increaseLevel = true;
-
- public List Declarations
- {
- get { return this.declarations; }
- }
-
- public List InnerElements
- {
- get { return this.innerElements; }
- }
-
- protected bool IncreaseLevel
- {
- get { return this.increaseLevel; }
- set { this.increaseLevel = value; }
- }
-
- public void AddElements(IList elements, params CodeElement[] spacerElements)
- {
- if (elements != null)
- {
- if ((spacerElements == null) || (spacerElements.Length == 0))
- {
- this.innerElements.AddRange(elements);
- }
- else
- {
- bool spacerAdded = false;
-
- foreach (CodeElement element in elements)
- {
- this.innerElements.Add(element);
- this.innerElements.AddRange(spacerElements);
- spacerAdded = true;
- }
-
- if (spacerAdded)
- {
- // remove last spacer again
- this.innerElements.RemoveRange(this.innerElements.Count - spacerElements.Length, spacerElements.Length);
- }
- }
- }
- }
-
- public CodeElement AddElement(CodeElement element)
- {
- if (element != null)
- {
- this.innerElements.Add(element);
- }
-
- return element;
- }
-
- public Code AddCode(string code)
- {
- return this.AddElement(new Code(code)) as Code;
- }
-
- public Code AddCodeFormat(string codeFormat, params object[] args)
- {
- return this.AddElement(new Code(String.Format(codeFormat, args))) as Code;
- }
-
- public CodeElement AddDeclaration(CodeElement declaration)
- {
- if (declaration != null)
- {
- this.declarations.Add(declaration);
- }
-
- return declaration;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (this.increaseLevel)
- level++;
-
- if (this.declarations.Count > 0)
- {
- foreach (CodeElement element in this.declarations)
- {
- element.GenerateCode(level, generator);
- }
-
- EmptyLine.SingleLine.GenerateCode(level, generator);
- }
-
- foreach (CodeElement element in this.innerElements)
- {
- element.GenerateCode(level, generator);
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CodeElement.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CodeElement.cs
deleted file mode 100644
index 51cf2d24..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/CodeElement.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-namespace CCodeGeneration
-{
- public class CodeElement
- {
- public virtual void GenerateCode(int level, CGenerator generator)
- {
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Comment.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Comment.cs
deleted file mode 100644
index 51779bea..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Comment.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-namespace CCodeGeneration
-{
- public class Comment: CodeElement
- {
- public const string CommentStart = "/*";
- public const string CommentEnd = "*/";
-
- public string Comment_ { get; set; }
- public bool SingleLine { get; set; }
-
- public Comment()
- {
- }
-
- public Comment(string comment, bool singleLine = false)
- {
- this.Comment_ = comment;
- this.SingleLine = singleLine;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- generator.IndentLine(level);
- generator.OutputStream.Write(CommentStart);
-
- if (!this.SingleLine)
- {
- generator.WriteNewLine();
- generator.IndentLine(level);
- generator.WriteMultilineString(this.Comment_, level);
- generator.WriteNewLine();
- generator.IndentLine(level);
- }
- else
- {
- generator.OutputStream.Write(" " + Comment_ + " ");
- }
-
- generator.OutputStream.Write(CommentEnd);
- generator.WriteNewLine();
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/EmptyLine.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/EmptyLine.cs
deleted file mode 100644
index 604c9477..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/EmptyLine.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-namespace CCodeGeneration
-{
- public class EmptyLine : CodeElement
- {
- public static readonly EmptyLine SingleLine = new EmptyLine();
- public static readonly EmptyLine TwoLines = new EmptyLine(2);
- public static readonly EmptyLine ThreeLines = new EmptyLine(3);
-
- public uint Count { get; set; }
-
- public EmptyLine()
- {
- this.Count = 1;
- }
-
- public EmptyLine(uint count)
- {
- this.Count = count;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- uint c = this.Count;
-
- while (c > 0)
- {
- generator.WriteNewLine();
- c--;
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Function.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Function.cs
deleted file mode 100644
index d81f6e56..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Function.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace CCodeGeneration
-{
- public class Function: CodeContainerBase
- {
- public string Name { get; set; }
- public bool IsStatic { get; set; }
-
- private readonly List parameter = new List();
- private VariableType returnType = VariableType.Void;
-
- public Function()
- {
- }
-
- public Function(string name, bool isStatic = false)
- {
- this.Name = name;
- this.IsStatic = isStatic;
- }
-
- public List Parameter
- {
- get { return this.parameter; }
- }
-
- public VariableType ReturnType
- {
- get { return this.returnType; }
- set
- {
- if (value == null)
- {
- throw new ArgumentNullException("ReturnValue");
- }
- this.returnType = value;
- }
- }
-
- public static Function FromDeclaration(FunctionDeclaration decl)
- {
- Function result = new Function(decl.Name, decl.IsStatic);
- result.ReturnType = decl.ReturnType.Clone() as VariableType;
-
- foreach (VariableType param in decl.Parameter)
- {
- result.parameter.Add(param.Clone() as VariableType);
- }
-
- return result;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- generator.IndentLine(level);
-
- if (this.IsStatic)
- {
- generator.OutputStream.Write("static ");
- }
-
- this.returnType.GenerateCode(generator);
- generator.OutputStream.Write(" " + this.Name + "(");
-
- if (this.Parameter.Count > 0)
- {
- for (int i = 0; i < this.parameter.Count; i++)
- {
- this.parameter[i].GenerateCode(generator);
-
- if (i < (this.parameter.Count - 1))
- {
- generator.OutputStream.Write(", ");
- }
- }
- }
- else
- {
- generator.OutputStream.Write("void");
- }
-
- generator.OutputStream.Write(")");
- generator.WriteNewLine();
- generator.IndentLine(level);
- generator.OutputStream.Write("{");
- generator.WriteNewLine();
-
- base.GenerateCode(level, generator);
-
- generator.IndentLine(level);
- generator.OutputStream.Write("}");
- generator.WriteNewLine();
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/FunctionDeclaration.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/FunctionDeclaration.cs
deleted file mode 100644
index 3bc42888..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/FunctionDeclaration.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace CCodeGeneration
-{
- public class FunctionDeclaration: CodeElement
- {
- public string Name { get; set; }
- public bool IsStatic { get; set; }
- public bool IsExtern { get; set; }
-
- private readonly List parameter = new List();
- private VariableType returnType = VariableType.Void;
-
- public FunctionDeclaration()
- {
- }
-
- public FunctionDeclaration(string name, bool isStatic = false, bool isExtern = false)
- {
- this.Name = name;
- this.IsStatic = isStatic;
- this.IsExtern = isExtern;
- }
-
- public List Parameter
- {
- get { return this.parameter; }
- }
-
- public VariableType ReturnType
- {
- get { return this.returnType; }
- set
- {
- if (value == null)
- {
- throw new ArgumentNullException("ReturnValue");
- }
- this.returnType = value;
- }
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- generator.IndentLine(level);
-
- if (this.IsExtern)
- {
- generator.OutputStream.Write("extern ");
- }
-
- if (this.IsStatic)
- {
- generator.OutputStream.Write("static ");
- }
-
- this.returnType.GenerateCode(generator);
- generator.OutputStream.Write(" " + this.Name + "(");
-
- if (this.Parameter.Count > 0)
- {
- for (int i = 0; i < this.parameter.Count; i++)
- {
- this.parameter[i].GenerateCode(generator);
-
- if (i < (this.parameter.Count - 1))
- {
- generator.OutputStream.Write(", ");
- }
- }
- }
- else
- {
- generator.OutputStream.Write("void");
- }
-
- generator.OutputStream.Write(");");
- generator.WriteNewLine();
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/IfThenElse.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/IfThenElse.cs
deleted file mode 100644
index c4710225..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/IfThenElse.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace CCodeGeneration
-{
- public class ElseIf : CodeContainerBase
- {
- public string Condition { get; set; }
-
- public ElseIf()
- {
- }
-
- public ElseIf(string condition)
- {
- this.Condition = condition;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.Condition))
- {
- generator.IndentLine(level);
- generator.OutputStream.Write(String.Format("else if ({0})", this.Condition));
- generator.WriteNewLine();
- generator.IndentLine(level);
- generator.OutputStream.Write("{");
- generator.WriteNewLine();
-
- base.GenerateCode(level, generator);
-
- generator.IndentLine(level);
- generator.OutputStream.Write("}");
- generator.WriteNewLine();
- }
- }
- }
-
- public class IfThenElse: CodeContainerBase
- {
- public string Condition { get; set; }
-
- private List elseIf = new List();
- private CodeContainerBase else_ = new CodeContainerBase();
-
- public IfThenElse()
- {
- }
-
- public IfThenElse(string condition)
- {
- this.Condition = condition;
- }
-
- public List ElseIf
- {
- get { return this.elseIf; }
- }
-
- public CodeContainerBase Else
- {
- get { return this.else_; }
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.Condition))
- {
- generator.IndentLine(level);
- generator.OutputStream.Write(String.Format("if ({0})", this.Condition));
- generator.WriteNewLine();
- generator.IndentLine(level);
- generator.OutputStream.Write("{");
- generator.WriteNewLine();
-
- base.GenerateCode(level, generator);
-
- generator.IndentLine(level);
- generator.OutputStream.Write("}");
- generator.WriteNewLine();
-
- foreach (ElseIf elif in this.elseIf)
- {
- elif.GenerateCode(level, generator);
- }
-
- if (this.else_.InnerElements.Count > 0)
- {
- generator.IndentLine(level);
- generator.OutputStream.Write("else");
- generator.WriteNewLine();
- generator.IndentLine(level);
- generator.OutputStream.Write("{");
- generator.WriteNewLine();
-
- this.else_.GenerateCode(level, generator);
-
- generator.IndentLine(level);
- generator.OutputStream.Write("}");
- generator.WriteNewLine();
- }
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_If.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_If.cs
deleted file mode 100644
index 55682155..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_If.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-
-namespace CCodeGeneration
-{
- public class PP_If: CodeContainerBase
- {
- public string Condition { get; set; }
-
- public PP_If()
- {
- base.IncreaseLevel = false;
- }
-
- public PP_If(string condition)
- : this()
- {
- this.Condition = condition;
- }
-
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.Condition))
- {
- generator.OutputStream.Write("#if " + this.Condition);
- generator.WriteNewLine();
-
- base.GenerateCode(level, generator);
-
- generator.OutputStream.Write("#endif /* " + this.Condition + " */");
- generator.WriteNewLine();
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Ifdef.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Ifdef.cs
deleted file mode 100644
index fd4f45af..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Ifdef.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-
-namespace CCodeGeneration
-{
- public class PP_Ifdef: CodeContainerBase
- {
- public string Macro { get; set; }
- public bool Inverted { get; set; }
-
- public PP_Ifdef()
- {
- base.IncreaseLevel = false;
- }
-
- public PP_Ifdef(string macro, bool inverted = false)
- : this()
- {
- this.Macro = macro;
- this.Inverted = inverted;
- }
-
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.Macro))
- {
- if (this.Inverted)
- {
- generator.OutputStream.Write("#ifndef " + this.Macro);
- }
- else
- {
- generator.OutputStream.Write("#ifdef " + this.Macro);
- }
- generator.WriteNewLine();
-
- base.GenerateCode(level, generator);
-
- generator.OutputStream.Write("#endif /* " + this.Macro + " */");
- generator.WriteNewLine();
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Include.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Include.cs
deleted file mode 100644
index 0393d271..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Include.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-
-namespace CCodeGeneration
-{
- public class PP_Include : CodeElement
- {
- public string File { get; set; }
- public bool IsLocal { get; set; }
-
- public PP_Include()
- {
- this.IsLocal = true;
- }
-
- public PP_Include(string file, bool isLocal = true)
- {
- this.File = file;
- this.IsLocal = isLocal;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.File))
- {
- // includes are never indented
- if (this.IsLocal)
- {
- generator.OutputStream.Write("#include \"" + this.File + "\"");
- }
- else
- {
- generator.OutputStream.Write("#include <" + this.File + ">");
- }
-
- generator.WriteNewLine();
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Macro.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Macro.cs
deleted file mode 100644
index 6f302aa9..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PP_Macro.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-namespace CCodeGeneration
-{
- public class PP_Macro: CodeElement
- {
- public string Name { get; set; }
- public string Value { get; set; }
-
- public PP_Macro()
- {
- }
-
- public PP_Macro(string name, string value)
- {
- this.Name = name;
- this.Value = value;
- }
-
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- // macros are not indented at all
- generator.OutputStream.Write("#define " + this.Name + " ");
- generator.WriteMultilineString(this.Value);
- generator.WriteNewLine();
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PlainText.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PlainText.cs
deleted file mode 100644
index d5e076fe..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/PlainText.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-namespace CCodeGeneration
-{
- public class PlainText : CodeElement
- {
- public string Value { get; set; }
-
- public PlainText(string value)
- {
- this.Value = value;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- generator.WriteMultilineString(this.Value);
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Properties/AssemblyInfo.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Properties/AssemblyInfo.cs
deleted file mode 100644
index 4c716ad3..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// Allgemeine Informationen über eine Assembly werden über die folgenden
-// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
-// die mit einer Assembly verknüpft sind.
-[assembly: AssemblyTitle("CCodeGeneration")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("CCodeGeneration")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
-// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
-// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
-[assembly: ComVisible(false)]
-
-// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
-[assembly: Guid("8f07a0fa-86f4-48a0-97c7-f94fc5c3f103")]
-
-// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
-//
-// Hauptversion
-// Nebenversion
-// Buildnummer
-// Revision
-//
-// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
-// übernehmen, indem Sie "*" eingeben:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Switch.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Switch.cs
deleted file mode 100644
index 9166fb89..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/Switch.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace CCodeGeneration
-{
- public class SwitchCase : CodeContainerBase
- {
- public string Value { get; set; }
-
- public SwitchCase()
- {
- }
-
- public SwitchCase(string value)
- {
- this.Value = value;
- }
-
- public bool IsDefault
- {
- get { return (this.Value.ToLowerInvariant() == "default"); }
- }
-
- public static SwitchCase GenerateDefault()
- {
- return new SwitchCase("default");
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.Value))
- {
- generator.IndentLine(level);
- if (this.IsDefault)
- {
- generator.OutputStream.Write("default:");
- }
- else
- {
- generator.OutputStream.Write(String.Format("case {0}:", this.Value));
- }
- generator.WriteNewLine();
- generator.IndentLine(level + 1);
- generator.OutputStream.Write("{");
- generator.WriteNewLine();
-
- base.GenerateCode(level + 1, generator);
-
- generator.IndentLine(level + 1);
- generator.OutputStream.Write("}");
- generator.WriteNewLine();
-
- generator.IndentLine(level + 1);
- generator.OutputStream.Write("break;");
- generator.WriteNewLine();
- }
- }
- }
-
- public class Switch: CodeElement
- {
- public string SwitchVar { get; set; }
-
- private List switches = new List();
-
- public Switch()
- {
- }
-
- public Switch(string switchVar)
- {
- this.SwitchVar = switchVar;
- }
-
- public List Switches
- {
- get { return this.switches; }
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.SwitchVar))
- {
- generator.IndentLine(level);
- generator.OutputStream.Write(String.Format("switch ({0})", this.SwitchVar));
- generator.WriteNewLine();
- generator.IndentLine(level);
- generator.OutputStream.Write("{");
- generator.WriteNewLine();
-
- SwitchCase defaultCase = null; // generate 'default' always as last case
- foreach (SwitchCase switchCase in this.switches)
- {
- if (switchCase.IsDefault)
- {
- defaultCase = switchCase;
- }
- else
- {
- switchCase.GenerateCode(level + 1, generator);
- }
- }
- if (defaultCase != null)
- {
- defaultCase.GenerateCode(level + 1, generator);
- }
-
- generator.IndentLine(level);
- generator.OutputStream.Write("}");
- generator.WriteNewLine();
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariableDeclaration.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariableDeclaration.cs
deleted file mode 100644
index bf2c9026..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariableDeclaration.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-
-namespace CCodeGeneration
-{
- public class VariableDeclaration : CodeElement
- {
- public VariableType Type { get; set; }
- public string InitialValue { get; set; }
- public bool IsStatic { get; set; }
-
- public VariableDeclaration()
- : base()
- {
- }
-
- public VariableDeclaration(VariableType type, string initialValue = null, bool isStatic = false) :
- base()
- {
- this.Type = type;
- this.InitialValue = initialValue;
- this.IsStatic = isStatic;
- }
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (this.Type != null)
- {
- generator.IndentLine(level);
-
- if (this.IsStatic)
- {
- generator.OutputStream.Write("static ");
- }
-
- // declare the variable
- this.Type.GenerateCode(generator);
-
- if (!String.IsNullOrWhiteSpace(this.InitialValue))
- {
- // add initialization value
- generator.OutputStream.Write(" = ");
- generator.WriteMultilineString(this.InitialValue, level);
- }
-
- generator.OutputStream.Write(";");
- generator.WriteNewLine();
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariablePrototype.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariablePrototype.cs
deleted file mode 100644
index 38a41663..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariablePrototype.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-namespace CCodeGeneration
-{
- public class VariablePrototype : CodeElement
- {
- public VariableType Type { get; set; }
-
- public VariablePrototype()
- : base()
- {
- }
-
- public VariablePrototype(VariableType type) :
- base()
- {
- Type = type;
- }
-
- public static VariablePrototype FromVariableDeclaration(VariableDeclaration declaration)
- {
- return new VariablePrototype(declaration.Type);
- }
-
-
- public override void GenerateCode(int level, CGenerator generator)
- {
- if (this.Type != null)
- {
- generator.IndentLine(level);
-
- generator.OutputStream.Write("extern ");
-
- // declare the variable
- this.Type.GenerateCode(generator);
-
- generator.OutputStream.Write(";");
- generator.WriteNewLine();
- }
- }
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariableType.cs b/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariableType.cs
deleted file mode 100644
index 313abbee..00000000
--- a/src/apps/snmp/LwipMibCompiler/CCodeGeneration/VariableType.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text;
-
-namespace CCodeGeneration
-{
- public enum ConstType
- {
- None,
- Value,
- Indirection,
- Both
- }
-
- public class VariableType : ICloneable
- {
- public const string VoidString = "void";
- public static readonly VariableType Void = new VariableType(null, "void");
-
- public string Name { get; set; }
- public string Type { get; set; }
- public string Indirection { get; set; }
- public ConstType Const { get; set; }
- public string ArraySpecifier { get; set; }
-
- public VariableType()
- {
- }
-
- public VariableType(string name, string type, string indirection = null, ConstType const_ = ConstType.None, string arraySpecifier = null)
- {
- this.Name = name;
- this.Type = type;
- this.Indirection = indirection;
- this.Const = const_;
- this.ArraySpecifier = arraySpecifier;
- }
-
- public void GenerateCode(CGenerator generator)
- {
- if (!String.IsNullOrWhiteSpace(this.Type))
- {
- generator.OutputStream.Write(this.ToString().Trim());
- }
- }
-
- public override string ToString()
- {
- if (!String.IsNullOrWhiteSpace(this.Type))
- {
- StringBuilder vt = new StringBuilder();
-
- if ((this.Const == ConstType.Value) || (this.Const == ConstType.Both))
- {
- vt.Append("const ");
- }
-
- vt.Append(this.Type);
- vt.Append(" ");
-
- if (!String.IsNullOrWhiteSpace(this.Indirection))
- {
- vt.Append(this.Indirection);
- }
-
- if ((this.Const == ConstType.Indirection) || (this.Const == ConstType.Both))
- {
- vt.Append("const ");
- }
-
- if (!String.IsNullOrWhiteSpace(this.Name))
- {
- vt.Append(this.Name);
- }
-
- if (this.ArraySpecifier != null)
- {
- vt.Append("[");
- vt.Append(this.ArraySpecifier);
- vt.Append("]");
- }
-
- return vt.ToString().Trim();
- }
-
- return base.ToString();
- }
-
- #region ICloneable Member
-
- public object Clone()
- {
- // we only have value types as members -> simply use .net base function
- return this.MemberwiseClone();
- }
-
- #endregion
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler.sln b/src/apps/snmp/LwipMibCompiler/LwipMibCompiler.sln
deleted file mode 100644
index ee041413..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler.sln
+++ /dev/null
@@ -1,47 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LwipMibCompiler", "LwipMibCompiler\LwipMibCompiler.csproj", "{C25D5640-D999-49BD-82E0-A1975296A91E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LwipSnmpCodeGeneration", "LwipSnmpCodeGeneration\LwipSnmpCodeGeneration.csproj", "{AABCAB90-1540-45D4-A159-14831A54E9A3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CCodeGeneration", "CCodeGeneration\CCodeGeneration.csproj", "{7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpSnmpLib.Mib", "SharpSnmpLib\SharpSnmpLib.Mib.csproj", "{CBE20411-5DB7-487D-825D-7694267BB6F5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MibViewer", "MibViewer\MibViewer.csproj", "{86CC0B65-7985-4017-A252-0A7A18DCAEF3}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}.Release|Any CPU.Build.0 = Release|Any CPU
- {86CC0B65-7985-4017-A252-0A7A18DCAEF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {86CC0B65-7985-4017-A252-0A7A18DCAEF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {86CC0B65-7985-4017-A252-0A7A18DCAEF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {86CC0B65-7985-4017-A252-0A7A18DCAEF3}.Release|Any CPU.Build.0 = Release|Any CPU
- {AABCAB90-1540-45D4-A159-14831A54E9A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AABCAB90-1540-45D4-A159-14831A54E9A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AABCAB90-1540-45D4-A159-14831A54E9A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AABCAB90-1540-45D4-A159-14831A54E9A3}.Release|Any CPU.Build.0 = Release|Any CPU
- {C25D5640-D999-49BD-82E0-A1975296A91E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C25D5640-D999-49BD-82E0-A1975296A91E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C25D5640-D999-49BD-82E0-A1975296A91E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C25D5640-D999-49BD-82E0-A1975296A91E}.Release|Any CPU.Build.0 = Release|Any CPU
- {CBE20411-5DB7-487D-825D-7694267BB6F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CBE20411-5DB7-487D-825D-7694267BB6F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CBE20411-5DB7-487D-825D-7694267BB6F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CBE20411-5DB7-487D-825D-7694267BB6F5}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
- StartupItem = LwipMibCompiler\LwipMibCompiler.csproj
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/LwipMibCompiler.csproj b/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/LwipMibCompiler.csproj
deleted file mode 100644
index 694263aa..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/LwipMibCompiler.csproj
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {C25D5640-D999-49BD-82E0-A1975296A91E}
- Exe
- Properties
- LwipMibCompiler
- LwipMibCompiler
- v4.0
- 512
-
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- full
- AnyCPU
- prompt
- false
- false
- 4
- false
- false
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- AnyCPU
- prompt
- 4
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
- {7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}
- CCodeGeneration
-
-
- {AABCAB90-1540-45D4-A159-14831A54E9A3}
- LwipSnmpCodeGeneration
-
-
- {CBE20411-5DB7-487D-825D-7694267BB6F5}
- SharpSnmpLib.Mib
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/Program.cs b/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/Program.cs
deleted file mode 100644
index a00d74b1..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/Program.cs
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using CCodeGeneration;
-using Lextm.SharpSnmpLib.Mib;
-using Lextm.SharpSnmpLib.Mib.Elements.Entities;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-using LwipSnmpCodeGeneration;
-
-namespace LwipMibCompiler
-{
- class Program
- {
- private static readonly Regex _alphaNumericRegex = new Regex("[^a-zA-Z0-9]");
-
- static void Main(string[] args)
- {
- Console.WriteLine("lwIP MIB Compiler");
- Console.WriteLine("");
-
- // check args
- if ((args.Length < 2) || String.IsNullOrWhiteSpace(args[0]) || String.IsNullOrWhiteSpace(args[1]))
- {
- PrintUsage();
- return;
- }
-
- string mibFile = args[0];
- if (!File.Exists(mibFile))
- {
- Console.WriteLine(String.Format("Unable to find file '{0}'!", mibFile));
- }
-
- string destFile = args[1];
- string destHeaderFile;
-
- if (Directory.Exists(destFile))
- {
- // only directory passed -> create dest filename from mib filename
- string mibFileName = Path.GetFileNameWithoutExtension(mibFile).ToLowerInvariant();
- destFile = Path.Combine(destFile, mibFileName + ".c");
- }
-
- string destFileExt = Path.GetExtension(destFile);
- if (!String.IsNullOrEmpty(destFileExt))
- {
- destHeaderFile = destFile.Substring(0, destFile.Length - destFileExt.Length);
- }
- else
- {
- destHeaderFile = destFile;
- }
- destHeaderFile += ".h";
-
- for (int i=2; i [ ...]", appName));
- Console.WriteLine("");
- Console.WriteLine(" ");
- Console.WriteLine(" Path and filename of MIB file to convert.");
- Console.WriteLine("");
- Console.WriteLine(" ");
- Console.WriteLine(" Destination path and file. If a path is passed only, filename is auto");
- Console.WriteLine(" generated from MIB file name.");
- Console.WriteLine("");
- Console.WriteLine(" ");
- Console.WriteLine(" It's important to provide all referred MIB's in order to correctly ");
- Console.WriteLine(" resolve all used types.");
- Console.WriteLine("");
- }
-
-
- #region Generation of LWIP Object Tree
-
- private static void ProcessMibTreeNode(MibTreeNode mibTreeNode, SnmpTreeNode assignedSnmpNode)
- {
- foreach (MibTreeNode mtn in mibTreeNode.ChildNodes)
- {
- // in theory container nodes may also be scalars or tables at the same time (for now only process real containers)
- if (mtn.NodeType == MibTreeNodeType.Container)
- {
- SnmpTreeNode snmpTreeNode = GenerateSnmpTreeNode(mtn, assignedSnmpNode);
- assignedSnmpNode.ChildNodes.Add(snmpTreeNode);
-
- ProcessMibTreeNode(mtn, snmpTreeNode);
- }
- else if ((mtn.NodeType & MibTreeNodeType.Scalar) != 0)
- {
- SnmpScalarNode snmpScalarNode = GenerateSnmpScalarNode(mtn, assignedSnmpNode);
- if (snmpScalarNode != null)
- {
- assignedSnmpNode.ChildNodes.Add(snmpScalarNode);
- }
- }
- else if ((mtn.NodeType & MibTreeNodeType.Table) != 0)
- {
- SnmpTableNode snmpTableNode = GenerateSnmpTableNode(mtn, assignedSnmpNode);
- if (snmpTableNode != null)
- {
- assignedSnmpNode.ChildNodes.Add(snmpTableNode);
- }
- }
- }
- }
-
- private static SnmpTreeNode GenerateSnmpTreeNode(MibTreeNode mibTreeNode, SnmpTreeNode parentNode)
- {
- SnmpTreeNode result = new SnmpTreeNode(parentNode);
- result.Name = _alphaNumericRegex.Replace (mibTreeNode.Entity.Name, "");
- result.Oid = mibTreeNode.Entity.Value;
- result.FullOid = MibTypesResolver.ResolveOid(mibTreeNode.Entity).GetOidString();
-
- return result;
- }
-
- private static SnmpScalarNode GenerateSnmpScalarNode(MibTreeNode mibTreeNode, SnmpTreeNode parentNode, bool ignoreAccessibleFlag = false)
- {
- ObjectType ote = mibTreeNode.Entity as ObjectType;
- if (ote != null)
- {
- return GenerateSnmpScalarNode(ote, parentNode, ignoreAccessibleFlag);
- }
-
- return null;
- }
-
- private static SnmpScalarNode GenerateSnmpScalarNode(ObjectType ote, SnmpTreeNode parentNode, bool ignoreAccessibleFlag = false)
- {
- SnmpScalarNode result;
-
- ITypeAssignment mibType = ote.BaseType;
- IntegerType it = (mibType as IntegerType);
- if (it != null)
- {
- if (ote.ReferredType.Name == Symbol.TruthValue.ToString())
- {
- result = new SnmpScalarNodeTruthValue(parentNode);
- }
- else if ((it.Type == IntegerType.Types.Integer) || (it.Type == IntegerType.Types.Integer32))
- {
- result = new SnmpScalarNodeInt(parentNode);
- }
- else
- {
- Console.WriteLine(String.Format("Unsupported IntegerType '{0}'!", it.Type));
- return null;
- }
- if (it.IsEnumeration)
- {
- result.Restrictions.AddRange(CreateRestrictions(it.Enumeration));
- }
- else
- {
- result.Restrictions.AddRange(CreateRestrictions(it.Ranges));
- }
- }
- else
- {
- UnsignedType ut = (mibType as UnsignedType);
- if (ut != null)
- {
- if ((ut.Type == UnsignedType.Types.Unsigned32) ||
- (ut.Type == UnsignedType.Types.Gauge32))
- {
- result = new SnmpScalarNodeUint(SnmpDataType.Gauge, parentNode);
- }
- else if (ut.Type == UnsignedType.Types.Counter32)
- {
- result = new SnmpScalarNodeUint(SnmpDataType.Counter, parentNode);
- }
- else if (ut.Type == UnsignedType.Types.TimeTicks)
- {
- result = new SnmpScalarNodeUint(SnmpDataType.TimeTicks, parentNode);
- }
- else if (ut.Type == UnsignedType.Types.Counter64)
- {
- result = new SnmpScalarNodeCounter64(parentNode);
- if ((ut.Ranges != null) && (ut.Ranges.Count > 0))
- {
- Console.WriteLine(String.Format("Generation of ranges is not supported for Counter64 type!"));
- return null;
- }
- }
- else
- {
- Console.WriteLine(String.Format("Unsupported UnsignedType '{0}'!", ut.Type));
- return null;
- }
- result.Restrictions.AddRange(CreateRestrictions(ut.Ranges));
- }
- else if (mibType is IpAddressType)
- {
- result = new SnmpScalarNodeOctetString(SnmpDataType.IpAddress, parentNode);
- result.Restrictions.AddRange(CreateRestrictions((mibType as OctetStringType).Size));
- }
- else if (mibType is OpaqueType)
- {
- result = new SnmpScalarNodeOctetString(SnmpDataType.Opaque, parentNode);
- result.Restrictions.AddRange(CreateRestrictions((mibType as OctetStringType).Size));
- }
- else if (mibType is OctetStringType)
- {
- result = new SnmpScalarNodeOctetString(SnmpDataType.OctetString, parentNode);
- result.Restrictions.AddRange(CreateRestrictions((mibType as OctetStringType).Size));
- }
- else if (mibType is ObjectIdentifierType)
- {
- result = new SnmpScalarNodeObjectIdentifier(parentNode);
- }
- else if (mibType is BitsType)
- {
- result = new SnmpScalarNodeBits(parentNode, (uint)((mibType as BitsType).Map.GetHighestValue() + 1));
- result.Restrictions.AddRange(CreateRestrictions(mibType as BitsType));
- }
- else
- {
- TypeAssignment ta = mibType as TypeAssignment;
- if (ta != null)
- {
- Console.WriteLine(String.Format("Unsupported BaseType: Module='{0}', Name='{1}', Type='{2}'!", ta.Module.Name, ta.Name, ta.Type));
- }
- else
- {
- Console.WriteLine(String.Format("Unsupported BaseType: Module='{0}', Name='{1}'!", mibType.Module, mibType.Name));
- }
-
- return null;
- }
- }
-
- result.Name = _alphaNumericRegex.Replace(ote.Name, "");
- result.Oid = ote.Value;
-
- if (ote.Access == MaxAccess.readWrite)
- {
- result.AccessMode = SnmpAccessMode.ReadWrite;
- }
- else if (ote.Access == MaxAccess.readOnly)
- {
- result.AccessMode = SnmpAccessMode.ReadOnly;
- }
- else if (ote.Access == MaxAccess.readCreate)
- {
- result.AccessMode = SnmpAccessMode.ReadOnly;
- }
- else if (ignoreAccessibleFlag && (ote.Access == MaxAccess.notAccessible))
- {
- result.AccessMode = SnmpAccessMode.NotAccessible;
- }
- else
- {
- // not accessible or unsupported accress type
- return null;
- }
-
- return result;
- }
-
- private static IEnumerable CreateRestrictions(ValueRanges ranges)
- {
- List result = new List();
-
- if (ranges != null)
- {
- foreach (ValueRange range in ranges)
- {
- if (!range.End.HasValue)
- {
- result.Add(new IsEqualRestriction(range.Start));
- }
- else
- {
- result.Add(new IsInRangeRestriction(range.Start, range.End.Value));
- }
- }
- }
-
- return result;
- }
-
- private static IEnumerable CreateRestrictions(ValueMap map)
- {
- if ((map != null) && (map.Count > 0))
- {
- return CreateRestrictions(map.GetContinousRanges());
- }
-
- return new List();
- }
-
- private static IEnumerable CreateRestrictions(BitsType bt)
- {
- List result = new List();
-
- if ((bt != null) && (bt.Map != null))
- {
- result.Add(new BitMaskRestriction(bt.Map.GetBitMask()));
- }
-
- return result;
- }
-
- private static SnmpTableNode GenerateSnmpTableNode(MibTreeNode mibTreeNode, SnmpTreeNode parentNode)
- {
- SnmpTableNode result = new SnmpTableNode(parentNode);
- result.Name = mibTreeNode.Entity.Name;
- result.Oid = mibTreeNode.Entity.Value;
-
- // expect exactly one row entry
- if ((mibTreeNode.ChildNodes.Count != 1) || ((mibTreeNode.ChildNodes[0].NodeType & MibTreeNodeType.TableRow) == 0) || (mibTreeNode.ChildNodes[0].Entity.Value != 1))
- {
- Console.WriteLine("Found table with unsupported properties! Table needs exactly one (fixed) TableRow with OID=1 ! (" + mibTreeNode.Entity.Name + ")");
- return null;
- }
-
- MibTreeNode rowNode = mibTreeNode.ChildNodes[0];
-
- ObjectType rot = rowNode.Entity as ObjectType;
- if (rot != null)
- {
- if (!String.IsNullOrWhiteSpace(rot.Augments))
- {
- result.AugmentedTableRow = rot.Augments;
-
- // the indeces from another table shall be used because this table is only an extension of it
- rot = MibTypesResolver.ResolveDeclaration(rot.Module, rot.Augments) as ObjectType;
- }
-
- if (rot.Indices != null)
- {
- foreach (string index in rot.Indices)
- {
- ObjectType indexEntity = MibTypesResolver.ResolveDeclaration(rot.Module, index) as ObjectType;
- if (indexEntity == null)
- {
- Console.WriteLine(String.Format("Could not resolve index '{0}' for table '{1}'! Table omitted!", index, result.Name));
- return null;
- }
-
- result.IndexNodes.Add(GenerateSnmpScalarNode(indexEntity, parentNode, ignoreAccessibleFlag: true));
- }
- }
- }
-
- if (result.IndexNodes.Count == 0)
- {
- // a table cannot be used without index
- Console.WriteLine("Found table without any index column ! (" + mibTreeNode.Entity.Name + ")");
- return null;
- }
-
- // add child nodes
- foreach (MibTreeNode cellNode in rowNode.ChildNodes)
- {
- SnmpScalarNode ssn = GenerateSnmpScalarNode(cellNode, parentNode);
- if (ssn != null)
- {
- result.CellNodes.Add(ssn);
- }
- }
-
- return result;
- }
-
- #endregion
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/Properties/AssemblyInfo.cs b/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/Properties/AssemblyInfo.cs
deleted file mode 100644
index d30b8425..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// Allgemeine Informationen über eine Assembly werden über die folgenden
-// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
-// die mit einer Assembly verknüpft sind.
-[assembly: AssemblyTitle("ConsoleApplication28")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ConsoleApplication28")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
-// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
-// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
-[assembly: ComVisible(false)]
-
-// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
-[assembly: Guid("0abf7541-6a96-43cd-9e24-462e074b2c96")]
-
-// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
-//
-// Hauptversion
-// Nebenversion
-// Buildnummer
-// Revision
-//
-// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
-// übernehmen, indem Sie "*" eingeben:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/app.config b/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/app.config
deleted file mode 100644
index e3656033..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipMibCompiler/app.config
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/IRestriction.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/IRestriction.cs
deleted file mode 100644
index ee2f4536..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/IRestriction.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-
-namespace LwipSnmpCodeGeneration
-{
- public interface IRestriction
- {
- string GetCheckCodeValid(string varNameToCheck);
- string GetCheckCodeInvalid(string varNameToCheck);
- }
-
- public class BitMaskRestriction : IRestriction
- {
- UInt32 mask;
-
- public BitMaskRestriction(UInt32 mask)
- {
- this.mask = mask;
- }
-
- public string GetCheckCodeValid(string varNameToCheck)
- {
- return String.Format("(({0} & {1}) == {0})", varNameToCheck, this.mask);
- }
-
- public string GetCheckCodeInvalid(string varNameToCheck)
- {
- return String.Format("(({0} & {1}) != {0})", varNameToCheck, this.mask);
- }
- }
-
- public class IsEqualRestriction : IRestriction
- {
- private Int64 value;
-
- public IsEqualRestriction(Int64 value)
- {
- this.value = value;
- }
-
- public long Value
- {
- get { return value; }
- }
-
- public string GetCheckCodeValid(string varNameToCheck)
- {
- return String.Format("({0} == {1})", varNameToCheck, this.value);
- }
-
- public string GetCheckCodeInvalid(string varNameToCheck)
- {
- return String.Format("({0} != {1})", varNameToCheck, this.value);
- }
- }
-
- public class IsInRangeRestriction : IRestriction
- {
- private Int64 rangeStart;
- private Int64 rangeEnd;
-
- public IsInRangeRestriction(Int64 rangeStart, Int64 rangeEnd)
- {
- this.rangeStart = rangeStart;
- this.rangeEnd = rangeEnd;
- }
-
- public long RangeStart
- {
- get { return this.rangeStart; }
- }
-
- public long RangeEnd
- {
- get { return this.rangeEnd; }
- }
-
- public string GetCheckCodeValid(string varNameToCheck)
- {
- return String.Format("(({0} >= {1}) && ({0} <= {2}))", varNameToCheck, this.rangeStart, this.rangeEnd);
- }
-
- public string GetCheckCodeInvalid(string varNameToCheck)
- {
- return String.Format("(({0} < {1}) || ({0} > {2}))", varNameToCheck, this.rangeStart, this.rangeEnd);
- }
- }
-
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/LwipSnmp.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/LwipSnmp.cs
deleted file mode 100644
index edac59e0..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/LwipSnmp.cs
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-
-namespace LwipSnmpCodeGeneration
-{
- public static class LwipOpts
- {
- public static bool GenerateEmptyFolders = false;
- ///
- /// If a tree node only has scalar nodes as child nodes, it is replaced by
- /// a single scalar array node in order to save memory and have only one single get/test/set method for all scalars.
- ///
- public static bool GenerateScalarArrays = true;
- ///
- /// If a tree node has multiple scalars as subnodes as well as other treenodes it
- /// defines a single get/test/set method for all scalar child node.
- /// (without other treenodes as child it would have been converted to scalar array node).
- ///
- public static bool GenerateSingleAccessMethodsForTreeNodeScalars = GenerateScalarArrays;
- }
-
- public static class LwipDefs
- {
- public const string Null = "NULL";
- public const string Vt_U8 = "u8_t";
- public const string Vt_U16 = "u16_t";
- public const string Vt_U32 = "u32_t";
- public const string Vt_S8 = "s8_t";
- public const string Vt_S16 = "s16_t";
- public const string Vt_S32 = "s32_t";
- public const string Vt_Snmp_err = "snmp_err_t";
-
- public const string Incl_SnmpOpts = "lwip/apps/snmp_opts.h";
- public const string Opt_SnmpEnabled = "LWIP_SNMP";
-
- public const string Vt_StMib = "struct snmp_mib";
- public const string Vt_StObjectId = "struct snmp_obj_id";
- public const string Vt_StNode = "struct snmp_node";
- public const string Vt_StNodeInstance = "struct snmp_node_instance";
- public const string Vt_StTreeNode = "struct snmp_tree_node";
- public const string Vt_StScalarNode = "struct snmp_scalar_node";
- public const string Vt_StScalarArrayNode = "struct snmp_scalar_array_node";
- public const string Vt_StScalarArrayNodeDef = "struct snmp_scalar_array_node_def";
- public const string Vt_StTableNode = "struct snmp_table_node";
- public const string Vt_StTableColumnDef = "struct snmp_table_col_def";
- public const string Vt_StNextOidState = "struct snmp_next_oid_state";
-
- public const string Def_NodeAccessReadOnly = "SNMP_NODE_INSTANCE_READ_ONLY";
- public const string Def_NodeAccessReadWrite = "SNMP_NODE_INSTANCE_READ_WRITE";
- public const string Def_NodeAccessWriteOnly = "SNMP_NODE_INSTANCE_WRITE_ONLY";
- public const string Def_NodeAccessNotAccessible = "SNMP_NODE_INSTANCE_NOT_ACCESSIBLE";
-
- public const string Def_ErrorCode_Ok = "SNMP_ERR_NOERROR";
- public const string Def_ErrorCode_WrongValue = "SNMP_ERR_WRONGVALUE";
- public const string Def_ErrorCode_NoSuchInstance = "SNMP_ERR_NOSUCHINSTANCE";
-
- public const string FnctSuffix_GetValue = "_get_value";
- public const string FnctSuffix_SetTest = "_set_test";
- public const string FnctSuffix_SetValue = "_set_value";
- public const string FnctSuffix_GetInstance = "_get_instance";
- public const string FnctSuffix_GetNextInstance = "_get_next_instance";
-
- public const string FnctName_SetTest_Ok = "snmp_set_test_ok";
-
- public static string GetLwipDefForSnmpAccessMode(SnmpAccessMode am)
- {
- switch (am)
- {
- case SnmpAccessMode.ReadOnly: return Def_NodeAccessReadOnly;
- case SnmpAccessMode.ReadWrite: return Def_NodeAccessReadWrite;
- case SnmpAccessMode.NotAccessible: return Def_NodeAccessNotAccessible;
- case SnmpAccessMode.WriteOnly: return Def_NodeAccessWriteOnly;
- default: throw new NotSupportedException("Unknown SnmpAccessMode!");
- }
- }
-
- public static string GetAsn1DefForSnmpDataType(SnmpDataType dt)
- {
- switch (dt)
- {
- // primitive
- case SnmpDataType.Null:
- return "SNMP_ASN1_TYPE_NULL";
- case SnmpDataType.Bits:
- case SnmpDataType.OctetString:
- return "SNMP_ASN1_TYPE_OCTET_STRING";
- case SnmpDataType.ObjectIdentifier:
- return "SNMP_ASN1_TYPE_OBJECT_ID";
- case SnmpDataType.Integer:
- return "SNMP_ASN1_TYPE_INTEGER";
-
- // application
- case SnmpDataType.IpAddress:
- return "SNMP_ASN1_TYPE_IPADDR";
- case SnmpDataType.Counter:
- return "SNMP_ASN1_TYPE_COUNTER";
- case SnmpDataType.Gauge:
- return "SNMP_ASN1_TYPE_GAUGE";
- case SnmpDataType.TimeTicks:
- return "SNMP_ASN1_TYPE_TIMETICKS";
- case SnmpDataType.Opaque:
- return "SNMP_ASN1_TYPE_OPAQUE";
- case SnmpDataType.Counter64:
- return "SNMP_ASN1_TYPE_COUNTER64";
- default:
- throw new NotSupportedException("Unknown SnmpDataType!");
- }
- }
-
- public static string GetLengthForSnmpDataType(SnmpDataType dt)
- {
- switch (dt)
- {
- case SnmpDataType.Null:
- return "0";
-
- case SnmpDataType.Integer:
- case SnmpDataType.Counter:
- case SnmpDataType.IpAddress:
- case SnmpDataType.Gauge:
- case SnmpDataType.TimeTicks:
- return "4";
-
- case SnmpDataType.Counter64:
- return "8";
-
- case SnmpDataType.OctetString:
- case SnmpDataType.ObjectIdentifier:
- case SnmpDataType.Bits:
- case SnmpDataType.Opaque:
- return null;
-
- default:
- throw new NotSupportedException("Unknown SnmpDataType!");
- }
- }
- }
-
- public enum SnmpDataType
- {
- Null,
-
- Integer, // INTEGER, Integer32
-
- Counter, // Counter, Counter32
- Gauge, // Gauge, Gauge32, Unsigned32
- TimeTicks,
-
- Counter64,
-
- OctetString,
- Opaque,
- Bits,
-
- ObjectIdentifier,
-
- IpAddress,
- }
-
- public enum SnmpAccessMode
- {
- ReadOnly,
- ReadWrite,
- WriteOnly,
- NotAccessible
- }
-
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/LwipSnmpCodeGeneration.csproj b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/LwipSnmpCodeGeneration.csproj
deleted file mode 100644
index f4541c0c..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/LwipSnmpCodeGeneration.csproj
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {AABCAB90-1540-45D4-A159-14831A54E9A3}
- Library
- Properties
- LwipSnmpCodeGeneration
- LwipSnmpCodeGeneration
- v4.0
- 512
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {7DA7C0AB-0982-4BF5-9324-F59A7A08D65B}
- CCodeGeneration
-
-
-
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/MibCFile.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/MibCFile.cs
deleted file mode 100644
index c48ec29d..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/MibCFile.cs
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System.Collections.Generic;
-using CCodeGeneration;
-using System;
-using System.IO;
-
-namespace LwipSnmpCodeGeneration
-{
- public class MibCFile
- {
- #region Fields
-
- private const string PreservedSectionMarker = "LWIP MIB generator - preserved section begin";
- private const string PreservedSectionHeader =
- "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n" +
- PreservedSectionMarker + "\n" +
- "Code below is preserved on regeneration. Remove these comment lines to regenerate code.\n" +
- "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
-
- private readonly List includes = new List();
- private readonly List defines = new List();
- private readonly List declarations = new List();
- private readonly List implementation = new List();
- private readonly List preservedCode = new List();
-
- #endregion
-
- public MibCFile()
- {
- }
-
- #region Accessors
-
- public List Includes
- {
- get { return this.includes; }
- }
-
- public List Defines
- {
- get { return this.defines; }
- }
-
- public List Declarations
- {
- get { return this.declarations; }
- }
-
- public List Implementation
- {
- get { return this.implementation; }
- }
-
- public List PreservedCode
- {
- get { return this.preservedCode; }
- }
-
- #endregion
-
- #region Methods
-
- public void Save(CGenerator cGenerator)
- {
- CFile cFile = new CFile();
-
- cFile.AddElement(new Comment("Generated by LwipMibCompiler"));
- cFile.AddElement(EmptyLine.SingleLine);
-
- cFile.AddElement(new PP_Include(LwipDefs.Incl_SnmpOpts));
- CodeContainerBase e = cFile.AddElement(new PP_If(LwipDefs.Opt_SnmpEnabled)) as CodeContainerBase;
- e.AddElement(EmptyLine.SingleLine);
-
- // include header file
- string file = cGenerator.FileName;
- if (!String.IsNullOrWhiteSpace(file))
- {
- string ext = System.IO.Path.GetExtension(file);
-
- string headerFile = !String.IsNullOrEmpty(ext) ? file.Substring(0, file.Length - ext.Length) : file;
- headerFile += ".h";
-
- e.AddElement(new PP_Include(headerFile));
- }
-
- // include common snmp files
- e.AddElement(new PP_Include("lwip/apps/snmp.h"));
- e.AddElement(new PP_Include("lwip/apps/snmp_core.h"));
- e.AddElement(new PP_Include("lwip/apps/snmp_scalar.h"));
- e.AddElement(new PP_Include("lwip/apps/snmp_table.h"));
-
- if (this.includes.Count > 0)
- {
- e.AddElement(EmptyLine.SingleLine);
- e.AddElements(this.includes);
- }
-
- if (this.defines.Count > 0)
- {
- e.AddElement(EmptyLine.SingleLine);
- e.AddElements(this.defines);
- }
-
- if (this.declarations.Count > 0)
- {
- e.AddElement(EmptyLine.TwoLines);
- e.AddElements(this.declarations);
- }
-
- if (this.implementation.Count > 0)
- {
- e.AddElement(EmptyLine.TwoLines);
- e.AddElements(this.implementation);
- }
-
- if (this.preservedCode.Count > 0)
- {
- e.AddElement(EmptyLine.TwoLines);
- e.AddElement(new Comment(PreservedSectionHeader));
- e.AddElement(EmptyLine.SingleLine);
- e.AddElements(this.preservedCode);
- }
-
- cFile.Save(cGenerator);
- }
-
- public static string GetPreservedCode(string file)
- {
- if (File.Exists(file))
- {
- using (StreamReader fileStream = new StreamReader(file))
- {
- while (!fileStream.EndOfStream)
- {
- string line = fileStream.ReadLine();
- if (line == PreservedSectionMarker)
- {
- break;
- }
- }
-
- if (!fileStream.EndOfStream)
- {
- // skip the rest of the comment + spacer line
- fileStream.ReadLine(); // "Code below is preserved...
- fileStream.ReadLine(); // "+++++++++++++++++++++++...
- fileStream.ReadLine(); // */
- fileStream.ReadLine(); //
-
- string preservedCode = fileStream.ReadToEnd();
-
- int lastEndif = preservedCode.LastIndexOf("#endif", StringComparison.Ordinal);
- preservedCode = preservedCode.Remove(lastEndif);
-
- return preservedCode;
- }
- }
- }
-
- return null;
- }
-
- #endregion
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/MibHeaderFile.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/MibHeaderFile.cs
deleted file mode 100644
index 95f2a06c..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/MibHeaderFile.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class MibHeaderFile
- {
-
- #region Fields
-
- private readonly List defines = new List();
- private readonly List includes = new List();
- private readonly List functionDeclarations = new List();
- private readonly List variableDeclarations = new List();
-
- #endregion
-
- public MibHeaderFile()
- {
- }
-
- #region Accessors
-
- public List Defines
- {
- get { return this.defines; }
- }
-
- public List Includes
- {
- get { return this.includes; }
- }
-
- public List FunctionDeclarations
- {
- get { return this.functionDeclarations; }
- }
-
- public List VariableDeclarations
- {
- get { return this.variableDeclarations; }
- }
-
- #endregion
-
- #region Methods
-
- public void Save(CGenerator cGenerator)
- {
- CFile cFile = new CFile();
-
- cFile.AddElement(new Comment("Generated by LwipMibCompiler"));
- cFile.AddElement(EmptyLine.SingleLine);
-
- string headerDefine = cGenerator.FileName;
- headerDefine = new Regex("[^a-zA-Z0-9]").Replace(headerDefine, "_");
- headerDefine = headerDefine.ToUpperInvariant();
-
- CodeContainerBase e = cFile.AddElement(new PP_Ifdef(headerDefine, inverted: true)) as CodeContainerBase;
- e.AddElement(new PP_Macro(headerDefine, headerDefine));
- e.AddElement(EmptyLine.SingleLine);
-
- e.AddElement(new PP_Include(LwipDefs.Incl_SnmpOpts));
- e = e.AddElement(new PP_If(LwipDefs.Opt_SnmpEnabled)) as CodeContainerBase;
- e.AddElement(EmptyLine.SingleLine);
-
- CodeContainerBase cplusplusopen = e.AddElement(new PP_Ifdef("__cplusplus")) as CodeContainerBase;
- cplusplusopen.AddElement(new Code("extern \"C\" {"));
- e.AddElement(EmptyLine.SingleLine);
-
- if (this.includes.Count > 0)
- {
- e.AddElements(this.includes);
- e.AddElement(EmptyLine.SingleLine);
- }
-
- if (this.defines.Count > 0)
- {
- e.AddElements(this.defines);
- e.AddElement(EmptyLine.SingleLine);
- }
-
- e.AddElements(this.functionDeclarations, EmptyLine.SingleLine);
- e.AddElements(this.variableDeclarations, EmptyLine.SingleLine);
-
- e.AddElement(EmptyLine.SingleLine);
- CodeContainerBase cplusplusclose = e.AddElement(new PP_Ifdef("__cplusplus")) as CodeContainerBase;
- cplusplusclose.AddElement(new Code("}"));
-
- e.AddElement(EmptyLine.SingleLine);
- cFile.Save(cGenerator);
- }
-
- #endregion
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/Properties/AssemblyInfo.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/Properties/AssemblyInfo.cs
deleted file mode 100644
index e68b43d5..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// Allgemeine Informationen über eine Assembly werden über die folgenden
-// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
-// die mit einer Assembly verknüpft sind.
-[assembly: AssemblyTitle("LwipSnmpCodeGeneration")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("LwipSnmpCodeGeneration")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
-// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
-// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
-[assembly: ComVisible(false)]
-
-// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
-[assembly: Guid("8cfbbb8b-dfbb-4dd5-80c9-e07845dd58c9")]
-
-// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
-//
-// Hauptversion
-// Nebenversion
-// Buildnummer
-// Revision
-//
-// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
-// übernehmen, indem Sie "*" eingeben:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpMib.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpMib.cs
deleted file mode 100644
index 477a18b6..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpMib.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpMib : SnmpTreeNode
- {
- public uint[] BaseOid { get; set; }
-
- public SnmpMib()
- : base(null)
- {
- }
-
- public SnmpMib(uint[] baseOid)
- : base(null)
- {
- this.BaseOid = baseOid;
- }
-
- public override string FullNodeName
- {
- get { return this.Name.ToLowerInvariant() + "_root"; }
- }
-
- public override void GenerateCode(MibCFile mibFile)
- {
- base.GenerateCode(mibFile);
-
- System.Diagnostics.Debug.Assert((this.BaseOid != null) && (this.BaseOid.Length > 0));
-
- // create and add BaseOID declarations
- StringBuilder boidInitialization = new StringBuilder("{");
- foreach (uint t in this.BaseOid)
- {
- boidInitialization.Append(t);
- boidInitialization.Append(",");
- }
- boidInitialization.Length -= 1;
- boidInitialization.Append("}");
-
- VariableDeclaration boidDecl = new VariableDeclaration(
- new VariableType(this.Name.ToLowerInvariant() + "_base_oid", LwipDefs.Vt_U32, null, ConstType.Value, String.Empty),
- boidInitialization.ToString(), true);
-
- mibFile.Declarations.Add(boidDecl);
- mibFile.Declarations.Add(GetExportDeclaration());
- }
-
- public override void GenerateHeaderCode(MibHeaderFile mibHeaderFile)
- {
- mibHeaderFile.Includes.Add(new PP_Include("lwip/apps/snmp_core.h"));
-
- mibHeaderFile.VariableDeclarations.Add(VariablePrototype.FromVariableDeclaration(GetExportDeclaration()));
- }
-
- VariableDeclaration GetExportDeclaration()
- {
- return new VariableDeclaration(
- new VariableType(this.Name.ToLowerInvariant(), LwipDefs.Vt_StMib, null, ConstType.Value),
- String.Format("{{{0}_base_oid, LWIP_ARRAYSIZE({0}_base_oid), &{1}.node}}", this.Name.ToLowerInvariant(), this.FullNodeName));
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpNode.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpNode.cs
deleted file mode 100644
index fceb4d52..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpNode.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text.RegularExpressions;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public abstract class SnmpNode
- {
- public static readonly Regex NameValidationRegex = new Regex(@"^\w+$");
-
- private string name;
- private readonly SnmpTreeNode parentNode;
-
- protected SnmpNode(SnmpTreeNode parentNode)
- {
- this.parentNode = parentNode;
- }
-
- public SnmpTreeNode ParentNode
- {
- get { return this.parentNode; }
- }
-
- public virtual uint Oid { get; set; }
-
- public abstract string FullNodeName
- {
- get;
- }
-
- public virtual string Name
- {
- get { return this.name; }
- set
- {
- if (value != this.name)
- {
- // check for valid name
- if (!NameValidationRegex.IsMatch(value))
- {
- throw new ArgumentOutOfRangeException("Name");
- }
-
- this.name = value;
- }
- }
- }
-
- public virtual void Generate(MibCFile generatedFile, MibHeaderFile generatedHeaderFile)
- {
- int declCount = generatedFile.Declarations.Count;
- int implCount = generatedFile.Implementation.Count;
-
- this.GenerateHeaderCode(generatedHeaderFile);
- this.GenerateCode(generatedFile);
-
- if (generatedFile.Declarations.Count != declCount)
- {
- generatedFile.Declarations.Add(EmptyLine.SingleLine);
- }
- if (generatedFile.Implementation.Count != implCount)
- {
- generatedFile.Implementation.Add(EmptyLine.SingleLine);
- }
- }
-
- public abstract void GenerateCode(MibCFile mibFile);
-
- public virtual void GenerateHeaderCode(MibHeaderFile mibHeaderFile)
- {
- }
-
- ///
- /// Called after node structure creation is completed and before code is created.
- /// Offers the possibility to perform operations depending on properties/subnodes.
- /// If the node shall be transformed to another node(-type) than the own instance
- /// may be replaced on parent node by the transformed instance.
- /// Calling sequence is always from leafs up to root. So a tree node can assume
- /// that the analyze method was already called on all child nodes.
- /// E.g. a tree node only has scalar sub nodes -> it transforms itself to a scalar array node
- ///
- /// The transformed node or null if nothing shall be changed in parent structure.
- public virtual void Analyze()
- {
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarAggregationNode.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarAggregationNode.cs
deleted file mode 100644
index f5c558c5..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarAggregationNode.cs
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System.Collections.Generic;
-using System.Globalization;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public abstract class SnmpScalarAggregationNode: SnmpNode
- {
- private bool getMethodRequired = false;
- private bool testMethodRequired = false;
- private bool setMethodRequired = false;
-
- protected SnmpScalarAggregationNode(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- }
-
- protected virtual string GetMethodName
- {
- get { return this.FullNodeName + LwipDefs.FnctSuffix_GetValue; }
- }
-
- protected bool GetMethodRequired
- {
- get { return this.getMethodRequired; }
- }
-
- protected virtual string TestMethodName
- {
- get { return this.FullNodeName + LwipDefs.FnctSuffix_SetTest; }
- }
-
- protected bool TestMethodRequired
- {
- get { return this.testMethodRequired; }
- }
-
- protected virtual string SetMethodName
- {
- get { return this.FullNodeName + LwipDefs.FnctSuffix_SetValue; }
- }
-
- protected bool SetMethodRequired
- {
- get { return this.setMethodRequired; }
- }
-
- protected abstract IEnumerable AggregatedScalarNodes
- {
- get;
- }
-
- public override void Analyze()
- {
- base.Analyze();
-
- this.getMethodRequired = false;
- this.testMethodRequired = false;
- this.setMethodRequired = false;
-
- foreach (SnmpScalarNode scalarNode in this.AggregatedScalarNodes)
- {
- if ((scalarNode.AccessMode == SnmpAccessMode.ReadOnly) || (scalarNode.AccessMode == SnmpAccessMode.ReadWrite))
- {
- this.getMethodRequired = true;
- }
- if ((scalarNode.AccessMode == SnmpAccessMode.WriteOnly) || (scalarNode.AccessMode == SnmpAccessMode.ReadWrite))
- {
- this.testMethodRequired = true;
- this.setMethodRequired = true;
- }
-
- if (this.getMethodRequired && this.setMethodRequired)
- {
- break;
- }
- }
- }
-
- protected void GenerateAggregatedCode(MibCFile mibFile, VariableType instanceType, string switchSelector, bool generateDeclarations = true, bool generateImplementations = true)
- {
- if (this.getMethodRequired)
- {
- FunctionDeclaration getMethodDecl = new FunctionDeclaration(this.GetMethodName, isStatic: true);
- getMethodDecl.Parameter.Add(instanceType);
- getMethodDecl.Parameter.Add(new VariableType("value", VariableType.VoidString, "*"));
- getMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_S16);
-
- if (generateDeclarations)
- {
- mibFile.Declarations.Add(getMethodDecl);
- }
- if (generateImplementations)
- {
- Function getMethod = Function.FromDeclaration(getMethodDecl);
- GenerateGetMethodCode(getMethod, switchSelector);
- mibFile.Implementation.Add(getMethod);
- }
- }
-
- if (this.testMethodRequired)
- {
- FunctionDeclaration testMethodDecl = new FunctionDeclaration(this.TestMethodName, isStatic: true);
- testMethodDecl.Parameter.Add(instanceType);
- testMethodDecl.Parameter.Add(new VariableType("len", LwipDefs.Vt_U16));
- testMethodDecl.Parameter.Add(new VariableType("value", VariableType.VoidString, "*"));
- testMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_Snmp_err);
-
- if (generateDeclarations)
- {
- mibFile.Declarations.Add(testMethodDecl);
- }
- if (generateImplementations)
- {
- Function testMethod = Function.FromDeclaration(testMethodDecl);
- GenerateTestMethodCode(testMethod, switchSelector);
- mibFile.Implementation.Add(testMethod);
- }
- }
-
- if (this.setMethodRequired)
- {
- FunctionDeclaration setMethodDecl = new FunctionDeclaration(this.SetMethodName, isStatic: true);
- setMethodDecl.Parameter.Add(instanceType);
- setMethodDecl.Parameter.Add(new VariableType("len", LwipDefs.Vt_U16));
- setMethodDecl.Parameter.Add(new VariableType("value", VariableType.VoidString, "*"));
- setMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_Snmp_err);
-
- if (generateDeclarations)
- {
- mibFile.Declarations.Add(setMethodDecl);
- }
- if (generateImplementations)
- {
- Function setMethod = Function.FromDeclaration(setMethodDecl);
- GenerateSetMethodCode(setMethod, switchSelector);
- mibFile.Implementation.Add(setMethod);
- }
- }
- }
-
- protected virtual void GenerateGetMethodCode(Function getMethod, string switchSelector)
- {
- VariableDeclaration returnValue = new VariableDeclaration((VariableType)getMethod.ReturnType.Clone());
- returnValue.Type.Name = "value_len";
- getMethod.Declarations.Add(returnValue);
- Switch sw = new Switch(switchSelector);
-
- bool valueVarUsed = false;
-
- foreach (SnmpScalarNode scalarNode in this.AggregatedScalarNodes)
- {
- if ((scalarNode.AccessMode == SnmpAccessMode.ReadOnly) || (scalarNode.AccessMode == SnmpAccessMode.ReadWrite))
- {
- SwitchCase sc = new SwitchCase(scalarNode.Oid.ToString(CultureInfo.InvariantCulture));
- sc.Declarations.Add(new Comment(scalarNode.Name, singleLine: true));
-
- scalarNode.GenerateGetMethodCode(sc, getMethod.Parameter[1].Name, ref valueVarUsed, returnValue.Type.Name);
-
- sw.Switches.Add(sc);
- }
- }
-
- SwitchCase scd = SwitchCase.GenerateDefault();
- scd.AddCodeFormat("LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"{0}(): unknown id: %\"S32_F\"\\n\", {1}));", getMethod.Name, switchSelector);
- scd.AddCodeFormat("{0} = 0;", returnValue.Type.Name);
- sw.Switches.Add(scd);
-
- if (!valueVarUsed)
- {
- getMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", getMethod.Parameter[1].Name);
- }
-
- getMethod.AddElement(sw);
-
- getMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
- }
-
- protected virtual void GenerateTestMethodCode(Function testMethod, string switchSelector)
- {
- VariableDeclaration returnValue = new VariableDeclaration((VariableType)testMethod.ReturnType.Clone(), LwipDefs.Def_ErrorCode_WrongValue);
- returnValue.Type.Name = "err";
- testMethod.Declarations.Add(returnValue);
- Switch sw = new Switch(switchSelector);
-
- bool valueVarUsed = false;
- bool lenVarUsed = false;
-
- foreach (SnmpScalarNode scalarNode in this.AggregatedScalarNodes)
- {
- if ((scalarNode.AccessMode == SnmpAccessMode.WriteOnly) || (scalarNode.AccessMode == SnmpAccessMode.ReadWrite))
- {
- SwitchCase sc = new SwitchCase(scalarNode.Oid.ToString(CultureInfo.InvariantCulture));
- sc.Declarations.Add(new Comment(scalarNode.Name, singleLine: true));
-
- scalarNode.GenerateTestMethodCode(sc, testMethod.Parameter[2].Name, ref valueVarUsed, testMethod.Parameter[1].Name, ref lenVarUsed, returnValue.Type.Name);
-
- sw.Switches.Add(sc);
- }
- }
-
- SwitchCase scd = SwitchCase.GenerateDefault();
- scd.AddCodeFormat("LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"{0}(): unknown id: %\"S32_F\"\\n\", {1}));", testMethod.Name, switchSelector);
- sw.Switches.Add(scd);
-
- if (!valueVarUsed)
- {
- testMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", testMethod.Parameter[2].Name);
- }
- if (!lenVarUsed)
- {
- testMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", testMethod.Parameter[1].Name);
- }
-
- testMethod.AddElement(sw);
-
- testMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
- }
-
- protected virtual void GenerateSetMethodCode(Function setMethod, string switchSelector)
- {
- VariableDeclaration returnValue = new VariableDeclaration((VariableType)setMethod.ReturnType.Clone(), LwipDefs.Def_ErrorCode_Ok);
- returnValue.Type.Name = "err";
- setMethod.Declarations.Add(returnValue);
- Switch sw = new Switch(switchSelector);
-
- bool valueVarUsed = false;
- bool lenVarUsed = false;
-
- foreach (SnmpScalarNode scalarNode in this.AggregatedScalarNodes)
- {
- if ((scalarNode.AccessMode == SnmpAccessMode.WriteOnly) || (scalarNode.AccessMode == SnmpAccessMode.ReadWrite))
- {
- SwitchCase sc = new SwitchCase(scalarNode.Oid.ToString(CultureInfo.InvariantCulture));
- sc.Declarations.Add(new Comment(scalarNode.Name, singleLine: true));
-
- scalarNode.GenerateSetMethodCode(sc, setMethod.Parameter[2].Name, ref valueVarUsed, setMethod.Parameter[1].Name, ref lenVarUsed, returnValue.Type.Name);
-
- sw.Switches.Add(sc);
- }
- }
-
- SwitchCase scd = SwitchCase.GenerateDefault();
- scd.AddCodeFormat("LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"{0}(): unknown id: %\"S32_F\"\\n\", {1}));", setMethod.Name, switchSelector);
- sw.Switches.Add(scd);
-
- if (!valueVarUsed)
- {
- setMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", setMethod.Parameter[2].Name);
- }
- if (!lenVarUsed)
- {
- setMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", setMethod.Parameter[1].Name);
- }
-
- setMethod.AddElement(sw);
-
- setMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarArrayNode.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarArrayNode.cs
deleted file mode 100644
index 086fbb9f..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarArrayNode.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarArrayNode : SnmpScalarAggregationNode
- {
- private readonly List scalarNodes;
-
- public SnmpScalarArrayNode(List scalarNodes, SnmpTreeNode parentNode)
- : base(parentNode)
- {
- this.scalarNodes = scalarNodes;
- }
-
- public override string FullNodeName
- {
- get { return this.Name.ToLowerInvariant() + "_scalars"; }
- }
-
- protected override IEnumerable AggregatedScalarNodes
- {
- get { return this.scalarNodes; }
- }
-
- public override void GenerateCode(MibCFile mibFile)
- {
- VariableType instanceType = new VariableType("node", LwipDefs.Vt_StScalarArrayNodeDef, "*", ConstType.Value);
- GenerateAggregatedCode(
- mibFile,
- instanceType,
- instanceType.Name + "->oid");
-
-
- // create and add node definitions
- StringBuilder nodeDefs = new StringBuilder();
- foreach (SnmpScalarNode scalarNode in this.scalarNodes)
- {
- nodeDefs.AppendFormat(" {{{0}, {1}, {2}}}, /* {3} */ \n",
- scalarNode.Oid,
- LwipDefs.GetAsn1DefForSnmpDataType(scalarNode.DataType),
- LwipDefs.GetLwipDefForSnmpAccessMode(scalarNode.AccessMode),
- scalarNode.Name);
- }
- if (nodeDefs.Length > 0)
- nodeDefs.Length--;
-
- VariableDeclaration nodeDefsDecl = new VariableDeclaration(
- new VariableType(this.FullNodeName + "_nodes", LwipDefs.Vt_StScalarArrayNodeDef, null, ConstType.Value, String.Empty),
- "{\n" + nodeDefs + "\n}" ,
- isStatic: true);
-
- mibFile.Declarations.Add(nodeDefsDecl);
-
-
- // create and add node declaration
- string nodeInitialization = String.Format("SNMP_SCALAR_CREATE_ARRAY_NODE({0}, {1}, {2}, {3}, {4})",
- this.Oid,
- nodeDefsDecl.Type.Name,
- (this.GetMethodRequired) ? this.GetMethodName : LwipDefs.Null,
- (this.TestMethodRequired) ? this.TestMethodName : LwipDefs.Null,
- (this.SetMethodRequired) ? this.SetMethodName : LwipDefs.Null
- );
-
- mibFile.Declarations.Add(new VariableDeclaration(
- new VariableType(this.FullNodeName, LwipDefs.Vt_StScalarArrayNode, null, ConstType.Value),
- nodeInitialization,
- isStatic: true));
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNode.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNode.cs
deleted file mode 100644
index b9b2ea81..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNode.cs
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNode: SnmpNode
- {
- protected const string LocalValueName = "v"; // name of (casted) local value variable
-
- private SnmpDataType dataType;
- private SnmpAccessMode accessMode;
- private readonly List restrictions = new List();
-
- private bool useExternalMethods = false;
- private string externalGetMethod;
- private string externalTestMethod;
- private string externalSetMethod;
-
-
- public SnmpScalarNode(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- }
-
- public override string FullNodeName
- {
- get { return this.Name.ToLowerInvariant() + "_scalar"; }
- }
-
- public SnmpDataType DataType
- {
- get { return this.dataType; }
- set { this.dataType = value; }
- }
-
- public List Restrictions
- {
- get { return this.restrictions; }
- }
-
- public SnmpAccessMode AccessMode
- {
- get { return this.accessMode; }
- set { this.accessMode = value; }
- }
-
- public virtual string FixedValueLength
- {
- get { return null; }
- }
-
- ///
- /// If scalar is used as a table index its value becomes part of the OID. This value returns how many OID parts are required to represent this value.
- ///
- public virtual int OidRepresentationLen
- {
- get { return -1; }
- }
-
- public bool UseExternalMethods
- {
- get { return this.useExternalMethods; }
- set { this.useExternalMethods = value; }
- }
-
- public string ExternalGetMethod
- {
- get { return this.externalGetMethod; }
- set { this.externalGetMethod = value; }
- }
- public string ExternalTestMethod
- {
- get { return this.externalTestMethod; }
- set { this.externalTestMethod = value; }
- }
- public string ExternalSetMethod
- {
- get { return this.externalSetMethod; }
- set { this.externalSetMethod = value; }
- }
-
- public override void GenerateCode(MibCFile mibFile)
- {
- string getMethodName;
- string testMethodName;
- string setMethodName;
-
- if (this.useExternalMethods)
- {
- getMethodName = this.externalGetMethod;
- testMethodName = this.externalTestMethod;
- setMethodName = this.externalSetMethod;
- }
- else
- {
- getMethodName = LwipDefs.Null;
- testMethodName = LwipDefs.Null;
- setMethodName = LwipDefs.Null;
-
- if ((this.accessMode == SnmpAccessMode.ReadWrite) || (this.accessMode == SnmpAccessMode.ReadOnly))
- {
- FunctionDeclaration getMethodDecl = new FunctionDeclaration(this.Name + LwipDefs.FnctSuffix_GetValue, isStatic: true);
- getMethodDecl.Parameter.Add(new VariableType("instance", LwipDefs.Vt_StNodeInstance, "*"));
- getMethodDecl.Parameter.Add(new VariableType("value", VariableType.VoidString, "*"));
- getMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_S16);
- mibFile.Declarations.Add(getMethodDecl);
-
- Function getMethod = Function.FromDeclaration(getMethodDecl);
- getMethodName = getMethod.Name;
-
- VariableDeclaration returnValue = new VariableDeclaration((VariableType)getMethod.ReturnType.Clone());
- returnValue.Type.Name = "value_len";
- getMethod.Declarations.Add(returnValue);
- getMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", getMethod.Parameter[0].Name);
-
- bool valueVarUsed = false;
- GenerateGetMethodCode(getMethod, getMethod.Parameter[1].Name, ref valueVarUsed, returnValue.Type.Name);
- if (!valueVarUsed)
- {
- getMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", getMethod.Parameter[1].Name);
- }
-
- getMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
-
- mibFile.Implementation.Add(getMethod);
- }
-
- if ((this.accessMode == SnmpAccessMode.ReadWrite) || (this.accessMode == SnmpAccessMode.WriteOnly))
- {
- bool valueVarUsed;
- bool lenVarUsed;
- VariableDeclaration returnValue;
-
- if (this.restrictions.Count > 0)
- {
- FunctionDeclaration testMethodDecl = new FunctionDeclaration(this.Name + LwipDefs.FnctSuffix_SetTest, isStatic: true);
- testMethodDecl.Parameter.Add(new VariableType("instance", LwipDefs.Vt_StNodeInstance, "*"));
- testMethodDecl.Parameter.Add(new VariableType("len", LwipDefs.Vt_U16));
- testMethodDecl.Parameter.Add(new VariableType("value", VariableType.VoidString, "*"));
- testMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_Snmp_err);
- mibFile.Declarations.Add(testMethodDecl);
-
- Function testMethod = Function.FromDeclaration(testMethodDecl);
- testMethodName = testMethod.Name;
-
- returnValue = new VariableDeclaration((VariableType)testMethod.ReturnType.Clone(), LwipDefs.Def_ErrorCode_WrongValue);
- returnValue.Type.Name = "err";
- testMethod.Declarations.Add(returnValue);
- testMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", testMethod.Parameter[0].Name);
-
- valueVarUsed = false;
- lenVarUsed = false;
-
- GenerateTestMethodCode(testMethod, testMethod.Parameter[2].Name, ref valueVarUsed, testMethod.Parameter[1].Name, ref lenVarUsed, returnValue.Type.Name);
-
- if (!valueVarUsed)
- {
- testMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", testMethod.Parameter[2].Name);
- }
- if (!lenVarUsed)
- {
- testMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", testMethod.Parameter[1].Name);
- }
-
- testMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
-
- mibFile.Implementation.Add(testMethod);
-
- }
- else
- {
- testMethodName = LwipDefs.FnctName_SetTest_Ok;
- }
-
- FunctionDeclaration setMethodDecl = null;
- setMethodDecl = new FunctionDeclaration(this.Name + LwipDefs.FnctSuffix_SetValue, isStatic: true);
- setMethodDecl.Parameter.Add(new VariableType("instance", LwipDefs.Vt_StNodeInstance, "*"));
- setMethodDecl.Parameter.Add(new VariableType("len", LwipDefs.Vt_U16));
- setMethodDecl.Parameter.Add(new VariableType("value", VariableType.VoidString, "*"));
- setMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_Snmp_err);
- mibFile.Declarations.Add(setMethodDecl);
-
- Function setMethod = Function.FromDeclaration(setMethodDecl);
- setMethodName = setMethod.Name;
-
- returnValue = new VariableDeclaration((VariableType)setMethod.ReturnType.Clone(), LwipDefs.Def_ErrorCode_Ok);
- returnValue.Type.Name = "err";
- setMethod.Declarations.Add(returnValue);
- setMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", setMethod.Parameter[0].Name);
-
- valueVarUsed = false;
- lenVarUsed = false;
-
- GenerateSetMethodCode(setMethod, setMethod.Parameter[2].Name, ref valueVarUsed, setMethod.Parameter[1].Name, ref lenVarUsed, returnValue.Type.Name);
-
- if (!valueVarUsed)
- {
- setMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", setMethod.Parameter[2].Name);
- }
- if (!lenVarUsed)
- {
- setMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", setMethod.Parameter[1].Name);
- }
-
- setMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
-
- mibFile.Implementation.Add(setMethod);
- }
- }
-
- // create and add node declaration
- string nodeInitialization;
- if (this.accessMode == SnmpAccessMode.ReadOnly)
- {
- nodeInitialization = String.Format("SNMP_SCALAR_CREATE_NODE_READONLY({0}, {1}, {2})",
- this.Oid,
- LwipDefs.GetAsn1DefForSnmpDataType(this.dataType),
- getMethodName);
- }
- else
- {
- nodeInitialization = String.Format("SNMP_SCALAR_CREATE_NODE({0}, {1}, {2}, {3}, {4}, {5})",
- this.Oid,
- LwipDefs.GetLwipDefForSnmpAccessMode(this.accessMode),
- LwipDefs.GetAsn1DefForSnmpDataType(this.dataType),
- getMethodName,
- testMethodName,
- setMethodName);
- }
-
- mibFile.Declarations.Add(new VariableDeclaration(
- new VariableType(this.FullNodeName, LwipDefs.Vt_StScalarNode, null, ConstType.Value),
- nodeInitialization, isStatic: true));
- }
-
- public virtual void GenerateGetMethodCode(CodeContainerBase container, string valueVarName, ref bool valueVarUsed, string retLenVarName)
- {
- bool localValueVarUsed;
- if (GenerateValueDeclaration(container, LocalValueName, valueVarName))
- {
- valueVarUsed = true;
- localValueVarUsed = false;
- }
- else
- {
- localValueVarUsed = true; // do not generate UNUSED_ARG code
- }
-
- if (this.FixedValueLength == null)
- {
- // check that value with variable length fits into buffer
- container.AddElement(new Comment(String.Format("TODO: take care that value with variable length fits into buffer: ({0} <= SNMP_MAX_VALUE_SIZE)", retLenVarName), singleLine: true));
- }
-
- GenerateGetMethodCodeCore(container, LocalValueName, ref localValueVarUsed, retLenVarName);
- if (!localValueVarUsed)
- {
- container.AddCode(String.Format("LWIP_UNUSED_ARG({0});", LocalValueName));
- }
- }
-
- protected virtual void GenerateGetMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string retLenVarName)
- {
- container.AddElement(new Comment(String.Format("TODO: put requested value to '*{0}' here", localValueVarName), singleLine: true));
- container.AddCodeFormat("{0} = {1};",
- retLenVarName,
- (!String.IsNullOrWhiteSpace(this.FixedValueLength)) ? this.FixedValueLength : "0");
- }
-
- public virtual void GenerateTestMethodCode(CodeContainerBase container, string valueVarName, ref bool valueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- if (this.Restrictions.Count > 0)
- {
- bool localVarUsed;
- if (GenerateValueDeclaration(container, LocalValueName, valueVarName))
- {
- valueVarUsed = true;
- localVarUsed = false;
- }
- else
- {
- localVarUsed = true; // do not generate UNUSED_ARG code
- }
-
- if (!String.IsNullOrWhiteSpace(this.FixedValueLength))
- {
- // check for fixed value
- container.AddCodeFormat("LWIP_ASSERT(\"Invalid length for datatype\", ({0} == {1}));", lenVarName, this.FixedValueLength);
- lenVarUsed = true;
- }
-
- GenerateTestMethodCodeCore(container, LocalValueName, ref localVarUsed, lenVarName, ref lenVarUsed, retErrVarName);
-
- if (!localVarUsed)
- {
- container.AddCode(String.Format("LWIP_UNUSED_ARG({0});", LocalValueName));
- }
- }
- else
- {
- container.AddCodeFormat("{0} == {1};", retErrVarName, LwipDefs.Def_ErrorCode_Ok);
- }
- }
-
- protected virtual void GenerateTestMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- container.AddElement(new Comment(String.Format("TODO: test new value here:\nif (*{0} == ) {1} = {2};", localValueVarName, retErrVarName, LwipDefs.Def_ErrorCode_Ok)));
- }
-
- public virtual void GenerateSetMethodCode(CodeContainerBase container, string valueVarName, ref bool valueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- bool localVarUsed;
- if (GenerateValueDeclaration(container, LocalValueName, valueVarName))
- {
- valueVarUsed = true;
- localVarUsed = false;
- }
- else
- {
- localVarUsed = true; // do not generate UNUSED_ARG code
- }
-
- GenerateSetMethodCodeCore(container, LocalValueName, ref localVarUsed, lenVarName, ref lenVarUsed, retErrVarName);
-
- if (!localVarUsed)
- {
- container.AddCode(String.Format("LWIP_UNUSED_ARG({0});", LocalValueName));
- }
- }
-
- protected virtual void GenerateSetMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- container.AddElement(new Comment(String.Format("TODO: store new value contained in '*{0}' here", localValueVarName), singleLine: true));
- }
-
-
- protected virtual bool GenerateValueDeclaration(CodeContainerBase container, string variableName, string sourceName)
- {
- container.AddDeclaration(new VariableDeclaration(
- new VariableType(variableName, LwipDefs.Vt_U8, "*"),
- "(" + new VariableType(null, LwipDefs.Vt_U8, "*") + ")" + sourceName));
-
- return true;
- }
-
- public static SnmpScalarNode CreateFromDatatype(SnmpDataType dataType, SnmpTreeNode parentNode)
- {
- switch (dataType)
- {
- case SnmpDataType.Integer:
- return new SnmpScalarNodeInt(parentNode);
-
- case SnmpDataType.Gauge:
- case SnmpDataType.Counter:
- case SnmpDataType.TimeTicks:
- return new SnmpScalarNodeUint(dataType, parentNode);
- }
-
- return new SnmpScalarNode(parentNode);
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeBits.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeBits.cs
deleted file mode 100644
index 906a5a6c..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeBits.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNodeBits : SnmpScalarNode
- {
- private readonly uint bitCount;
-
- public SnmpScalarNodeBits(SnmpTreeNode parentNode, uint bitCount)
- : base(parentNode)
- {
- this.DataType = SnmpDataType.Bits;
- this.bitCount = bitCount;
- }
-
- public override void GenerateGetMethodCode(CodeContainerBase container, string valueVarName, ref bool valueVarUsed, string retLenVarName)
- {
- container.AddCode(String.Format(
- "{0} = snmp_encode_bits(({1} *){2}, SNMP_MAX_VALUE_SIZE, 0 /* TODO: pass real value here */, {3});",
- retLenVarName,
- LwipDefs.Vt_U8,
- valueVarName,
- this.bitCount));
-
- valueVarUsed = true;
- }
-
- public override void GenerateTestMethodCode(CodeContainerBase container, string valueVarName, ref bool valueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- if (this.Restrictions.Count > 0)
- {
- const string bitVarName = "bits";
-
- container.Declarations.Add(new VariableDeclaration(new VariableType(bitVarName, LwipDefs.Vt_U32)));
-
- IfThenElse ite = new IfThenElse(String.Format(
- "snmp_decode_bits(({0} *){1}, {2}, &{3}) == ERR_OK",
- LwipDefs.Vt_U8,
- valueVarName,
- lenVarName,
- bitVarName));
-
- valueVarUsed = true;
- lenVarUsed = true;
-
- StringBuilder innerIfCond = new StringBuilder();
- foreach (IRestriction restriction in this.Restrictions)
- {
- innerIfCond.Append(restriction.GetCheckCodeValid(bitVarName));
- innerIfCond.Append(" || ");
- }
-
- innerIfCond.Length -= 4;
-
- IfThenElse innerIte = new IfThenElse(innerIfCond.ToString());
- innerIte.AddCode(String.Format("{0} = {1};", retErrVarName, LwipDefs.Def_ErrorCode_Ok));
- ite.AddElement(innerIte);
- container.AddElement(ite);
- }
- else
- {
- base.GenerateTestMethodCode(container, valueVarName, ref valueVarUsed, lenVarName, ref lenVarUsed, retErrVarName);
- }
- }
-
- public override void GenerateSetMethodCode(CodeContainerBase container, string valueVarName, ref bool valueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- const string bitVarName = "bits";
-
- container.Declarations.Add(new VariableDeclaration(new VariableType(bitVarName, LwipDefs.Vt_U32)));
-
- IfThenElse ite = new IfThenElse(String.Format(
- "snmp_decode_bits(({0} *){1}, {2}, &{3}) == ERR_OK",
- LwipDefs.Vt_U8,
- valueVarName,
- lenVarName,
- bitVarName));
-
- valueVarUsed = true;
- lenVarUsed = true;
-
- ite.AddElement(new Comment(String.Format("TODO: store new value contained in '{0}' here", bitVarName), singleLine: true));
-
- container.AddElement(ite);
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeCounter64.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeCounter64.cs
deleted file mode 100644
index 8f450c8a..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeCounter64.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNodeCounter64 : SnmpScalarNode
- {
- public SnmpScalarNodeCounter64(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- this.DataType = SnmpDataType.Counter64;
- }
-
- protected override bool GenerateValueDeclaration(CodeContainerBase container, string variableName, string sourceName)
- {
- container.AddDeclaration(new VariableDeclaration(
- new VariableType(variableName + "_high", LwipDefs.Vt_U32, "*"),
- "(" + new VariableType(null, LwipDefs.Vt_U32, "*").ToString() + ")" + sourceName));
- container.AddDeclaration(new VariableDeclaration(
- new VariableType(variableName + "_low", LwipDefs.Vt_U32, "*"),
- variableName + "_high + 1"));
-
- container.AddCode(String.Format("LWIP_UNUSED_ARG({0}_high);", variableName));
- container.AddCode(String.Format("LWIP_UNUSED_ARG({0}_low);", variableName));
-
- return false;
- }
-
- public override string FixedValueLength
- {
- get { return String.Format("(2 * sizeof({0}))", LwipDefs.Vt_U32); }
- }
-
- public override int OidRepresentationLen
- {
- get { return 1; }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeInt.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeInt.cs
deleted file mode 100644
index a381234c..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeInt.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNodeInt : SnmpScalarNode
- {
- public SnmpScalarNodeInt(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- this.DataType = SnmpDataType.Integer;
- }
-
- protected override void GenerateTestMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- System.Diagnostics.Trace.Assert(this.Restrictions.Count > 0);
-
- StringBuilder ifCond = new StringBuilder();
- foreach (IRestriction restriction in this.Restrictions)
- {
- ifCond.Append(restriction.GetCheckCodeValid("*" + localValueVarName));
- ifCond.Append(" || ");
-
- localValueVarUsed = true;
- }
-
- ifCond.Length -= 4;
-
- IfThenElse ite = new IfThenElse(ifCond.ToString());
- ite.AddCode(String.Format("{0} = {1};", retErrVarName, LwipDefs.Def_ErrorCode_Ok));
- container.AddElement(ite);
- }
-
- protected override bool GenerateValueDeclaration(CodeContainerBase container, string variableName, string sourceName)
- {
- container.AddDeclaration(new VariableDeclaration(
- new VariableType(variableName, LwipDefs.Vt_S32, "*"),
- "(" + new VariableType(null, LwipDefs.Vt_S32, "*") + ")" + sourceName));
-
- return true;
- }
-
- public override string FixedValueLength
- {
- get { return String.Format("sizeof({0})", LwipDefs.Vt_S32); }
- }
-
- public override int OidRepresentationLen
- {
- get { return 1; }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeObjectIdentifier.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeObjectIdentifier.cs
deleted file mode 100644
index 5ce8d146..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeObjectIdentifier.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNodeObjectIdentifier: SnmpScalarNode
- {
- public SnmpScalarNodeObjectIdentifier(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- this.DataType = SnmpDataType.ObjectIdentifier;
- }
-
- protected override bool GenerateValueDeclaration(CodeContainerBase container, string variableName, string sourceName)
- {
- container.AddDeclaration(new VariableDeclaration(
- new VariableType(variableName, LwipDefs.Vt_U32, "*"),
- "(" + new VariableType(null, LwipDefs.Vt_U32, "*") + ")" + sourceName));
-
- return true;
- }
-
- protected override void GenerateGetMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string retLenVarName)
- {
- container.AddElement(new Comment(String.Format("TODO: put requested value to '*{0}' here. '{0}' has to be interpreted as {1}[]", localValueVarName, LwipDefs.Vt_U32), singleLine: true));
- container.AddElement(EmptyLine.SingleLine);
- container.AddCode(String.Format("{0} = 0; // TODO: return real value length here (should be 'numOfElements * sizeof({1})')", retLenVarName, LwipDefs.Vt_U32));
- }
-
- protected override void GenerateTestMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- VariableDeclaration objIdLenVar = new VariableDeclaration(
- new VariableType(localValueVarName + "_len", LwipDefs.Vt_U8),
- String.Format("{0} / sizeof({1})", lenVarName, LwipDefs.Vt_U32));
- lenVarUsed = true;
-
- container.Declarations.Add(objIdLenVar);
-
- base.GenerateTestMethodCodeCore(container, localValueVarName, ref localValueVarUsed, lenVarName, ref lenVarUsed, retErrVarName);
-
- container.AddCode(String.Format("LWIP_UNUSED_ARG({0});", objIdLenVar.Type.Name));
- }
-
- protected override void GenerateSetMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- VariableDeclaration objIdLenVar = new VariableDeclaration(
- new VariableType(localValueVarName + "_len", LwipDefs.Vt_U8),
- String.Format("{0} / sizeof({1})", lenVarName, LwipDefs.Vt_U32));
- lenVarUsed = true;
-
- container.Declarations.Add(objIdLenVar);
-
- base.GenerateSetMethodCodeCore(container, localValueVarName, ref localValueVarUsed, lenVarName, ref lenVarUsed, retErrVarName);
-
- container.AddCode(String.Format("LWIP_UNUSED_ARG({0});", objIdLenVar.Type.Name));
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeOctetString.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeOctetString.cs
deleted file mode 100644
index bf10f9a8..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeOctetString.cs
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNodeOctetString : SnmpScalarNode
- {
- public SnmpScalarNodeOctetString(SnmpDataType dataType, SnmpTreeNode parentNode)
- : base(parentNode)
- {
- System.Diagnostics.Debug.Assert(
- (dataType == SnmpDataType.OctetString) ||
- (dataType == SnmpDataType.Opaque) ||
- (dataType == SnmpDataType.IpAddress));
-
- this.DataType = dataType;
- }
-
- protected override void GenerateGetMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string retLenVarName)
- {
- if (this.Restrictions.Count > 0)
- {
- StringBuilder ifCond = new StringBuilder();
- foreach (IRestriction restriction in this.Restrictions)
- {
- ifCond.Append(restriction.GetCheckCodeValid(retLenVarName));
- ifCond.Append(" || ");
- }
-
- ifCond.Length -= 4;
- container.AddElement(new Comment("TODO: take care of len restrictions defined in MIB: " + ifCond, singleLine: true));
- }
- base.GenerateGetMethodCodeCore(container, localValueVarName, ref localValueVarUsed, retLenVarName);
- }
-
- protected override void GenerateTestMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- System.Diagnostics.Trace.Assert(this.Restrictions.Count > 0);
-
- // checks refer to length of octet string
- StringBuilder ifCond = new StringBuilder();
- foreach (IRestriction restriction in this.Restrictions)
- {
- ifCond.Append(restriction.GetCheckCodeValid(lenVarName));
- ifCond.Append(" || ");
-
- lenVarUsed = true;
- }
-
- ifCond.Length -= 4;
-
- IfThenElse ite = new IfThenElse(ifCond.ToString());
- ite.AddCode(String.Format("{0} = {1};", retErrVarName, LwipDefs.Def_ErrorCode_Ok));
- container.AddElement(ite);
- }
-
- public override int OidRepresentationLen
- {
- get
- {
- // check restrictions if we are set to one fixed length
- if ((this.Restrictions != null) && (this.Restrictions.Count > 0))
- {
- foreach (IRestriction restriction in this.Restrictions)
- {
- if (restriction is IsInRangeRestriction)
- {
- if ((restriction as IsInRangeRestriction).RangeStart == (restriction as IsInRangeRestriction).RangeEnd)
- {
- return (int)(restriction as IsInRangeRestriction).RangeStart;
- }
- }
- else if (restriction is IsEqualRestriction)
- {
- return (int)(restriction as IsEqualRestriction).Value;
- }
- }
- }
-
- return -1; // variable length
- }
- }
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeTruthValue.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeTruthValue.cs
deleted file mode 100644
index 0f557526..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeTruthValue.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNodeTruthValue : SnmpScalarNodeInt
- {
- public SnmpScalarNodeTruthValue(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- }
-
- protected override void GenerateGetMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string retLenVarName)
- {
- container.AddCodeFormat("snmp_encode_truthvalue({0}, /* TODO: put requested bool value here */ 0);", localValueVarName);
- localValueVarUsed = true;
-
- container.AddCode(String.Format("{0} = {1};",
- retLenVarName,
- (!String.IsNullOrWhiteSpace(this.FixedValueLength)) ? this.FixedValueLength : "0"));
- }
-
- protected override void GenerateSetMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- VariableType truthVar = new VariableType("bool_value", LwipDefs.Vt_U8);
- container.Declarations.Add(new VariableDeclaration(truthVar));
-
- container.AddCodeFormat("snmp_decode_truthvalue({0}, &{1});", localValueVarName, truthVar.Name);
- localValueVarUsed = true;
-
- container.AddElement(new Comment(String.Format("TODO: store new value contained in '{0}' here", truthVar.Name), singleLine: true));
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeUint.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeUint.cs
deleted file mode 100644
index edc161ac..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpScalarNodeUint.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpScalarNodeUint : SnmpScalarNode
- {
- public SnmpScalarNodeUint(SnmpDataType dataType, SnmpTreeNode parentNode)
- : base(parentNode)
- {
- System.Diagnostics.Debug.Assert(
- (dataType == SnmpDataType.Counter) ||
- (dataType == SnmpDataType.Gauge) ||
- (dataType == SnmpDataType.TimeTicks));
-
- this.DataType = dataType;
- }
-
- protected override void GenerateTestMethodCodeCore(CodeContainerBase container, string localValueVarName, ref bool localValueVarUsed, string lenVarName, ref bool lenVarUsed, string retErrVarName)
- {
- System.Diagnostics.Trace.Assert(this.Restrictions.Count > 0);
-
- StringBuilder ifCond = new StringBuilder();
- foreach (IRestriction restriction in this.Restrictions)
- {
- ifCond.Append(restriction.GetCheckCodeValid("*" + localValueVarName));
- ifCond.Append(" || ");
-
- localValueVarUsed = true;
- }
-
- ifCond.Length -= 4;
-
- IfThenElse ite = new IfThenElse(ifCond.ToString());
- ite.AddCode(String.Format("{0} = {1};", retErrVarName, LwipDefs.Def_ErrorCode_Ok));
- container.AddElement(ite);
- }
-
- protected override bool GenerateValueDeclaration(CodeContainerBase container, string variableName, string sourceName)
- {
- container.AddDeclaration(new VariableDeclaration(
- new VariableType(variableName, LwipDefs.Vt_U32, "*"),
- "(" + new VariableType(null, LwipDefs.Vt_U32, "*") + ")" + sourceName));
-
- return true;
- }
-
- public override string FixedValueLength
- {
- get { return String.Format("sizeof({0})", LwipDefs.Vt_U32); }
- }
-
- public override int OidRepresentationLen
- {
- get { return 1; }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpTableNode.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpTableNode.cs
deleted file mode 100644
index 8799b013..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpTableNode.cs
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpTableNode: SnmpScalarAggregationNode
- {
- private readonly List cellNodes = new List();
- private readonly List indexNodes = new List();
- private string augmentedTableRow = null;
-
-
- public SnmpTableNode(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- }
-
- public List CellNodes
- {
- get { return cellNodes; }
- }
-
- public List IndexNodes
- {
- get { return indexNodes; }
- }
-
- public string AugmentedTableRow
- {
- get { return this.augmentedTableRow; }
- set { this.augmentedTableRow = value; }
- }
-
- public override string FullNodeName
- {
- get
- {
- string result = this.Name.ToLowerInvariant();
- if (!result.Contains("table"))
- {
- result += "_table";
- }
-
- return result;
- }
- }
-
- protected override IEnumerable AggregatedScalarNodes
- {
- get { return this.cellNodes; }
- }
-
- public override void GenerateCode(MibCFile mibFile)
- {
- FunctionDeclaration getInstanceMethodDecl = new FunctionDeclaration(this.FullNodeName + LwipDefs.FnctSuffix_GetInstance, isStatic: true);
- getInstanceMethodDecl.Parameter.Add(new VariableType("column", LwipDefs.Vt_U32, "*", ConstType.Value));
- getInstanceMethodDecl.Parameter.Add(new VariableType("row_oid", LwipDefs.Vt_U32, "*", ConstType.Value));
- getInstanceMethodDecl.Parameter.Add(new VariableType("row_oid_len", LwipDefs.Vt_U8, ""));
- getInstanceMethodDecl.Parameter.Add(new VariableType("cell_instance", LwipDefs.Vt_StNodeInstance, "*"));
- getInstanceMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_Snmp_err);
- mibFile.Declarations.Add(getInstanceMethodDecl);
-
- Function getInstanceMethod = Function.FromDeclaration(getInstanceMethodDecl);
- GenerateGetInstanceMethodCode(getInstanceMethod);
- mibFile.Implementation.Add(getInstanceMethod);
-
-
- FunctionDeclaration getNextInstanceMethodDecl = new FunctionDeclaration(this.FullNodeName + LwipDefs.FnctSuffix_GetNextInstance, isStatic: true);
- getNextInstanceMethodDecl.Parameter.Add(new VariableType("column", LwipDefs.Vt_U32, "*", ConstType.Value));
- getNextInstanceMethodDecl.Parameter.Add(new VariableType("row_oid", LwipDefs.Vt_StObjectId, "*"));
- getNextInstanceMethodDecl.Parameter.Add(new VariableType("cell_instance", LwipDefs.Vt_StNodeInstance, "*"));
- getNextInstanceMethodDecl.ReturnType = new VariableType(null, LwipDefs.Vt_Snmp_err);
- mibFile.Declarations.Add(getNextInstanceMethodDecl);
-
- Function getNextInstanceMethod = Function.FromDeclaration(getNextInstanceMethodDecl);
- GenerateGetNextInstanceMethodCode(getNextInstanceMethod);
- mibFile.Implementation.Add(getNextInstanceMethod);
-
-
- VariableType instanceType = new VariableType("cell_instance", LwipDefs.Vt_StNodeInstance, "*");
- GenerateAggregatedCode(
- mibFile,
- instanceType,
- String.Format("SNMP_TABLE_GET_COLUMN_FROM_OID({0}->instance_oid.id)", instanceType.Name));
-
-
- #region create and add column/table definitions
-
- StringBuilder colDefs = new StringBuilder();
- foreach (SnmpScalarNode colNode in this.cellNodes)
- {
- colDefs.AppendFormat(" {{{0}, {1}, {2}}}, /* {3} */ \n",
- colNode.Oid,
- LwipDefs.GetAsn1DefForSnmpDataType(colNode.DataType),
- LwipDefs.GetLwipDefForSnmpAccessMode(colNode.AccessMode),
- colNode.Name);
- }
- if (colDefs.Length > 0)
- {
- colDefs.Length--;
- }
-
- VariableDeclaration colDefsDecl = new VariableDeclaration(
- new VariableType(this.FullNodeName + "_columns", LwipDefs.Vt_StTableColumnDef, null, ConstType.Value, String.Empty),
- "{\n" + colDefs + "\n}",
- isStatic: true);
-
- mibFile.Declarations.Add(colDefsDecl);
-
- string nodeInitialization = String.Format("SNMP_TABLE_CREATE({0}, {1}, {2}, {3}, {4}, {5}, {6})",
- this.Oid,
- colDefsDecl.Type.Name,
- getInstanceMethodDecl.Name, getNextInstanceMethodDecl.Name,
- (this.GetMethodRequired) ? this.GetMethodName : LwipDefs.Null,
- (this.TestMethodRequired) ? this.TestMethodName : LwipDefs.Null,
- (this.SetMethodRequired) ? this.SetMethodName : LwipDefs.Null
- );
-
- mibFile.Declarations.Add(new VariableDeclaration(
- new VariableType(this.FullNodeName, LwipDefs.Vt_StTableNode, null, ConstType.Value),
- nodeInitialization,
- isStatic: true));
-
- #endregion
- }
-
- protected virtual void GenerateGetInstanceMethodCode(Function getInstanceMethod)
- {
- VariableDeclaration returnValue = new VariableDeclaration((VariableType)getInstanceMethod.ReturnType.Clone(), LwipDefs.Def_ErrorCode_NoSuchInstance);
- returnValue.Type.Name = "err";
- getInstanceMethod.Declarations.Add(returnValue);
-
- int instanceOidLength = 0;
- StringBuilder indexColumns = new StringBuilder();
- foreach (SnmpScalarNode indexNode in this.indexNodes)
- {
- if (instanceOidLength >= 0)
- {
- if (indexNode.OidRepresentationLen >= 0)
- {
- instanceOidLength += indexNode.OidRepresentationLen;
- }
- else
- {
- // at least one index column has a variable length -> we cannot perform a static check
- instanceOidLength = -1;
- }
- }
-
- indexColumns.AppendFormat(
- " {0} ({1}, OID length = {2})\n",
- indexNode.Name,
- indexNode.DataType,
- (indexNode.OidRepresentationLen >= 0) ? indexNode.OidRepresentationLen.ToString() : "variable");
- }
- if (indexColumns.Length > 0)
- {
- indexColumns.Length--;
-
- getInstanceMethod.Declarations.Insert(0, new Comment(String.Format(
- "The instance OID of this table consists of following (index) column(s):\n{0}",
- indexColumns)));
- }
-
- string augmentsHint = "";
- if (!String.IsNullOrWhiteSpace(this.augmentedTableRow))
- {
- augmentsHint = String.Format(
- "This table augments table '{0}'! Index columns therefore belong to table '{0}'!\n" +
- "You may simply call the '*{1}' method of this table.\n\n",
- (this.augmentedTableRow.ToLowerInvariant().EndsWith("entry")) ? this.augmentedTableRow.Substring(0, this.augmentedTableRow.Length-5) : this.augmentedTableRow,
- LwipDefs.FnctSuffix_GetInstance);
- }
-
- CodeContainerBase ccb = getInstanceMethod;
- if (instanceOidLength > 0)
- {
- IfThenElse ite = new IfThenElse(String.Format("{0} == {1}", getInstanceMethod.Parameter[2].Name, instanceOidLength));
- getInstanceMethod.AddElement(ite);
- ccb = ite;
- }
-
- ccb.AddCodeFormat("LWIP_UNUSED_ARG({0});", getInstanceMethod.Parameter[0].Name);
- ccb.AddCodeFormat("LWIP_UNUSED_ARG({0});", getInstanceMethod.Parameter[1].Name);
- if (instanceOidLength <= 0)
- {
- ccb.AddCodeFormat("LWIP_UNUSED_ARG({0});", getInstanceMethod.Parameter[2].Name);
- }
- ccb.AddCodeFormat("LWIP_UNUSED_ARG({0});", getInstanceMethod.Parameter[3].Name);
-
- ccb.AddElement(new Comment(String.Format(
- "TODO: check if '{0}'/'{1}' params contain a valid instance oid for a row\n" +
- "If so, set '{2} = {3};'\n\n" +
- "snmp_oid_* methods may be used for easier processing of oid\n\n" +
- "{4}" +
- "In order to avoid decoding OID a second time in subsequent get_value/set_test/set_value methods,\n" +
- "you may store an arbitrary value (like a pointer to target value object) in '{5}->reference'/'{5}->reference_len'.\n" +
- "But be aware that not always a subsequent method is called -> Do NOT allocate memory here and try to release it in subsequent methods!\n\n" +
- "You also may replace function pointers in '{5}' param for get/test/set methods which contain the default values from table definition,\n" +
- "in order to provide special methods, for the currently processed cell. Changed pointers are only valid for current request.",
- getInstanceMethod.Parameter[1].Name,
- getInstanceMethod.Parameter[2].Name,
- returnValue.Type.Name,
- LwipDefs.Def_ErrorCode_Ok,
- augmentsHint,
- getInstanceMethod.Parameter[3].Name
- )));
-
- getInstanceMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
- }
-
- protected virtual void GenerateGetNextInstanceMethodCode(Function getNextInstanceMethod)
- {
- getNextInstanceMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", getNextInstanceMethod.Parameter[0].Name);
- getNextInstanceMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", getNextInstanceMethod.Parameter[1].Name);
- getNextInstanceMethod.AddCodeFormat("LWIP_UNUSED_ARG({0});", getNextInstanceMethod.Parameter[2].Name);
-
- VariableDeclaration returnValue = new VariableDeclaration((VariableType)getNextInstanceMethod.ReturnType.Clone(), LwipDefs.Def_ErrorCode_NoSuchInstance);
- returnValue.Type.Name = "err";
- getNextInstanceMethod.Declarations.Add(returnValue);
-
- StringBuilder indexColumns = new StringBuilder();
- foreach (SnmpScalarNode indexNode in this.indexNodes)
- {
- indexColumns.AppendFormat(
- " {0} ({1}, OID length = {2})\n",
- indexNode.Name,
- indexNode.DataType,
- (indexNode.OidRepresentationLen >= 0) ? indexNode.OidRepresentationLen.ToString() : "variable");
- }
- if (indexColumns.Length > 0)
- {
- indexColumns.Length--;
-
- getNextInstanceMethod.Declarations.Insert(0, new Comment(String.Format(
- "The instance OID of this table consists of following (index) column(s):\n{0}",
- indexColumns)));
- }
-
- string augmentsHint = "";
- if (!String.IsNullOrWhiteSpace(this.augmentedTableRow))
- {
- augmentsHint = String.Format(
- "This table augments table '{0}'! Index columns therefore belong to table '{0}'!\n" +
- "You may simply call the '*{1}' method of this table.\n\n",
- (this.augmentedTableRow.ToLowerInvariant().EndsWith("entry")) ? this.augmentedTableRow.Substring(0, this.augmentedTableRow.Length-5) : this.augmentedTableRow,
- LwipDefs.FnctSuffix_GetNextInstance);
- }
-
- getNextInstanceMethod.AddElement(new Comment(String.Format(
- "TODO: analyze '{0}->id'/'{0}->len' and return the subsequent row instance\n" +
- "Be aware that '{0}->id'/'{0}->len' must not point to a valid instance or have correct instance length.\n" +
- "If '{0}->len' is 0, return the first instance. If '{0}->len' is longer than expected, cut superfluous OID parts.\n" +
- "If a valid next instance is found, store it in '{0}->id'/'{0}->len' and set '{1} = {2};'\n\n" +
- "snmp_oid_* methods may be used for easier processing of oid\n\n" +
- "{3}" +
- "In order to avoid decoding OID a second time in subsequent get_value/set_test/set_value methods,\n" +
- "you may store an arbitrary value (like a pointer to target value object) in '{4}->reference'/'{4}->reference_len'.\n" +
- "But be aware that not always a subsequent method is called -> Do NOT allocate memory here and try to release it in subsequent methods!\n\n" +
- "You also may replace function pointers in '{4}' param for get/test/set methods which contain the default values from table definition,\n" +
- "in order to provide special methods, for the currently processed cell. Changed pointers are only valid for current request.",
- getNextInstanceMethod.Parameter[1].Name,
- returnValue.Type.Name,
- LwipDefs.Def_ErrorCode_Ok,
- augmentsHint,
- getNextInstanceMethod.Parameter[2].Name
- )));
-
- getNextInstanceMethod.AddElement(new Comment(String.Format(
- "For easier processing and getting the next instance, you may use the 'snmp_next_oid_*' enumerator.\n" +
- "Simply pass all known instance OID's to it and it returns the next valid one:\n\n" +
- "{0} state;\n" +
- "{1} result_buf;\n" +
- "snmp_next_oid_init(&state, {2}->id, {2}->len, result_buf, LWIP_SNMP_OBJ_ID_LEN);\n" +
- "while ({{not all instances passed}}) {{\n" +
- " {1} test_oid;\n" +
- " {{fill test_oid to create instance oid for next instance}}\n" +
- " snmp_next_oid_check(&state, test_oid->id, test_oid->len, {{target_data_ptr}});\n" +
- "}}\n" +
- "if(state.status == SNMP_NEXT_OID_STATUS_SUCCESS) {{\n" +
- " snmp_oid_assign(row_oid, result_buf->oid, result_buf->len);\n" +
- " {3}->reference.ptr = state.reference; //==target_data_ptr, for usage in subsequent get/test/set\n" +
- " {4} = {5};\n" +
- "}}"
- ,
- LwipDefs.Vt_StNextOidState,
- LwipDefs.Vt_StObjectId,
- getNextInstanceMethod.Parameter[1].Name,
- getNextInstanceMethod.Parameter[2].Name,
- returnValue.Type.Name,
- LwipDefs.Def_ErrorCode_Ok
- )));
-
- getNextInstanceMethod.AddCodeFormat("return {0};", returnValue.Type.Name);
- }
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpTreeNode.cs b/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpTreeNode.cs
deleted file mode 100644
index bf0c604e..00000000
--- a/src/apps/snmp/LwipMibCompiler/LwipSnmpCodeGeneration/SnmpTreeNode.cs
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using CCodeGeneration;
-
-namespace LwipSnmpCodeGeneration
-{
- public class SnmpTreeNode: SnmpScalarAggregationNode
- {
- private readonly List childNodes = new List();
- private readonly List childScalarNodes = new List();
- private string fullOid = "";
-
- public SnmpTreeNode(SnmpTreeNode parentNode)
- : base(parentNode)
- {
- }
-
- public override string FullNodeName
- {
- get { return this.Name.ToLowerInvariant() + "_treenode"; }
- }
-
- public string FullOid
- {
- get { return this.fullOid; }
- set { this.fullOid = value; }
- }
-
- public List ChildNodes
- {
- get { return this.childNodes; }
- }
-
- protected override IEnumerable AggregatedScalarNodes
- {
- get { return this.childScalarNodes; }
- }
-
- private void GenerateAggregatedCode(MibCFile mibFile, bool generateDeclarations, bool generateImplementations)
- {
- VariableType instanceType = new VariableType("instance", LwipDefs.Vt_StNodeInstance, "*");
- base.GenerateAggregatedCode(
- mibFile,
- instanceType,
- String.Format("{0}->node->oid", instanceType.Name),
- generateDeclarations,
- generateImplementations);
- }
-
- private void GenerateAggregateMethodDeclarations(MibCFile mibFile)
- {
- if (LwipOpts.GenerateSingleAccessMethodsForTreeNodeScalars && (this.childScalarNodes.Count > 1))
- {
- GenerateAggregatedCode(mibFile, true, false);
- }
- }
-
- public override void GenerateCode(MibCFile mibFile)
- {
- string nodeInitialization;
-
- if (LwipOpts.GenerateSingleAccessMethodsForTreeNodeScalars && (this.childScalarNodes.Count > 1))
- {
- GenerateAggregatedCode(mibFile, false, true);
- }
-
- // create and add node declaration
- if (this.childNodes.Count > 0)
- {
- StringBuilder subnodeArrayInitialization = new StringBuilder();
-
- for (int i=0; i=0; i--)
- {
- this.ChildNodes[i].Analyze();
- }
-
- // collect scalar nodes
- foreach (SnmpNode childNode in this.childNodes)
- {
- SnmpScalarNode scalarNode = childNode as SnmpScalarNode;
- if (scalarNode != null)
- {
- this.childScalarNodes.Add(scalarNode);
- }
- }
-
- base.Analyze();
-
- // check if we can merge this node to a scalar array node (all childs need to be scalars)
- if (this.childNodes.Count > 0)
- {
- if (LwipOpts.GenerateScalarArrays && (this.childScalarNodes.Count == this.childNodes.Count) && (this.ParentNode != null))
- {
- SnmpScalarArrayNode scalarArrayNode = new SnmpScalarArrayNode(this.childScalarNodes, this.ParentNode);
- scalarArrayNode.Oid = this.Oid;
- scalarArrayNode.Name = this.Name;
- scalarArrayNode.Analyze();
-
- for (int i=0; i 1))
- {
- foreach (SnmpScalarNode scalarNode in this.childScalarNodes)
- {
- scalarNode.UseExternalMethods = true;
- scalarNode.ExternalGetMethod = this.GetMethodName;
- scalarNode.ExternalTestMethod = this.TestMethodName;
- scalarNode.ExternalSetMethod = this.SetMethodName;
- }
- }
- }
- else // if (this.childNodes.Count == 0)
- {
- if (!LwipOpts.GenerateEmptyFolders && (this.ParentNode != null))
- {
- // do not generate this empty folder because it only waste (static) memory
- for (int i=0; i
- /// Erforderliche Designervariable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Verwendete Ressourcen bereinigen.
- ///
- /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Vom Windows Form-Designer generierter Code
-
- ///
- /// Erforderliche Methode für die Designerunterstützung.
- /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
- this.treeMib = new System.Windows.Forms.TreeView();
- this.imagelistTreeNodeImages = new System.Windows.Forms.ImageList(this.components);
- this.splitContainerMain = new System.Windows.Forms.SplitContainer();
- this.listviewNodeDetails = new System.Windows.Forms.ListView();
- this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
- this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
- this.toolStripMain = new System.Windows.Forms.ToolStrip();
- this.toolbuttonOpenMib = new System.Windows.Forms.ToolStripButton();
- this.dialogOpenMib = new System.Windows.Forms.OpenFileDialog();
- ((System.ComponentModel.ISupportInitialize)(this.splitContainerMain)).BeginInit();
- this.splitContainerMain.Panel1.SuspendLayout();
- this.splitContainerMain.Panel2.SuspendLayout();
- this.splitContainerMain.SuspendLayout();
- this.toolStripMain.SuspendLayout();
- this.SuspendLayout();
- //
- // treeMib
- //
- this.treeMib.Dock = System.Windows.Forms.DockStyle.Fill;
- this.treeMib.ImageIndex = 0;
- this.treeMib.ImageList = this.imagelistTreeNodeImages;
- this.treeMib.Location = new System.Drawing.Point(0, 0);
- this.treeMib.Name = "treeMib";
- this.treeMib.SelectedImageIndex = 0;
- this.treeMib.Size = new System.Drawing.Size(1028, 418);
- this.treeMib.TabIndex = 0;
- this.treeMib.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeMib_AfterSelect);
- //
- // imagelistTreeNodeImages
- //
- this.imagelistTreeNodeImages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imagelistTreeNodeImages.ImageStream")));
- this.imagelistTreeNodeImages.TransparentColor = System.Drawing.Color.Transparent;
- this.imagelistTreeNodeImages.Images.SetKeyName(0, "ntimgContainer");
- this.imagelistTreeNodeImages.Images.SetKeyName(1, "ntimgTable");
- this.imagelistTreeNodeImages.Images.SetKeyName(2, "ntimgRow");
- this.imagelistTreeNodeImages.Images.SetKeyName(3, "ntimgColumn");
- this.imagelistTreeNodeImages.Images.SetKeyName(4, "ntimgScalar");
- this.imagelistTreeNodeImages.Images.SetKeyName(5, "ntimgUnknown");
- //
- // splitContainerMain
- //
- this.splitContainerMain.Dock = System.Windows.Forms.DockStyle.Fill;
- this.splitContainerMain.Location = new System.Drawing.Point(0, 25);
- this.splitContainerMain.Name = "splitContainerMain";
- this.splitContainerMain.Orientation = System.Windows.Forms.Orientation.Horizontal;
- //
- // splitContainerMain.Panel1
- //
- this.splitContainerMain.Panel1.Controls.Add(this.treeMib);
- //
- // splitContainerMain.Panel2
- //
- this.splitContainerMain.Panel2.Controls.Add(this.listviewNodeDetails);
- this.splitContainerMain.Size = new System.Drawing.Size(1028, 625);
- this.splitContainerMain.SplitterDistance = 418;
- this.splitContainerMain.TabIndex = 1;
- //
- // listviewNodeDetails
- //
- this.listviewNodeDetails.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeader1,
- this.columnHeader2});
- this.listviewNodeDetails.Dock = System.Windows.Forms.DockStyle.Fill;
- this.listviewNodeDetails.FullRowSelect = true;
- this.listviewNodeDetails.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
- this.listviewNodeDetails.Location = new System.Drawing.Point(0, 0);
- this.listviewNodeDetails.Name = "listviewNodeDetails";
- this.listviewNodeDetails.Size = new System.Drawing.Size(1028, 203);
- this.listviewNodeDetails.TabIndex = 0;
- this.listviewNodeDetails.UseCompatibleStateImageBehavior = false;
- this.listviewNodeDetails.View = System.Windows.Forms.View.Details;
- //
- // columnHeader1
- //
- this.columnHeader1.Text = "";
- this.columnHeader1.Width = 150;
- //
- // columnHeader2
- //
- this.columnHeader2.Text = "";
- this.columnHeader2.Width = 777;
- //
- // toolStripMain
- //
- this.toolStripMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.toolbuttonOpenMib});
- this.toolStripMain.Location = new System.Drawing.Point(0, 0);
- this.toolStripMain.Name = "toolStripMain";
- this.toolStripMain.Size = new System.Drawing.Size(1028, 25);
- this.toolStripMain.TabIndex = 2;
- //
- // toolbuttonOpenMib
- //
- this.toolbuttonOpenMib.Image = ((System.Drawing.Image)(resources.GetObject("toolbuttonOpenMib.Image")));
- this.toolbuttonOpenMib.Name = "toolbuttonOpenMib";
- this.toolbuttonOpenMib.Size = new System.Drawing.Size(65, 22);
- this.toolbuttonOpenMib.Text = "Open...";
- this.toolbuttonOpenMib.Click += new System.EventHandler(this.toolbuttonOpenMib_Click);
- //
- // FormMain
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(1028, 650);
- this.Controls.Add(this.splitContainerMain);
- this.Controls.Add(this.toolStripMain);
- this.Name = "FormMain";
- this.Text = "MIB Viewer";
- this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
- this.splitContainerMain.Panel1.ResumeLayout(false);
- this.splitContainerMain.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.splitContainerMain)).EndInit();
- this.splitContainerMain.ResumeLayout(false);
- this.toolStripMain.ResumeLayout(false);
- this.toolStripMain.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TreeView treeMib;
- private System.Windows.Forms.SplitContainer splitContainerMain;
- private System.Windows.Forms.ListView listviewNodeDetails;
- private System.Windows.Forms.ColumnHeader columnHeader1;
- private System.Windows.Forms.ColumnHeader columnHeader2;
- private System.Windows.Forms.ImageList imagelistTreeNodeImages;
- private System.Windows.Forms.ToolStrip toolStripMain;
- private System.Windows.Forms.ToolStripButton toolbuttonOpenMib;
- private System.Windows.Forms.OpenFileDialog dialogOpenMib;
- }
-}
-
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/FormMain.cs b/src/apps/snmp/LwipMibCompiler/MibViewer/FormMain.cs
deleted file mode 100644
index 7d2490db..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/FormMain.cs
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System.Windows.Forms;
-using Lextm.SharpSnmpLib.Mib;
-using Lextm.SharpSnmpLib.Mib.Elements;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-using Lextm.SharpSnmpLib.Mib.Elements.Entities;
-using System.IO;
-
-namespace LwipMibViewer
-{
- public partial class FormMain : Form
- {
- readonly ListViewGroup listviewgroupAbstract;
- readonly ListViewGroup listviewgroupElement;
- readonly ListViewGroup listviewgroupBaseType;
- readonly ListViewGroup listviewgroupTypeChain;
-
- public FormMain()
- {
- this.Font = SystemInformation.MenuFont;
- InitializeComponent();
-
- this.listviewgroupAbstract = new ListViewGroup("Abstract", System.Windows.Forms.HorizontalAlignment.Left);
- this.listviewgroupElement = new ListViewGroup("Element Properties", System.Windows.Forms.HorizontalAlignment.Left);
- this.listviewgroupBaseType = new ListViewGroup("Element Base Type", System.Windows.Forms.HorizontalAlignment.Left);
- this.listviewgroupTypeChain = new ListViewGroup("Element Type Chain", System.Windows.Forms.HorizontalAlignment.Left);
- this.listviewNodeDetails.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] {
- listviewgroupAbstract,
- listviewgroupElement,
- listviewgroupBaseType,
- listviewgroupTypeChain});
-
- try
- {
- DirectoryInfo dirInfo = new DirectoryInfo(Path.GetDirectoryName(Application.ExecutablePath));
- if (dirInfo != null)
- {
- dirInfo = dirInfo.Parent;
- if (dirInfo != null)
- {
- dirInfo = dirInfo.Parent;
- if (dirInfo != null)
- {
- dirInfo = new DirectoryInfo(Path.Combine(dirInfo.FullName, "Mibs"));
- if (dirInfo.Exists)
- {
- MibTypesResolver.RegisterResolver(new FileSystemMibResolver(dirInfo.FullName, true));
- }
- }
- }
- }
- }
- catch
- { }
- }
-
- #region GUI Event Handler
-
- private void toolbuttonOpenMib_Click(object sender, System.EventArgs e)
- {
- if (this.dialogOpenMib.ShowDialog() == DialogResult.OK)
- {
- OpenMib(this.dialogOpenMib.FileName);
- }
- }
-
- private void treeMib_AfterSelect(object sender, TreeViewEventArgs e)
- {
- listviewNodeDetails.Items.Clear();
-
- if (e.Node != null)
- {
- MibTreeNode mtn = e.Node.Tag as MibTreeNode;
- if (mtn != null)
- {
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "Abstract", mtn.NodeType.ToString() }, this.listviewgroupAbstract));
-
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "Module", (mtn.Entity.Module != null) ? mtn.Entity.Module.Name : "" }, this.listviewgroupElement));
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "Type", mtn.Entity.GetType().Name }, this.listviewgroupElement));
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "Name", mtn.Entity.Name }, this.listviewgroupElement));
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "Description", mtn.Entity.Description }, this.listviewgroupElement));
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "OID", mtn.Entity.Value.ToString() }, this.listviewgroupElement));
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "Full OID", MibTypesResolver.ResolveOid(mtn.Entity).GetOidString() }, this.listviewgroupElement));
- if (mtn.Entity is ObjectType)
- {
- listviewNodeDetails.Items.Add(new ListViewItem(new string[] { "Access", (mtn.Entity as ObjectType).Access.ToString() }, this.listviewgroupElement));
- }
-
- ITypeReferrer tr = mtn.Entity as ITypeReferrer;
- if (tr != null)
- {
- ShowTypeDetails(listviewNodeDetails, this.listviewgroupBaseType, tr.BaseType);
- ShowTypeChain(listviewNodeDetails, tr.ReferredType);
- }
- }
- }
- }
-
- #endregion
-
- #region Methods
-
- private void OpenMib(string file)
- {
- try
- {
- MibDocument md = new MibDocument(file);
- MibTypesResolver.ResolveTypes(md.Modules[0]);
-
- this.treeMib.Nodes.Clear();
- this.listviewNodeDetails.Items.Clear();
-
- MibTree mt = new MibTree(md.Modules[0] as MibModule);
- foreach (MibTreeNode mibTreeNode in mt.Root)
- {
- AddNode(mibTreeNode, this.treeMib.Nodes);
-
- foreach (TreeNode node in this.treeMib.Nodes)
- {
- node.Expand();
- }
- }
- }
- catch
- {
- }
- }
-
- private void AddNode(MibTreeNode mibNode, TreeNodeCollection parentNodes)
- {
- int imgIndex = 5; //unknown
- if ((mibNode.NodeType & MibTreeNodeType.Table) != 0)
- {
- imgIndex = 1;
- }
- else if ((mibNode.NodeType & MibTreeNodeType.TableRow) != 0)
- {
- imgIndex = 2;
- }
- else if ((mibNode.NodeType & MibTreeNodeType.TableCell) != 0)
- {
- imgIndex = 3;
- }
- else if ((mibNode.NodeType & MibTreeNodeType.Scalar) != 0)
- {
- imgIndex = 4;
- }
- else if ((mibNode.NodeType & MibTreeNodeType.Container) != 0)
- {
- imgIndex = 0;
- }
-
- TreeNode newNode = new TreeNode(mibNode.Entity.Name, imgIndex, imgIndex);
- newNode.Tag = mibNode;
-
- parentNodes.Add(newNode);
-
- foreach (MibTreeNode child in mibNode.ChildNodes)
- {
- AddNode(child, newNode.Nodes);
- }
- }
-
- private void ShowTypeChain(ListView lv, ITypeAssignment type)
- {
- ShowTypeDetails(lv, this.listviewgroupTypeChain, type);
-
- ITypeReferrer tr = type as ITypeReferrer;
- if ((tr != null) && (tr.ReferredType != null))
- {
- lv.Items.Add(new ListViewItem(new string[] { " >>>", "" }, this.listviewgroupTypeChain));
- ShowTypeChain(listviewNodeDetails, tr.ReferredType);
- }
- }
-
- private void ShowTypeDetails(ListView lv, ListViewGroup lvg, ITypeAssignment type)
- {
- lv.Items.Add(new ListViewItem(new string[] { "Module", (type.Module != null) ? type.Module.Name : "" }, lvg));
- lv.Items.Add(new ListViewItem(new string[] { "Type", type.GetType().Name }, lvg));
- lv.Items.Add(new ListViewItem(new string[] { "Name", type.Name }, lvg));
- }
-
- #endregion
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/FormMain.resx b/src/apps/snmp/LwipMibCompiler/MibViewer/FormMain.resx
deleted file mode 100644
index 973f546b..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/FormMain.resx
+++ /dev/null
@@ -1,298 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 17, 17
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABo
- IQAAAk1TRnQBSQFMAgEBBgEAARABAAEQAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
- AwABIAMAAQEBAAEgBgABIBIAAwQBBQMWAR4DIgEyAzEBTwJGAUQBhwMvAUsDHgErAxsBJgMYASIDFQEd
- AxIBGAMNARIDCgENAwcBCQMEAQUDAQECAwQBBQMWAR4DIgEyAzEBTgJGAUQBhwMvAUsDHgErAxsBJgMb
- ASYDIQExAyEBMAMdASoDGwEmAxgBIQMLAQ8DAQECgAADAgEDAwwBEAMrAUMCRgFEAYIC/wHwAf8CRgFE
- AYIDKgFAAw8BFAMNAREDCwEPAwkBDAMHAQoDBQEHAwQBBQMCAQMDAAEBAwIBAwMLAQ8DKwFDAkYBRAGC
- Av8B8AH/AkYBRAGCAyoBQAMOARMDEgEZAT0COwFpAVwBRQFCAawBZwE+AToBxAFaAUUBQwGqATwBOwE6
- AWYDEAEWAwABAYQAAx4BKwJEAUIBewL/AfAB/wLpAdoD/wHxAf8CRAFCAXsDHgErJAADHgErAkQBQgF7
- Av8B8AH/AukB2gP/AfEB/wJEAUIBewMeASsBLgItAUcBdwFHATwByQG7AVQBPQHxA+4B/wG7AVMBPAHx
- AXcBRgE8AckBLgItAUeEAAMdASoCRAFCAXcC/wHwAf8B6wHdAbEB/wH3AcEBNwH/Ae0B3wGzA/8B8gH/
- AkQBQgF3Ax0BKhwAAx0BKgJEAUIBdwL/AfAB/wLpAdoB/wLqAdwB/wLrAd4D/wHyAf8CRAFCAXcBZAFJ
- AUIBrwG2AVkBQQHxAc0BVAEyAf8BvQF5AWIB/wHFAVABLgH/AbEBUQE1AfEBXAFIAUQBn4QAAkMBQQF2
- Av8B8AH/AukB2gH/AecBqwEhAf8B5wGrASEB/wHnAasBIQH/AeoB2wGwA/8B9AH/AkMBQQF2Ax0BKhgA
- AkMBQQF2Av8B8AH/AukB2gH/AuoB3AH/AusB3gH/AuwB3wH/Au0B4QP/AfQB/wGAAUQBMQHaAc4BcAFN
- AfwBugFMASoB/wPSAf8BvgGLAXgB/wG7AVIBMgH8AW8BSQE/AbqEAAMdASkCQwFBAXQC/wHxAf8B5wHX
- AasB/wHXAZYBDAH/AdcBlgEMAf8B1wGWAQwB/wHoAdgBrgP/AfUB/wJDAUEBdAMdASkUAAMdASkCQwFB
- AXQC/wHxAf8C6wHeAf8C7AHfAf8C7QHhAf8C7gHjAf8C7wHlAf8BzQF5AV4B/wHOAXcBWAH3AbwBVAEy
- Af8BtAFMASoB/wPmAf8BtwFlAUsB8AFdAUkBRAGdiAADHQEpAkIBQQFyAv8B8gH/AeUB1AGpAf8BzQGJ
- AQAB/wHNAYkBAAH/Ac0BiQEAAf8B6AHXAa8D/wH3Af8CQgFBAXIDHAEoFAADHQEpAkIBQQFyAv8B8gH/
- Au0B4QH/Au4B4wH/Au8B5QH/AvAB5wH/AeABuwGqAf8BzgFpAUgB/wHjAcsBwQH5BP8B3gHHAb0B9QF+
- AU8BQgHEAi0BLAFFjAADHAEoAkEBQAFxAv8B9AH/AecB1gGsAf8B0QGOAQQB/wHRAY4BBAH/AdEBjgEE
- Af8B7AHbAbMD/wH4Af8CQQFAAXEDHAEoFAADHAEoAkEBQAFxAv8B9AH/Au8B5QH/AvAB5wH/AvEB6QH/
- AvMB6gH/AeQBvgGsAf8B1AGBAWIB/wGGAUoBNAHXAWYBTQFEAaoCLQEsAUWUAAMcAScCQQFAAW8C/wH1
- Af8B7AHcAbMB/wHfAaEBFwH/Ad8BoQEXAf8B3wGhARcB/wHxAeIBuwP/AfoB/wJBAUABbwMcAScUAAMc
- AScCQQFAAW8C/wH1Af8C8QHpAf8C8wHqAf8C9AHsAf8C9QHuAf8C9gHwA/8B+gH/AkEBQAFvAxwBJ5gA
- AxwBJwJAAT8BbQL/AfcB/wHyAeMBuwH/AfABuAEuAf8B8AG4AS4B/wHwAbgBLgH/AvgB9AP/AfsB/wJA
- AT8BbQMcAScUAAMcAScCQAE/AW0C/wH3Af8C9AHsAf8C9QHuAf8C9gHwAf8C9wHyAf8C+AH0A/8B+wH/
- AkABPwFtAxwBJ5gAAxsBJgJAAT8BbAL/AfgB/wH3AeoBwwH/Af0ByQE/Af8B+QHsAccB/wL7AfcB/wL8
- AfkD/wH8Af8CQAE/AWwDGwEmFAADGwEmAkABPwFsAv8B+AH/AvYB8AH/AvcB8gH/AvgB9AH/AvsB9wH/
- AvwB+QP/AfwB/wJAAT8BbAMbASaYAAMbASYCPwE+AWsC/wH6Af8C+AH0Af8C+wH3Af8C3wHVAf8CyQG5
- Af8C4AHWA/8B/gH/Aj8BPgFrGAADGwEmAj8BPgFrAv8B+gH/AvgB9AH/AvsB9wH/At8B1QH/AskBuQH/
- AuAB1gP/Af4B/wI/AT4Ba5wAAxoBJQI/AT0BaQL/AfsB/wL8AfkB/wK8AawB/wQAArwBrAP/Af4B/wI/
- AT0BaRwAAxoBJQI/AT0BaQL/AfsB/wL8AfkB/wK8AawB/wQAArwBrAP/Af4B/wI/AT0BaaAAAxoBJQI+
- AT0BaAL/AfwB/wLLAcEB/wKgAZAB/wLLAcED/wH+Af8CPgE9AWggAAMaASUCPgE9AWgC/wH8Af8CywHB
- Af8CoAGQAf8CywHBA/8B/gH/Aj4BPQFopAADGgElAj4BPQFnAv8B/gP/Af4D/wH+Bf8CPgE9AWckAAMa
- ASUCPgE9AWcC/wH+A/8B/gP/Af4F/wI+AT0BZ6gAAxoBJAI+AT0BZgI+AT0BZgI+AT0BZgI+AT0BZgMx
- AU0oAAMaASQCPgE9AWYCPgE9AWYCPgE9AWYCPgE9AWYDMQFNlAADIQEwAUABRgFIAXwBQwFOAVIBkgMF
- AQccAAMHAQkDEAEWAxMBGgMTARoDEwEaAxMBGgMTARoDEwEaAxMBGgMTARoDEwEaAxMBGgMTARoDEwEa
- AxABFgMHAQkDBwEJAxABFgMTARoDEwEaAxMBGgMTARoDEwEaAxMBGgMTARoDEwEaAxMBGgMTARoDEwEa
- AxMBGgMQARYDBwEJAwcBCQMQARYDEwEaAxMBGgMTARoDEwEaAxMBGgMTARoDEwEaAxMBGgMTARoDEwEa
- AxMBGgMTARoDEAEWAwcBCQwAAjIBMwFQAUMBUQFXAZkBRQFkAXQBwAFYAYsBogHgATwBWAFqAcEDEwEa
- AwUBBxgAAjwBOwFpAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGH
- AkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAjwBOwFpAjkBNAFpAkABNwGHAkABNwGH
- AkABNwGHAkABNwGHAkABNwGHAkABNwGHAkABNwGHAkABNwGHAkABNwGHAkABNwGHAkABNwGHAkABNwGH
- AkABNwGHAkABNwGHAjkBNAFpAjwBOwFpAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGH
- AkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAkYBRAGHAjwBOwFpAw0BEQMa
- ASQBRAFNAVEBmAE8AYkBrAHyAWcBrwHTAfoBggHLAewB/wGFAc4B7gH/ARUBWwGCAe8BOgFXAWYBxAE6
- AVcBZgHEAT4BWgFqAb4BPgFaAWoBvgE+AVoBagG+AUQBTQFRAZgDGgEkAw0BEQJGAUMBgQL5AekB/wLz
- AeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLz
- AeIB/wLzAeIB/wL5AekB/wJGAUMBgQJDAToBgQL5AekB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLz
- AeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wL5AekB/wJDAToBgQJG
- AUMBgQL5AekB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLzAeIB/wLz
- AeIB/wLzAeIB/wLzAeIB/wLzAeIB/wL5AekB/wJGAUMBgQMHAQkDDQESAUIBWwFmAbIBiAHQAe8B/wF9
- AcoB6QH/AX0BygHpAf8BhwHQAe8B/wEkAXsBqQH/AX0BvAHbAf8BfQG8AdsB/wGNAdEB8wH/AY0B0QHz
- Af8BkAHUAfUB/wFCAVsBZgGyATACMQFNAwcBCQJEAUMBegL0AeQC/wHMAUIB/wH+AcsBQQH/AewB0gGG
- Af8C2gHJAf8C2AHHAf8C1gHFAf8C1AHDAf8C0wHCAf8C0QHAAf8CzwG+Af8CzgG9Af8CzQG8Af8C9AHk
- Af8CRAFDAXoCRgE+AXoC9AHkAv8BzAFDAf8B/gHLAUIB/wHsAdIBhgH/AtoByQH/AtgBxwH/AtYBxQH/
- AtQBwwH/AtMBwgH/AtEBwAH/As8BvgH/As4BvQH/As0BvAH/AvQB5AH/AkYBPgF6AkQBQwF6AvQB5AL/
- AcwBQgH/Af4BywFBAf8B7AHSAYYB/wLaAckB/wLYAccB/wHnAWEBPwH/AecBYQE/Af8B5wFhAT8B/wHn
- AWEBPwH/As8BvgH/As4BvQH/As0BvAH/AvQB5AH/AkQBQwF6CAABQwFXAWABpAGKAdMB8AH/AYIBzQHr
- Af8BggHNAesB/wGKAdMB8AH/ASQBfAGrAf8BegG5AdgB/wF6AbkB2AH/AYoBzgHwAf8BigHOAfAB/wGP
- AdMB9AH/AfQBtgEsAf8BQwFXAWABpAQAAkQBQgF3AvUB5gL/AcwBQgL/Ae4BiAH/AewB0gGGAf8C9QHu
- Af8C9QHuAf8C1gHFAf8C9QHuAf8C9QHuAf8C0QHAAf8C9QHuAf8C9QHuAf8CzQG8Af8C9QHmAf8CRAFC
- AXcCRwE/AXcC9QHmAv8BzAFDAv8B7gGIAf8B7AHSAYYB/wL1Ae4B/wL1Ae4B/wLWAcUB/wL1Ae4B/wL1
- Ae4B/wLRAcAB/wL1Ae4B/wL1Ae4B/wLNAbwB/wL1AeYB/wJHAT8BdwJEAUIBdwL1AeYC/wHMAUIC/wHu
- AYgB/wHsAdIBhgH/AvUB7gH/AvUB7gH/AdkBWAE2Af8B8gHJAbgB/wHyAckBuAH/AdkBWAE2Af8C9QHu
- Af8C9QHuAf8CzQG8Af8C9QHmAf8CRAFCAXcIAAFDAVUBXgGeAY4B1gHyAf8BhwHQAe0B/wGHAdAB7QH/
- AY4B1gHyAf8BJgGCAa8B/wF7AboB2AH/AXsBugHYAf8BiwHPAfEB/wGLAc8B8QH/AZEB1QH1Af8B/gHJ
- AT8B/wFDAVUBXgGeBAACQwFBAXUC9gHpAv8BzAFCAf8B/gHLAUEB/wHsAdIBhgH/AtoByQH/AtgBxwH/
- AtwBzAH/AtQBwwH/AtMBwgH/AtgByAH/As8BvgH/As4BvQH/As0BvAH/AvYB6QH/AkMBQQF1AkcBPwF1
- AvYB6QL/AcwBQwH/Af4BywFCAf8B7AHSAYYB/wLaAckB/wLYAccB/wLcAcwB/wLUAcMB/wLTAcIB/wLY
- AcgB/wLPAb4B/wLOAb0B/wLNAbwB/wL2AekB/wJHAT8BdQJDAUEBdQL2AekC/wHMAUIB/wH+AcsBQQH/
- AewB0gGGAf8C2gHJAf8C2AHHAf8ByAFPAS0B/wHeAbYBngH/Ad4BtQGdAf8ByAFPAS0B/wLPAb4B/wLO
- Ab0B/wLNAbwB/wL2AekB/wJDAUEBdQgAAUQBVQFdAZsBkgHaAfQB/wGLAdQB8AH/AYsB1AHwAf8BkgHa
- AfQB/wEpAYUBswH/AX0BvAHaAf8BfQG8AdoB/wGNAdEB8wH/AY0B0QHzAf8BkwHXAfYB/wLrAd0B/wFE
- AVUBXQGbBAACQgFBAXMC9wHrAv8BzAFCAv8B7gGIAf8B7AHSAYYB/wL3AfEB/wL3AfEB/wLWAcUB/wL3
- AfEB/wL3AfEB/wLRAcAB/wL3AfEB/wL3AfEB/wLNAbwB/wL3AesB/wJCAUEBcwJHAT8BcwL3AesC/wHM
- AUMC/wHuAYgB/wHsAdIBhgH/AvcB8QH/AvcB8QH/AtYBxQH/AvcB8QH/AvcB8QH/AtEBwAH/AvcB8QH/
- AvcB8QH/As0BvAH/AvcB6wH/AkcBPwFzAkIBQQFzAvcB6wL/AcwBQgL/Ae4BiAH/AewB0gGGAf8C9wHx
- Af8C9wHxAf8BuAFHASUB/wHzAcsBuQH/AfMBywG5Af8BuAFHASUB/wL3AfEB/wL3AfEB/wLNAbwB/wL3
- AesB/wJCAUEBcwgAAUQBUwFbApcB3gH2Af8BkAHYAfIB/wGQAdgB8gH/AZcB3gH2Af8BKwGJAbcB/wGA
- Ab0B3AH/AYABvQHcAf8BjwHTAfUB/wGPAdMB9QH/AZUB2QH4Af8C9QHuAf8BRAFTAVsBlwQAAkIBQQFy
- AvgB7gL/AcwBQgH/Af4BywFBAf8B7AHSAYYB/wLaAckB/wLYAccB/wLdAc4B/wLUAcMB/wLTAcIB/wLZ
- AcoB/wLPAb4B/wLOAb0B/wLNAbwB/wL4Ae4B/wJCAUEBcgJIAUABcgL4Ae4B/wHsAYYBYwH/AeIBewFZ
- Af8B1AFuAUwB/wHEAWABPgH/AbYBUgEwAf8BrQFHASUB/wGrAUMBIQH/AbEBRAEiAf8BvQFKASgB/wHM
- AVIBMAH/AdsBWgE4Af8B6AFiAUAB/wL4Ae4B/wJIAUABcgJCAUEBcgL4Ae4C/wHMAUIB/wH+AcsBQQH/
- AewB0gGGAf8C2gHJAf8C2AHHAf8BrQFCASAB/wHeAbYBngH/Ad4BtQGdAf8BrQFCASAB/wLPAb4B/wLO
- Ab0B/wLNAbwB/wL4Ae4B/wJCAUEBcggAAUQBUwFaAZQBmwHhAfcB/wGUAdsB9AH/AZQB2wH0Af8BmwHh
- AfcB/wEuAY0BvAH/AYEBvgHdAf8BgQG+Ad0B/wGQAdQB9gH/AZAB1AH2Af8BlwHbAfkB/wL+Af0B/wFE
- AVMBWgGUBAACQQFAAXAC+QHxAv8BzAFCAv8B7gGIAf8B7AHSAYYB/wL5AfUB/wL5AfUB/wLWAcUB/wL5
- AfUB/wL5AfUB/wLRAcAB/wL5AfUB/wL5AfUB/wLNAbwB/wL5AfEB/wJBAUABcAJHAUABcAL5AfEB/wHs
- AYYBYwH/AfgBxQF5Af8B7QG1AXgB/wH1AcwBvAH/AfUBzAG8Af8B4AG3AZ8B/wH1AcwBvAH/AfUBzAG8
- Af8B3QG0AZwB/wH1AcwBvAH/AfUBzAG8Af8B6AFiAUAB/wL5AfEB/wJHAUABcAJBAUABcAL5AfEC/wHM
- AUIC/wHuAYgB/wHsAdIBhgH/AvkB9QH/AvkB9QH/AasBRAEiAf8B9QHMAbwB/wH1AcwBvAH/AasBRAEi
- Af8C+QH1Af8C+QH1Af8CzQG8Af8C+QHxAf8CQQFAAXAIAAFEAVEBVwGQAZ4B5QH5Af8BmAHfAfYB/wGY
- Ad8B9gH/AZ4B5QH5Af8BMAGQAcAB/wGDAcAB3wH/AYMBwAHfAf8BkgHWAfgB/wGSAdYB+AH/AZkB3QH6
- Af8BRAFRAVcBkAMjATMEAAJBAUABbgL7AfQC/wHMAUIB/wH+AcsBQQH/AewB0gGGAf8C2gHJAf8C2AHH
- Af8C3gHQAf8C1AHDAf8C0wHCAf8C2gHMAf8CzwG+Af8CzgG9Af8CzQG8Af8C+wH0Af8CQQFAAW4CRwFA
- AW4C+wH0Af8B7AGGAWMB/wHiAXsBWQH/AdQBbgFMAf8BxAFgAT4B/wG2AVIBMAH/Aa0BRwElAf8BqwFD
- ASEB/wGxAUQBIgH/Ab0BSgEoAf8BzAFSATAB/wHbAVoBOAH/AegBYgFAAf8C+wH0Af8CRwFAAW4CQQFA
- AW4C+wH0Av8BzAFCAf8B/gHLAUEB/wHsAdIBhgH/AtoByQH/AtgBxwH/AbIBTAEqAf8B3gG2AZ4B/wHe
- AbUBnQH/AbIBTAEqAf8CzwG+Af8CzgG9Af8CzQG8Af8C+wH0Af8CQQFAAW4IAAFDAU8BVQGNAaMB6AH7
- Af8BnQHjAfkB/wGdAeMB+QH/AaMB6AH7Af8BMwGUAcUB/wGFAcIB4QH/AYUBwgHhAf8BlAHYAfoB/wGU
- AdgB+gH/AZsB3wH8Af8BQwFPAVUBjQgAAkABPwFtAvwB9wL/AcwBQgL/Ae4BiAH/AewB0gGGAf8C/AH6
- Af8C/AH6Af8C1gHFAf8C/AH6Af8C/AH6Af8C0QHAAf8C/AH6Af8C/AH6Af8CzQG8Af8C/AH3Af8CQAE/
- AW0CRwFAAW0C/AH3Av8BzAFDAv8B7gGIAf8B7AHSAYYB/wL8AfoB/wL8AfoB/wLWAcUB/wL8AfoB/wL8
- AfoB/wLRAcAB/wL8AfoB/wL8AfoB/wLNAbwB/wL8AfcB/wJHAUABbQJAAT8BbQL8AfcC/wHMAUIC/wHu
- AYgB/wHsAdIBhgH/AvwB+gH/AvwB+gH/AcABWgE4Af8B9gHOAb8B/wH2Ac4BvwH/AcABWgE4Af8C/AH6
- Af8C/AH6Af8CzQG8Af8C/AH3Af8CQAE/AW0IAAFDAU8BVAGKAaYB6wH8Af8BoQHmAfsB/wGhAeYB+wH/
- AaYB6wH8Af8BOgGdAc8B/wGHAcQB4gH/AYcBxAHiAf8BlgHaAfwB/wGWAdoB/AH/AZ4B4gH9Af8BQwFP
- AVQBiggAAj8BPgFrAv0B+QL/AcwBQgH/Af4BywFBAf8B9QHOAWIB/wHrAdIBhQH/AekB0AGDAf8B5wHO
- AYEB/wHlAcwBgAH/AeQBywF8Af8B4gHJAXoB/wHgAccBeAH/Ad8BxgF3Af8B3gHFAXYB/wL9AfkB/wI/
- AT4BawJHAUABawL9AfkC/wHMAUMB/wH+AcsBQgH/AfUBzgFjAf8B6wHSAYUB/wHpAdABgwH/AecBzgGB
- Af8B5QHMAYAB/wHkAcsBfQH/AeIByQF7Af8B4AHHAXkB/wHfAcYBeAH/Ad4BxQF3Af8C/QH5Af8CRwFA
- AWsCPwE+AWsC/QH5Av8BzAFCAf8B/gHLAUEB/wH1Ac4BYgH/AesB0gGFAf8B6QHQAYMB/wHRAWoBSAH/
- AekBsQF0Af8B6AGwAXMB/wHRAWoBSAH/AeABxwF4Af8B3wHGAXcB/wHeAcUBdgH/Av0B+QH/Aj8BPgFr
- CAABQgFNAVIBhwGpAe4B/QH/AaQB6QH8Af8BpAHpAfwB/wGqAe8B/QH/AUABoQHRAf8BkAHRAfEB/wGW
- AdoB+wH/AZcB2wH9Af8BlwHbAf0B/wGfAeMB/gH/AUIBTQFSAYcIAAI/AT4BagL+AfwC/wHMAUIC/wHu
- AYgB/wH9AcoBQAH/AfwB6wGFAf8B+wHqAYQB/wH4AcUBOwH/AfYB5QF9Af8B9AHjAXsB/wHzAcABNgH/
- AfEB4AF4Af8B7wHeAXYB/wHvAbwBMgH/Av4B/AH/Aj8BPgFqAkcBQAFqAv4B/AL/AcwBQwL/Ae4BiAH/
- Af0BygFBAf8B/AHrAYUB/wH7AeoBhAH/AfgBxQE8Af8B9gHlAX4B/wH0AeMBfAH/AfMBwAE3Af8B8QHg
- AXkB/wHvAd4BdwH/Ae8BvAEzAf8C/gH8Af8CRwFAAWoCPwE+AWoC/gH8Av8BzAFCAv8B7gGIAf8B/QHK
- AUAB/wH8AesBhQH/AfsB6gGEAf8B4QF5AVcB/wHzAcABcwH/AfIBvwFyAf8B4QF5AVcB/wHxAeABeAH/
- Ae8B3gF2Af8B7wG8ATIB/wL+AfwB/wI/AT4BaggAAUMBTAFSAYUBrQHxAv8BqwHvAf4B/wGVAeIB+AH/
- AWwByQHtAf8BRgGpAdkB/wGYAdwB/gH/AZgB3AH+Af8BmAHcAf4B/wGYAdwB/gH/AaEB5QL/AUMBTAFS
- AYUIAAI+AT0BaAL/Af4C/wHMAUIB/wH+AcsBQQH/Af0BygFAAf8B/AHJAT8B/wH6AccBPQH/AfgBxQE7
- Af8B9gHDAToB/wH1AcIBOAH/AfMBwAE2Af8B8QG+ATQB/wHwAb0BMwH/Ae8BvAEyA/8B/gH/Aj4BPQFo
- AkcBQAFoAv8B/gL/AcwBQwH/Af4BywFCAf8B/QHKAUEB/wH8AckBQAH/AfoBxwE+Af8B+AHFATwB/wH2
- AcMBOwH/AfUBwgE5Af8B8wHAATcB/wHxAb4BNQH/AfABvQE0Af8B7wG8ATMD/wH+Af8CRwFAAWgCPgE9
- AWgC/wH+Av8BzAFCAf8B/gHLAUEB/wH9AcoBQAH/AfwByQE/Af8B+gHHAT0B/wHsAYYBYgH/AewBhgFi
- Af8B7AGGAWIB/wHsAYYBYgH/AfEBvgE0Af8B8AG9ATMB/wHvAbwBMgP/Af4B/wI+AT0BaAgAAUMBTAFQ
- AYMBiAHcAfQB/wFeAcAB6QH/AV0BvwHqAf8BgAHTAfQB/wGcAeMB/QH/AaIB5gL/AaIB5gL/AaIB5gL/
- AaIB5gL/AaYB6gL/AUMBTAFQAYMIAAI+AT0BZzj/Aj4BPQFnAkcBQAFnOP8CRwFAAWcCPgE9AWc4/wI+
- AT0BZwgAATkBOwE9AWEBQgFLAU8BgQFCAUsBTwGBAUIBSwFPAYEBQgFLAU8BgQFCAUsBTwGBAUIBSwFP
- AYEBQgFLAU8BgQFCAUsBTwGBAUIBSwFPAYEBQgFLAU8BgQE5ATsBPQFhCAADMQFNAj4BPQFmAj4BPQFm
- Aj4BPQFmAj4BPQFmAj4BPQFmAj4BPQFmAj4BPQFmAj4BPQFmAj4BPQFmAj4BPQFmAj4BPQFmAj4BPQFm
- Aj4BPQFmAj4BPQFmAzEBTQI3ATQBTQJHAUABZgJHAUABZgJHAUABZgJHAUABZgJHAUABZgJHAUABZgJH
- AUABZgJHAUABZgJHAUABZgJHAUABZgJHAUABZgJHAUABZgJHAUABZgJHAUABZgI3ATQBTQMxAU0CPgE9
- AWYCPgE9AWYCPgE9AWYCPgE9AWYCPgE9AWYCPgE9AWYCPgE9AWYCPgE9AWYCPgE9AWYCPgE9AWYCPgE9
- AWYCPgE9AWYCPgE9AWYCPgE9AWYDMQFNAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYA
- A/8RAAGAAf8BgAEBBQABfwEAAQEFAAE/AQABAQUAAR8BAAEBBAABgAEPAYABAQQAAcABBwHAAQMEAAHg
- AQMB4AEDBAAB8AEBAfABAQQAAfgBAAH4BQAB/AEAAfwFAAH+AQgB/gEIBAAB/wEAAf8FAAH/AYAB/wGA
- BAAB/wHAAf8BwAQAAfgBfwYAAeABPxYAAcABAQYAAcABAQYAAcABAQYAAcABAQYAAcABAQYAAcABAQYA
- AcABAwYAAcABAwYAAcABAwYAAcABAwYAAcABAwYAAcABAwYACw==
-
-
-
- 211, 17
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAK6SURBVDhPjZNbSNNRHMfPU9DtwR71oZf5IgkF0YMEEYb2
- EGgG5YNgGQmGSUoYimbel5KKmlM0u3jJSpv3ad7WnGkzb2yO4bByF3WuuTnnnLv47Zw/9YclQQc+/L//
- P+d8/r/f+Z8/Ib/HjJDcmhaS3P+Bzf2zjr8qiki+QyuE6dNNbIzFw6F8DJ++AVh97c9GK9jcA4LJAlKI
- rQ7sW9/DpauGZSoFg6JwfJSU+TE0XIXOgqCaAwJ5ASn2bb6F19TM4bO+w4z4HgwWC9YcDugpK3Y7umQy
- FOZEDMRkZQX7SWS5pMRrboVn9RUHy1/aEqDSajGn0WDZbIZ6bQ0t/f1gIzojI8lPMvaIPPWsN2FP/5yD
- ZdmLWLwUi/FhZASSqSlOUtXczBMcGZnFVzGUTSr2jI1wfq/lYHms4Tqkc3MYnZ2F0mDAqs3GV8LaiUhN
- TeYFA5mkenelHg5tNQfLw3UxaOrpQZdUiu7xca5/Mc0do6PQb28jPDk5hRf0PiQi5zcR7JoKDpYHaqIg
- VyohW1jg+lcZjVwlCzod1p1OXEhMvM8LOtNJvWOpEjZVKQfL/ZVX0NrXh165HP2Tk5hQqzGuUmFQocCm
- y4XzCQlpvKA9jTTa1WWwzBdzsNxdfhmfFxcxQRct0Q3UmEzY2t2FdWcHdrcb5+LiHvCC1hTSbFOWwDyT
- x8GyuDQCbRIJ3tBPp6CfU0pbcdA3M4mDCs7ExqYzwWHKibo7pNs6T4+yIofDSqtof3IJBtqzTq+Hx+uF
- y+OBky5kkh2aT0VFZTNBAEWQFEFqhyvO2pclSe6f03nYnC1EW9FFGOnGGSi+/X14KW6fD3tUtkdzYFiY
- 0O801iWSaNFtUteWGST92nL1R/q1Q7ojAkHV0ZCQkuOhocV/c0wguHvgn2APyuPJ6dI4kpV/gzyjtycp
- gf8g4Begs1B6Kbj3cQAAAABJRU5ErkJggg==
-
-
-
- 337, 17
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/MibViewer.csproj b/src/apps/snmp/LwipMibCompiler/MibViewer/MibViewer.csproj
deleted file mode 100644
index 957c058c..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/MibViewer.csproj
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {86CC0B65-7985-4017-A252-0A7A18DCAEF3}
- WinExe
- Properties
- LwipMibViewer
- MibViewer
- v4.0
- 512
-
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- full
- prompt
- true
- true
- 4
- false
- false
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- AnyCPU
- prompt
- true
- true
- 4
- false
-
-
-
-
-
-
-
-
- Form
-
-
- FormMain.cs
-
-
-
-
- FormMain.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
- {CBE20411-5DB7-487D-825D-7694267BB6F5}
- SharpSnmpLib.Mib
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/Program.cs b/src/apps/snmp/LwipMibCompiler/MibViewer/Program.cs
deleted file mode 100644
index cd3ef314..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/Program.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- * Author: Martin Hentschel
- *
- */
-
-using System;
-using System.Windows.Forms;
-
-namespace LwipMibViewer
-{
- static class Program
- {
- ///
- /// Der Haupteinstiegspunkt für die Anwendung.
- ///
- [STAThread]
- static void Main()
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new FormMain());
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/AssemblyInfo.cs b/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/AssemblyInfo.cs
deleted file mode 100644
index 06e7286c..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// Allgemeine Informationen über eine Assembly werden über die folgenden
-// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
-// die mit einer Assembly verknüpft sind.
-[assembly: AssemblyTitle("LwipMibViewer")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("LwipMibViewer")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
-// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
-// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
-[assembly: ComVisible(false)]
-
-// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
-[assembly: Guid("7ffbd1c1-1c64-45bb-b243-2400446c649d")]
-
-// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
-//
-// Hauptversion
-// Nebenversion
-// Buildnummer
-// Revision
-//
-// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
-// übernehmen, indem Sie "*" eingeben:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Resources.Designer.cs b/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Resources.Designer.cs
deleted file mode 100644
index bf157177..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion:4.0.30319.225
-//
-// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-// der Code erneut generiert wird.
-//
-//------------------------------------------------------------------------------
-
-namespace LwipMibViewer.Properties {
- using System;
-
-
- ///
- /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
- ///
- // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
- // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
- // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
- // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LwipMibViewer.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
- /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Resources.resx b/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Resources.resx
deleted file mode 100644
index af7dbebb..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Settings.Designer.cs b/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Settings.Designer.cs
deleted file mode 100644
index 9831b20f..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion:4.0.30319.225
-//
-// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-// der Code erneut generiert wird.
-//
-//------------------------------------------------------------------------------
-
-namespace LwipMibViewer.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Settings.settings b/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Settings.settings
deleted file mode 100644
index 39645652..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/apps/snmp/LwipMibCompiler/MibViewer/app.config b/src/apps/snmp/LwipMibCompiler/MibViewer/app.config
deleted file mode 100644
index e3656033..00000000
--- a/src/apps/snmp/LwipMibCompiler/MibViewer/app.config
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB
deleted file mode 100644
index 10107955..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
- IANA-ADDRESS-FAMILY-NUMBERS-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- MODULE-IDENTITY,
- mib-2 FROM SNMPv2-SMI
- TEXTUAL-CONVENTION FROM SNMPv2-TC;
-
- ianaAddressFamilyNumbers MODULE-IDENTITY
- LAST-UPDATED "200203140000Z" -- March 14, 2002
- ORGANIZATION "IANA"
- CONTACT-INFO
- "Postal: Internet Assigned Numbers Authority
- Internet Corporation for Assigned Names
- and Numbers
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292-6601
- USA
-
- Tel: +1 310-823-9358
- E-Mail: iana&iana.org"
- DESCRIPTION
- "The MIB module defines the AddressFamilyNumbers
- textual convention."
-
- -- revision history
-
- REVISION "200203140000Z" -- March 14, 2002
- DESCRIPTION "AddressFamilyNumbers assignment 22 to
- fibreChannelWWPN. AddressFamilyNumbers
- assignment 23 to fibreChannelWWNN.
- AddressFamilyNumers assignment 24 to gwid."
-
- REVISION "200009080000Z" -- September 8, 2000
- DESCRIPTION "AddressFamilyNumbers assignment 19 to xtpOverIpv4.
- AddressFamilyNumbers assignment 20 to xtpOverIpv6.
- AddressFamilyNumbers assignment 21 to xtpNativeModeXTP."
-
- REVISION "200003010000Z" -- March 1, 2000
- DESCRIPTION "AddressFamilyNumbers assignment 17 to distinguishedName.
- AddressFamilyNumbers assignment 18 to asNumber."
-
- REVISION "200002040000Z" -- February 4, 2000
- DESCRIPTION "AddressFamilyNumbers assignment 16 to dns."
-
- REVISION "9908260000Z" -- August 26, 1999
- DESCRIPTION "Initial version, published as RFC 2677."
-
- ::= { mib-2 72 }
-
-
- AddressFamilyNumbers ::= TEXTUAL-CONVENTION
-
- STATUS current
- DESCRIPTION
- "The definition of this textual convention with the
- addition of newly assigned values is published
- periodically by the IANA, in either the Assigned
- Numbers RFC, or some derivative of it specific to
- Internet Network Management number assignments.
- (The latest arrangements can be obtained by
- contacting the IANA.)
-
- The enumerations are described as:
-
- other(0), -- none of the following
- ipV4(1), -- IP Version 4
- ipV6(2), -- IP Version 6
- nsap(3), -- NSAP
- hdlc(4), -- (8-bit multidrop)
- bbn1822(5),
- all802(6), -- (includes all 802 media
- -- plus Ethernet 'canonical format')
- e163(7),
- e164(8), -- (SMDS, Frame Relay, ATM)
- f69(9), -- (Telex)
- x121(10), -- (X.25, Frame Relay)
- ipx(11), -- IPX (Internet Protocol Exchange)
- appleTalk(12), -- Apple Talk
- decnetIV(13), -- DEC Net Phase IV
- banyanVines(14), -- Banyan Vines
- e164withNsap(15),
- -- (E.164 with NSAP format subaddress)
- dns(16), -- (Domain Name System)
- distinguishedName(17), -- (Distinguished Name, per X.500)
- asNumber(18), -- (16-bit quantity, per the AS number space)
- xtpOverIpv4(19), -- XTP over IP version 4
- xtpOverIpv6(20), -- XTP over IP version 6
- xtpNativeModeXTP(21), -- XTP native mode XTP
- fibreChannelWWPN(22), -- Fibre Channel World-Wide Port Name
- fibreChannelWWNN(23), -- Fibre Channel World-Wide Node Name
- gwid(24), -- Gateway Identifier
- afi(25), -- AFI for L2VPN information
- reserved(65535)
-
-
-
- Requests for new values should be made to IANA via
- email (iana&iana.org)."
-
- SYNTAX INTEGER {
- other(0),
- ipV4(1),
- ipV6(2),
- nsap(3),
- hdlc(4),
- bbn1822(5),
- all802(6),
- e163(7),
- e164(8),
- f69(9),
- x121(10),
- ipx(11),
- appleTalk(12),
- decnetIV(13),
- banyanVines(14),
- e164withNsap(15),
- dns(16),
- distinguishedName(17), -- (Distinguished Name, per X.500)
- asNumber(18), -- (16-bit quantity, per the AS number space)
- xtpOverIpv4(19),
- xtpOverIpv6(20),
- xtpNativeModeXTP(21),
- fibreChannelWWPN(22),
- fibreChannelWWNN(23),
- gwid(24),
- afi(25),
- reserved(65535)
- }
- END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA-CHARSET-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA-CHARSET-MIB
deleted file mode 100644
index 499d54e4..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA-CHARSET-MIB
+++ /dev/null
@@ -1,345 +0,0 @@
-IANA-CHARSET-MIB DEFINITIONS ::= BEGIN
--- http://www.iana.org/assignments/ianacharset-mib
-
-IMPORTS
- MODULE-IDENTITY,
- mib-2
- FROM SNMPv2-SMI -- [RFC2578]
- TEXTUAL-CONVENTION
- FROM SNMPv2-TC; -- [RFC2579]
-
-ianaCharsetMIB MODULE-IDENTITY
- LAST-UPDATED "200705140000Z"
- ORGANIZATION "IANA"
- CONTACT-INFO " Internet Assigned Numbers Authority
-
- Postal: ICANN
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292
-
- Tel: +1 310 823 9358
- E-Mail: iana&iana.org"
-
- DESCRIPTION "This MIB module defines the IANACharset
- TEXTUAL-CONVENTION. The IANACharset TC is used to
- specify the encoding of string objects defined in
- a MIB.
-
- Each version of this MIB will be released based on
- the IANA Charset Registry file (see RFC 2978) at
- http://www.iana.org/assignments/character-sets.
-
- Note: The IANACharset TC, originally defined in
- RFC 1759, was inaccurately named CodedCharSet.
-
- Note: Best practice is to define new MIB string
- objects with invariant UTF-8 (RFC 3629) syntax
- using the SnmpAdminString TC (defined in RFC 3411)
- in accordance with IETF Policy on Character Sets and
- Languages (RFC 2277).
-
- Copyright (C) The Internet Society (2004). The
- initial version of this MIB module was published
- in RFC 3808; for full legal notices see the RFC
- itself. Supplementary information may be
- available on
- http://www.ietf.org/copyrights/ianamib.html."
-
- -- revision history
-
- REVISION "200705140000Z"
- DESCRIPTION "Registration of new charset 2107."
-
- REVISION "200612070000Z"
- DESCRIPTION "Registration of new charsets numbered 118, 119,
- and 2106."
-
- REVISION "200406080000Z"
- DESCRIPTION "Original version transferred from Printer MIB,
- generated from the IANA maintained assignments
- http://www.iana.org/assignments/character-sets."
-
- ::= { mib-2 106 }
-
-IANACharset ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Specifies an IANA registered 'charset' - coded character set
- (CCS) plus optional character encoding scheme (CES) - terms
- defined in 'IANA Charset Registration Procedures' (RFC 2978).
-
- Objects of this syntax are used to specify the encoding for
- string objects defined in one or more MIBs. For example, the
- prtLocalizationCharacterSet, prtInterpreterDefaultCharSetIn, and
- prtInterpreterDefaultCharSetOut objects defined in Printer MIB.
-
- The current list of 'charset' names and enumerated values
- is contained in the IANA Character Set Registry at:
-
- http://www.iana.org/assignments/character-sets
-
- Enum names are derived from the IANA Charset Registry 'Alias'
- fields that begin with 'cs' (for character set).
- Enum values are derived from the parallel 'MIBenum' fields."
- SYNTAX INTEGER {
- other(1), -- used if the designated
- -- character set is not currently
- -- registered by IANA
- unknown(2), -- used as a default value
- csASCII(3),
- csISOLatin1(4),
- csISOLatin2(5),
- csISOLatin3(6),
- csISOLatin4(7),
- csISOLatinCyrillic(8),
- csISOLatinArabic(9),
- csISOLatinGreek(10),
- csISOLatinHebrew(11),
- csISOLatin5(12),
- csISOLatin6(13),
- csISOTextComm(14),
- csHalfWidthKatakana(15),
- csJISEncoding(16),
- csShiftJIS(17),
- csEUCPkdFmtJapanese(18),
- csEUCFixWidJapanese(19),
- csISO4UnitedKingdom(20),
- csISO11SwedishForNames(21),
- csISO15Italian(22),
- csISO17Spanish(23),
- csISO21German(24),
- csISO60DanishNorwegian(25),
- csISO69French(26),
- csISO10646UTF1(27),
- csISO646basic1983(28),
- csINVARIANT(29),
- csISO2IntlRefVersion(30),
- csNATSSEFI(31),
- csNATSSEFIADD(32),
- csNATSDANO(33),
- csNATSDANOADD(34),
- csISO10Swedish(35),
- csKSC56011987(36),
- csISO2022KR(37),
- csEUCKR(38),
- csISO2022JP(39),
- csISO2022JP2(40),
- csISO13JISC6220jp(41),
- csISO14JISC6220ro(42),
- csISO16Portuguese(43),
- csISO18Greek7Old(44),
- csISO19LatinGreek(45),
- csISO25French(46),
- csISO27LatinGreek1(47),
- csISO5427Cyrillic(48),
- csISO42JISC62261978(49),
- csISO47BSViewdata(50),
- csISO49INIS(51),
- csISO50INIS8(52),
- csISO51INISCyrillic(53),
- csISO54271981(54),
- csISO5428Greek(55),
- csISO57GB1988(56),
- csISO58GB231280(57),
- csISO61Norwegian2(58),
- csISO70VideotexSupp1(59),
- csISO84Portuguese2(60),
- csISO85Spanish2(61),
- csISO86Hungarian(62),
- csISO87JISX0208(63),
- csISO88Greek7(64),
- csISO89ASMO449(65),
- csISO90(66),
- csISO91JISC62291984a(67),
- csISO92JISC62991984b(68),
- csISO93JIS62291984badd(69),
- csISO94JIS62291984hand(70),
- csISO95JIS62291984handadd(71),
- csISO96JISC62291984kana(72),
- csISO2033(73),
- csISO99NAPLPS(74),
- csISO102T617bit(75),
- csISO103T618bit(76),
- csISO111ECMACyrillic(77),
- csa71(78),
- csa72(79),
- csISO123CSAZ24341985gr(80),
- csISO88596E(81),
- csISO88596I(82),
- csISO128T101G2(83),
- csISO88598E(84),
- csISO88598I(85),
- csISO139CSN369103(86),
- csISO141JUSIB1002(87),
- csISO143IECP271(88),
- csISO146Serbian(89),
- csISO147Macedonian(90),
- csISO150(91),
- csISO151Cuba(92),
- csISO6937Add(93),
- csISO153GOST1976874(94),
- csISO8859Supp(95),
- csISO10367Box(96),
- csISO158Lap(97),
- csISO159JISX02121990(98),
- csISO646Danish(99),
- csUSDK(100),
- csDKUS(101),
- csKSC5636(102),
- csUnicode11UTF7(103),
- csISO2022CN(104),
- csISO2022CNEXT(105),
- csUTF8(106),
- csISO885913(109),
- csISO885914(110),
- csISO885915(111),
- csISO885916(112),
- csGBK(113),
- csGB18030(114),
- csOSDEBCDICDF0415(115),
- csOSDEBCDICDF03IRV(116),
- csOSDEBCDICDF041(117),
- csISO115481(118),
- csKZ1048(119),
- csUnicode(1000),
- csUCS4(1001),
- csUnicodeASCII(1002),
- csUnicodeLatin1(1003),
- csUnicodeIBM1261(1005),
- csUnicodeIBM1268(1006),
- csUnicodeIBM1276(1007),
- csUnicodeIBM1264(1008),
- csUnicodeIBM1265(1009),
- csUnicode11(1010),
- csSCSU(1011),
- csUTF7(1012),
- csUTF16BE(1013),
- csUTF16LE(1014),
- csUTF16(1015),
- csCESU8(1016),
- csUTF32(1017),
- csUTF32BE(1018),
- csUTF32LE(1019),
- csBOCU1(1020),
- csWindows30Latin1(2000),
- csWindows31Latin1(2001),
- csWindows31Latin2(2002),
- csWindows31Latin5(2003),
- csHPRoman8(2004),
- csAdobeStandardEncoding(2005),
- csVenturaUS(2006),
- csVenturaInternational(2007),
- csDECMCS(2008),
- csPC850Multilingual(2009),
- csPCp852(2010),
- csPC8CodePage437(2011),
- csPC8DanishNorwegian(2012),
- csPC862LatinHebrew(2013),
- csPC8Turkish(2014),
- csIBMSymbols(2015),
- csIBMThai(2016),
- csHPLegal(2017),
- csHPPiFont(2018),
- csHPMath8(2019),
- csHPPSMath(2020),
- csHPDesktop(2021),
- csVenturaMath(2022),
- csMicrosoftPublishing(2023),
- csWindows31J(2024),
- csGB2312(2025),
- csBig5(2026),
- csMacintosh(2027),
- csIBM037(2028),
- csIBM038(2029),
- csIBM273(2030),
- csIBM274(2031),
- csIBM275(2032),
- csIBM277(2033),
- csIBM278(2034),
- csIBM280(2035),
- csIBM281(2036),
- csIBM284(2037),
- csIBM285(2038),
- csIBM290(2039),
- csIBM297(2040),
- csIBM420(2041),
- csIBM423(2042),
- csIBM424(2043),
- csIBM500(2044),
- csIBM851(2045),
- csIBM855(2046),
- csIBM857(2047),
- csIBM860(2048),
- csIBM861(2049),
- csIBM863(2050),
- csIBM864(2051),
- csIBM865(2052),
- csIBM868(2053),
- csIBM869(2054),
- csIBM870(2055),
- csIBM871(2056),
- csIBM880(2057),
- csIBM891(2058),
- csIBM903(2059),
- csIBBM904(2060),
- csIBM905(2061),
- csIBM918(2062),
- csIBM1026(2063),
- csIBMEBCDICATDE(2064),
- csEBCDICATDEA(2065),
- csEBCDICCAFR(2066),
- csEBCDICDKNO(2067),
- csEBCDICDKNOA(2068),
- csEBCDICFISE(2069),
- csEBCDICFISEA(2070),
- csEBCDICFR(2071),
- csEBCDICIT(2072),
- csEBCDICPT(2073),
- csEBCDICES(2074),
- csEBCDICESA(2075),
- csEBCDICESS(2076),
- csEBCDICUK(2077),
- csEBCDICUS(2078),
- csUnknown8BiT(2079),
- csMnemonic(2080),
- csMnem(2081),
- csVISCII(2082),
- csVIQR(2083),
- csKOI8R(2084),
- csHZGB2312(2085),
- csIBM866(2086),
- csPC775Baltic(2087),
- csKOI8U(2088),
- csIBM00858(2089),
- csIBM00924(2090),
- csIBM01140(2091),
- csIBM01141(2092),
- csIBM01142(2093),
- csIBM01143(2094),
- csIBM01144(2095),
- csIBM01145(2096),
- csIBM01146(2097),
- csIBM01147(2098),
- csIBM01148(2099),
- csIBM01149(2100),
- csBig5HKSCS(2101),
- csIBM1047(2102),
- csPTCP154(2103),
- csAmiga1251(2104),
- csKOI7switched(2105),
- csBRF(2106),
- csTSCII(2107),
- cswindows1250(2250),
- cswindows1251(2251),
- cswindows1252(2252),
- cswindows1253(2253),
- cswindows1254(2254),
- cswindows1255(2255),
- cswindows1256(2256),
- cswindows1257(2257),
- cswindows1258(2258),
- csTIS620(2259),
- reserved(3000)
- }
-END
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-ITU-ALARM-TC-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-ITU-ALARM-TC-MIB
deleted file mode 100644
index 8579485c..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-ITU-ALARM-TC-MIB
+++ /dev/null
@@ -1,333 +0,0 @@
-IANA-ITU-ALARM-TC-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
- TEXTUAL-CONVENTION FROM SNMPv2-TC;
-
- ianaItuAlarmNumbers MODULE-IDENTITY
- LAST-UPDATED "200409090000Z" -- September 09, 2004
- ORGANIZATION "IANA"
- CONTACT-INFO
- "Postal: Internet Assigned Numbers Authority
- Internet Corporation for Assigned Names
- and Numbers
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292-6601
- USA
-
- Tel: +1 310-823-9358
- E-Mail: iana&iana.org"
- DESCRIPTION
- "The MIB module defines the ITU Alarm
- textual convention for objects expected to require
- regular extension.
-
- Copyright (C) The Internet Society (2004). The
- initial version of this MIB module was published
- in RFC 3877. For full legal notices see the RFC
- itself. Supplementary information may be available on:
- http://www.ietf.org/copyrights/ianamib.html"
- REVISION "200409090000Z"
- DESCRIPTION
- "Initial version, published as RFC 3877."
- ::= { mib-2 119 }
-
-
- IANAItuProbableCause ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "ITU-T probable cause values. Duplicate values defined in
- X.733 are appended with X733 to ensure syntactic uniqueness.
- Probable cause value 0 is reserved for special purposes.
-
- The Internet Assigned Number Authority (IANA) is responsible
- for the assignment of the enumerations in this TC.
- IANAItuProbableCause value of 0 is reserved for special
- purposes and MUST NOT be assigned.
-
- Values of IANAItuProbableCause in the range 1 to 1023 are
- reserved for causes that correspond to ITU-T probable cause.
-
- All other requests for new causes will be handled on a
- first-come, first served basis and will be assigned
- enumeration values starting with 1025.
-
- Request should come in the form of well-formed
- SMI [RFC2578] for enumeration names that are unique and
- sufficiently descriptive.
-
- While some effort will be taken to ensure that new probable
- causes do not conceptually duplicate existing probable
- causes it is acknowledged that the existence of conceptual
- duplicates in the starting probable cause list is an known
- industry reality.
-
- To aid IANA in the administration of probable cause names
- and values, the OPS Area Director will appoint one or more
- experts to help review requests.
-
- See http://www.iana.org"
- REFERENCE
- "ITU Recommendation M.3100, 'Generic Network Information
- Model', 1995
- ITU Recommendation X.733, 'Information Technology - Open
- Systems Interconnection - System Management: Alarm
- Reporting Function', 1992
- ITU Recommendation X.736, 'Information Technology - Open
- Systems Interconnection - System Management: Security
- Alarm Reporting Function', 1992"
-
- SYNTAX INTEGER
- {
- -- The following probable causes were defined in M.3100
- aIS (1),
- callSetUpFailure (2),
- degradedSignal (3),
- farEndReceiverFailure (4),
- framingError (5),
- lossOfFrame (6),
- lossOfPointer (7),
- lossOfSignal (8),
- payloadTypeMismatch (9),
- transmissionError (10),
- remoteAlarmInterface (11),
- excessiveBER (12),
- pathTraceMismatch (13),
- unavailable (14),
- signalLabelMismatch (15),
- lossOfMultiFrame (16),
- receiveFailure (17),
- transmitFailure (18),
- modulationFailure (19),
- demodulationFailure (20),
- broadcastChannelFailure (21),
- connectionEstablishmentError (22),
- invalidMessageReceived (23),
- localNodeTransmissionError (24),
- remoteNodeTransmissionError (25),
- routingFailure (26),
- --Values 27-50 are reserved for communications alarm related
- --probable causes
- -- The following are used with equipment alarm.
- backplaneFailure (51),
- dataSetProblem (52),
- equipmentIdentifierDuplication (53),
- externalIFDeviceProblem (54),
- lineCardProblem (55),
- multiplexerProblem (56),
- nEIdentifierDuplication (57),
- powerProblem (58),
- processorProblem (59),
- protectionPathFailure (60),
- receiverFailure (61),
- replaceableUnitMissing (62),
- replaceableUnitTypeMismatch (63),
- synchronizationSourceMismatch (64),
- terminalProblem (65),
- timingProblem (66),
- transmitterFailure (67),
- trunkCardProblem (68),
- replaceableUnitProblem (69),
- realTimeClockFailure (70),
- --An equipment alarm to be issued if the system detects that the
- --real time clock has failed
- antennaFailure (71),
- batteryChargingFailure (72),
- diskFailure (73),
- frequencyHoppingFailure (74),
- iODeviceError (75),
- lossOfSynchronisation (76),
- lossOfRedundancy (77),
- powerSupplyFailure (78),
- signalQualityEvaluationFailure (79),
- tranceiverFailure (80),
- protectionMechanismFailure (81),
- protectingResourceFailure (82),
- -- Values 83-100 are reserved for equipment alarm related probable
- -- causes
- -- The following are used with environmental alarm.
- airCompressorFailure (101),
- airConditioningFailure (102),
- airDryerFailure (103),
- batteryDischarging (104),
- batteryFailure (105),
- commercialPowerFailure (106),
- coolingFanFailure (107),
- engineFailure (108),
- fireDetectorFailure (109),
- fuseFailure (110),
- generatorFailure (111),
- lowBatteryThreshold (112),
- pumpFailure (113),
- rectifierFailure (114),
- rectifierHighVoltage (115),
- rectifierLowFVoltage (116),
- ventilationsSystemFailure (117),
- enclosureDoorOpen (118),
- explosiveGas (119),
- fire (120),
- flood (121),
- highHumidity (122),
- highTemperature (123),
- highWind (124),
- iceBuildUp (125),
- intrusionDetection (126),
- lowFuel (127),
- lowHumidity (128),
- lowCablePressure (129),
- lowTemperatue (130),
- lowWater (131),
- smoke (132),
- toxicGas (133),
- coolingSystemFailure (134),
- externalEquipmentFailure (135),
- externalPointFailure (136),
- -- Values 137-150 are reserved for environmental alarm related
- -- probable causes
- -- The following are used with Processing error alarm.
- storageCapacityProblem (151),
- memoryMismatch (152),
- corruptData (153),
- outOfCPUCycles (154),
- sfwrEnvironmentProblem (155),
- sfwrDownloadFailure (156),
- lossOfRealTimel (157),
- --A processing error alarm to be issued after the system has
- --reinitialised. This will indicate
- --to the management systems that the view they have of the managed
- --system may no longer
- --be valid. Usage example: The managed
- --system issues this alarm after a reinitialization with severity
- --warning to inform the
- --management system about the event. No clearing notification will
- --be sent.
- applicationSubsystemFailure (158),
- configurationOrCustomisationError (159),
- databaseInconsistency (160),
- fileError (161),
- outOfMemory (162),
- softwareError (163),
- timeoutExpired (164),
- underlayingResourceUnavailable (165),
- versionMismatch (166),
- --Values 168-200 are reserved for processing error alarm related
- -- probable causes.
- bandwidthReduced (201),
- congestion (202),
- excessiveErrorRate (203),
- excessiveResponseTime (204),
- excessiveRetransmissionRate (205),
- reducedLoggingCapability (206),
- systemResourcesOverload (207 ),
- -- The following were defined X.733
- adapterError (500),
- applicationSubsystemFailture (501),
- bandwidthReducedX733 (502),
- callEstablishmentError (503),
- communicationsProtocolError (504),
- communicationsSubsystemFailure (505),
- configurationOrCustomizationError (506),
- congestionX733 (507),
- coruptData (508),
- cpuCyclesLimitExceeded (509),
- dataSetOrModemError (510),
- degradedSignalX733 (511),
- dteDceInterfaceError (512),
- enclosureDoorOpenX733 (513),
- equipmentMalfunction (514),
- excessiveVibration (515),
- fileErrorX733 (516),
- fireDetected (517),
- framingErrorX733 (518),
- heatingVentCoolingSystemProblem (519),
- humidityUnacceptable (520),
- inputOutputDeviceError (521),
- inputDeviceError (522),
- lanError (523),
- leakDetected (524),
- localNodeTransmissionErrorX733 (525),
- lossOfFrameX733 (526),
- lossOfSignalX733 (527),
- materialSupplyExhausted (528),
- multiplexerProblemX733 (529),
- outOfMemoryX733 (530),
- ouputDeviceError (531),
- performanceDegraded (532),
- powerProblems (533),
- pressureUnacceptable (534),
- processorProblems (535),
- pumpFailureX733 (536),
- queueSizeExceeded (537),
- receiveFailureX733 (538),
- receiverFailureX733 (539),
- remoteNodeTransmissionErrorX733 (540),
- resourceAtOrNearingCapacity (541),
- responseTimeExecessive (542),
- retransmissionRateExcessive (543),
- softwareErrorX733 (544),
- softwareProgramAbnormallyTerminated (545),
- softwareProgramError (546),
- storageCapacityProblemX733 (547),
- temperatureUnacceptable (548),
- thresholdCrossed (549),
- timingProblemX733 (550),
- toxicLeakDetected (551),
- transmitFailureX733 (552),
- transmiterFailure (553),
- underlyingResourceUnavailable (554),
- versionMismatchX733 (555),
- -- The following are defined in X.736
- authenticationFailure (600),
- breachOfConfidentiality (601),
- cableTamper (602),
- delayedInformation (603),
- denialOfService (604),
- duplicateInformation (605),
- informationMissing (606),
- informationModificationDetected (607),
- informationOutOfSequence (608),
- keyExpired (609),
- nonRepudiationFailure (610),
- outOfHoursActivity (611),
- outOfService (612),
- proceduralError (613),
- unauthorizedAccessAttempt (614),
- unexpectedInformation (615),
-
- other (1024)
- }
-
- IANAItuEventType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The ITU event Type values.
-
- The Internet Assigned Number Authority (IANA) is
- responsible for the assignment of the enumerations
- in this TC.
-
- Request should come in the form of well-formed
- SMI [RFC2578] for enumeration names that are unique
- and sufficiently descriptive.
-
- See http://www.iana.org "
- REFERENCE
- "ITU Recommendation X.736, 'Information Technology - Open
- Systems Interconnection - System Management: Security
- Alarm Reporting Function', 1992"
- SYNTAX INTEGER
- {
- other (1),
- communicationsAlarm (2),
- qualityOfServiceAlarm (3),
- processingErrorAlarm (4),
- equipmentAlarm (5),
- environmentalAlarm (6),
- integrityViolation (7),
- operationalViolation (8),
- physicalViolation (9),
- securityServiceOrMechanismViolation (10),
- timeDomainViolation (11)
- }
-
- END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-LANGUAGE-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-LANGUAGE-MIB
deleted file mode 100644
index 6210f723..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-LANGUAGE-MIB
+++ /dev/null
@@ -1,127 +0,0 @@
-
- IANA-LANGUAGE-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- MODULE-IDENTITY, OBJECT-IDENTITY, mib-2
- FROM SNMPv2-SMI;
-
- ianaLanguages MODULE-IDENTITY
- LAST-UPDATED "200005100000Z" -- May 10, 2000
- ORGANIZATION "IANA"
- CONTACT-INFO
- "Internet Assigned Numbers Authority (IANA)
-
- Postal: ICANN
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292
-
- Tel: +1 310 823 9358 x20
- E-Mail: iana&iana.org"
- DESCRIPTION
- "The MIB module registers object identifier values for
- well-known programming and scripting languages. Every
- language registration MUST describe the format used
- when transferring scripts written in this language.
-
- Any additions or changes to the contents of this MIB
- module require Designated Expert Review as defined in
- the Guidelines for Writing IANA Considerations Section
- document. The Designated Expert will be selected by
- the IESG Area Director of the OPS Area.
-
- Note, this module does not have to register all possible
- languages since languages are identified by object
- identifier values. It is therefore possible to registered
- languages in private OID trees. The references given below are not
- normative with regard to the language version. Other
- references might be better suited to describe some newer
- versions of this language. The references are only
- provided as `a pointer into the right direction'."
-
- -- Revision log, in reverse chronological order
-
- REVISION "200005100000Z" -- May 10, 2000
- DESCRIPTION "Import mib-2 instead of experimental, so that
- this module compiles"
-
- REVISION "199909090900Z" -- September 9, 1999
- DESCRIPTION "Initial version as published at time of
- publication of RFC 2591."
-
- ::= { mib-2 73 }
-
-
- ianaLangJavaByteCode OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "Java byte code to be processed by a Java virtual machine.
- A script written in Java byte code is transferred by using
- the Java archive file format (JAR)."
- REFERENCE
- "The Java Virtual Machine Specification.
- ISBN 0-201-63452-X"
- ::= { ianaLanguages 1 }
-
- ianaLangTcl OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The Tool Command Language (Tcl). A script written in the
- Tcl language is transferred in Tcl source code format."
- REFERENCE
- "Tcl and the Tk Toolkit.
- ISBN 0-201-63337-X"
- ::= { ianaLanguages 2 }
-
- ianaLangPerl OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The Perl language. A script written in the Perl language
- is transferred in Perl source code format."
- REFERENCE
- "Programming Perl.
- ISBN 1-56592-149-6"
- ::= { ianaLanguages 3 }
-
- ianaLangScheme OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The Scheme language. A script written in the Scheme
- language is transferred in Scheme source code format."
- REFERENCE
- "The Revised^4 Report on the Algorithmic Language Scheme.
- MIT Press"
- ::= { ianaLanguages 4 }
-
- ianaLangSRSL OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The SNMP Script Language defined by SNMP Research. A
- script written in the SNMP Script Language is transferred
- in the SNMP Script Language source code format."
- ::= { ianaLanguages 5 }
-
- ianaLangPSL OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The Patrol Script Language defined by BMC Software. A script
- written in the Patrol Script Language is transferred in the
- Patrol Script Language source code format."
- REFERENCE
- "PATROL Script Language Reference Manual, Version 3.0,
- November 30, 1995. BMC Software, Inc. 2101 City West Blvd.,
- Houston, Texas 77042."
- ::= { ianaLanguages 6 }
-
- ianaLangSMSL OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The Systems Management Scripting Language. A script written
- in the SMSL language is transferred in the SMSL source code
- format."
- REFERENCE
- "ISO/ITU Command Sequencer.
- ISO 10164-21 or ITU X.753"
- ::= { ianaLanguages 7 }
-
- END
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-MALLOC-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-MALLOC-MIB
deleted file mode 100644
index 5869a363..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-MALLOC-MIB
+++ /dev/null
@@ -1,67 +0,0 @@
-
-IANA-MALLOC-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
- TEXTUAL-CONVENTION FROM SNMPv2-TC;
-
-ianaMallocMIB MODULE-IDENTITY
- LAST-UPDATED "200301271200Z" -- January 27, 2003
- ORGANIZATION "IANA"
- CONTACT-INFO
- " Internet Assigned Numbers Authority
- Internet Corporation for Assigned Names and Numbers
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292-6601
-
- Phone: +1 310 823 9358
- EMail: iana&iana.org"
- DESCRIPTION
- "This MIB module defines the IANAscopeSource and
- IANAmallocRangeSource textual conventions for use in MIBs
- which need to identify ways of learning multicast scope and
- range information.
-
- Any additions or changes to the contents of this MIB module
- require either publication of an RFC, or Designated Expert
- Review as defined in the Guidelines for Writing IANA
- Considerations Section document. The Designated Expert will
- be selected by the IESG Area Director(s) of the Transport
- Area."
-
- -- revision log
-
- REVISION "200301271200Z" -- January 27, 2003
- DESCRIPTION
- "Initial version."
- ::= { mib-2 102 }
-
-IANAscopeSource ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The source of multicast scope information."
- SYNTAX INTEGER {
- other(1), -- none of the following
- manual(2), -- statically configured
- local(3), -- automatically added by the system,
- -- such as a Source-Specific Multicast
- -- scope
- mzap(4), -- MZAP
- madcap(5) -- MADCAP
- }
-
-IANAmallocRangeSource ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The source of multicast address allocation range
- information."
- SYNTAX INTEGER {
- other(1), -- none of the following
- manual(2), -- statically configured
- local(3) -- automatically added by the system,
- -- such as a Source-Specific Multicast
- -- range
- }
-
-END
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-MAU-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-MAU-MIB
deleted file mode 100644
index 35c3f4a8..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-MAU-MIB
+++ /dev/null
@@ -1,770 +0,0 @@
-IANA-MAU-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- MODULE-IDENTITY, OBJECT-IDENTITY, mib-2
- FROM SNMPv2-SMI
- TEXTUAL-CONVENTION
- FROM SNMPv2-TC
- ;
-
- ianaMauMIB MODULE-IDENTITY
- LAST-UPDATED "200704210000Z" -- April 21, 2007
- ORGANIZATION "IANA"
- CONTACT-INFO " Internet Assigned Numbers Authority
-
- Postal: ICANN
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292
-
- Tel: +1-310-823-9358
- EMail: iana&iana.org"
-
- DESCRIPTION
- "This MIB module defines dot3MauType OBJECT-IDENTITIES and
- IANAifMauListBits, IANAifMauMediaAvailable,
- IANAifMauAutoNegCapBits, and IANAifJackType
-
- TEXTUAL-CONVENTIONs, specifying enumerated values of the
- ifMauTypeListBits, ifMauMediaAvailable / rpMauMediaAvailable,
- ifMauAutoNegCapabilityBits / ifMauAutoNegCapAdvertisedBits /
- ifMauAutoNegCapReceivedBits and ifJackType / rpJackType objects
- respectively, defined in the MAU-MIB.
-
- It is intended that each new MAU type, Media Availability
- state, Auto Negotiation capability and/or Jack type defined by
- the IEEE 802.3 working group and approved for publication in a
- revision of IEEE Std 802.3 will be added to this MIB module,
- provided that it is suitable for being managed by the base
- objects in the MAU-MIB. An Expert Review, as defined in
- RFC 2434 [RFC2434], is REQUIRED for such additions.
-
- The following reference is used throughout this MIB module:
-
- [IEEE802.3] refers to:
- IEEE Std 802.3, 2005 Edition: 'IEEE Standard for
- Information technology - Telecommunications and information
- exchange between systems - Local and metropolitan area
- networks - Specific requirements -
- Part 3: Carrier sense multiple access with collision
- detection (CSMA/CD) access method and physical layer
- specifications'.
-
- This reference should be updated as appropriate when new
- MAU types, Media Availability states, Auto Negotiation
- capabilities, and/or Jack types are added to this MIB module.
-
- Copyright (C) The IETF Trust (2007).
- The initial version of this MIB module was published in
- RFC 4836; for full legal notices see the RFC itself.
- Supplementary information may be available at:
- http://www.ietf.org/copyrights/ianamib.html"
-
- REVISION "200704210000Z" -- April 21, 2007
- DESCRIPTION "Initial version of this MIB as published in
- RFC 4836."
- ::= { mib-2 154 }
-
- -- Textual Conventions
-
- IANAifMauTypeListBits ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "This data type is used as the syntax of the ifMauTypeListBits
- object in the (updated) definition of MAU-MIB's ifMauTable.
-
- The most recent version of this textual convention is available
- in the online version of this MIB module on the IANA web site.
-
- Requests for new values should be made to IANA via email
- (iana&iana.org).
-
- Note that changes in this textual convention SHALL be
- synchronized with relevant changes in the dot3MauType
- OBJECT-IDENTITIES."
- REFERENCE
- "[IEEE802.3], Section 30.5.1.1.2"
- SYNTAX BITS {
- bOther(0), -- other or unknown
- bAUI(1), -- AUI
- b10base5(2), -- 10BASE-5
- bFoirl(3), -- FOIRL
-
- b10base2(4), -- 10BASE-2
- b10baseT(5), -- 10BASE-T duplex mode unknown
- b10baseFP(6), -- 10BASE-FP
- b10baseFB(7), -- 10BASE-FB
- b10baseFL(8), -- 10BASE-FL duplex mode unknown
- b10broad36(9), -- 10BROAD36
- b10baseTHD(10), -- 10BASE-T half duplex mode
- b10baseTFD(11), -- 10BASE-T full duplex mode
- b10baseFLHD(12), -- 10BASE-FL half duplex mode
- b10baseFLFD(13), -- 10BASE-FL full duplex mode
- b100baseT4(14), -- 100BASE-T4
- b100baseTXHD(15), -- 100BASE-TX half duplex mode
- b100baseTXFD(16), -- 100BASE-TX full duplex mode
- b100baseFXHD(17), -- 100BASE-FX half duplex mode
- b100baseFXFD(18), -- 100BASE-FX full duplex mode
- b100baseT2HD(19), -- 100BASE-T2 half duplex mode
- b100baseT2FD(20), -- 100BASE-T2 full duplex mode
-
- b1000baseXHD(21), -- 1000BASE-X half duplex mode
- b1000baseXFD(22), -- 1000BASE-X full duplex mode
- b1000baseLXHD(23), -- 1000BASE-LX half duplex mode
- b1000baseLXFD(24), -- 1000BASE-LX full duplex mode
- b1000baseSXHD(25), -- 1000BASE-SX half duplex mode
- b1000baseSXFD(26), -- 1000BASE-SX full duplex mode
- b1000baseCXHD(27), -- 1000BASE-CX half duplex mode
- b1000baseCXFD(28), -- 1000BASE-CX full duplex mode
- b1000baseTHD(29), -- 1000BASE-T half duplex mode
- b1000baseTFD(30), -- 1000BASE-T full duplex mode
-
- b10GbaseX(31), -- 10GBASE-X
- b10GbaseLX4(32), -- 10GBASE-LX4
-
- b10GbaseR(33), -- 10GBASE-R
- b10GbaseER(34), -- 10GBASE-ER
- b10GbaseLR(35), -- 10GBASE-LR
- b10GbaseSR(36), -- 10GBASE-SR
- b10GbaseW(37), -- 10GBASE-W
- b10GbaseEW(38), -- 10GBASE-EW
- b10GbaseLW(39), -- 10GBASE-LW
- b10GbaseSW(40), -- 10GBASE-SW
- -- new since RFC 3636
- b10GbaseCX4(41), -- 10GBASE-CX4
- b2BaseTL(42), -- 2BASE-TL
- b10PassTS(43), -- 10PASS-TS
- b100BaseBX10D(44), -- 100BASE-BX10D
- b100BaseBX10U(45), -- 100BASE-BX10U
- b100BaseLX10(46), -- 100BASE-LX10
- b1000BaseBX10D(47), -- 1000BASE-BX10D
- b1000BaseBX10U(48), -- 1000BASE-BX10U
- b1000BaseLX10(49), -- 1000BASE-LX10
- b1000BasePX10D(50), -- 1000BASE-PX10D
- b1000BasePX10U(51), -- 1000BASE-PX10U
- b1000BasePX20D(52), -- 1000BASE-PX20D
- b1000BasePX20U(53) -- 1000BASE-PX20U
- }
-
- IANAifMauMediaAvailable ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "This data type is used as the syntax of the
- ifMauMediaAvailable and rpMauMediaAvailable objects in the
- (updated) definition of MAU-MIB's ifMauTable and rpMauTable
- respectively.
-
- Possible values are:
- other(1) - undefined (not listed below)
- unknown(2) - MAU's true state is unknown; e.g.,
- during initialization
- available(3) - link, light, or loopback is normal
- notAvailable(4) - link loss, low light, or no loopback
- remoteFault(5) - a fault has been detected at the
- remote end of the link. This value
- applies to 10BASE-FB, 100BASE-T4 Far
- End Fault Indication and non-specified
- remote faults from a system running
- auto-negotiation
- invalidSignal(6) - invalid signal has been received from
- the other end of the link, 10BASE-FB
- only
- remoteJabber(7) - remote fault, due to jabber
-
- remoteLinkLoss(8) - remote fault, due to link loss
- remoteTest(9) - remote fault, due to test
- offline(10) - offline, Clause 37 Auto-Negotiation
- only
- autoNegError(11) - Auto-Negotiation Error, Clause 37
- Auto-Negotiation only
- pmdLinkFault(12) - PMA/PMD receive link fault. In case
- of PAF (2BASE-TL / 10PASS-TS PHYs),
- all PMEs in the aggregation group have
- detected a link fault
- wisFrameLoss(13) - WIS loss of frame, 10GBASE-W only
- wisSignalLoss(14) - WIS loss of signal, 10GBASE-W only
- pcsLinkFault(15) - PCS receive link fault
- excessiveBER(16) - PCS Bit Error Ratio monitor
- reporting excessive error ratio
- dxsLinkFault(17) - DTE XGXS receive link fault, XAUI only
- pxsLinkFault(18) - PHY XGXS receive link fault, XAUI only
- availableReduced(19) - link normal, reduced bandwidth,
- 2BASE-TL / 10PASS-TS only
- ready(20) - at least one PME in the aggregation
- group is detecting handshake tones,
- 2BASE-TL / 10PASS-TS only
-
- If the MAU is a 10M b/s link or fiber type (FOIRL, 10BASE-T,
- 10BASE-F), then this is equivalent to the link test fail
- state/low light function. For an AUI, 10BASE2, 10BASE5, or
- 10BROAD36 MAU, this indicates whether loopback is detected on
- the DI circuit. The value of this attribute persists between
- packets for MAU types AUI, 10BASE5, 10BASE2, 10BROAD36, and
- 10BASEFP.
-
- At power-up or following a reset, the Media Available state
- will be unknown(2) for AUI, 10BASE5, 10BASE2, 10BROAD36, and
- 10BASE-FP MAUs. For these MAUs loopback will be tested on each
- transmission during which no collision is detected.
- If DI is receiving input when DO returns to IDL after a
- transmission and there has been no collision during the
- transmission, then loopback will be detected. The Media
- Available state will only change during noncollided
- transmissions for AUI, 10BASE2, 10BASE5, 10BROAD36, and
- 10BASE-FP MAUs.
-
- For 100BASE-T2, 100BASE-T4, 100BASE-TX, 100BASE-FX,
- 100BASE-LX10, and 100BASE-BX10 PHYs the enumerations match the
- states within the link integrity state diagram.
- Any MAU that implements management of [IEEE802.3] Clause
- 28 Auto-Negotiation, will map remote fault indication to
- remoteFault(5).
-
- Any MAU that implements management of Clause 37
- Auto-Negotiation, will map the received RF1 and RF2 bits as
- follows: Offline maps to offline(10), Link_Failure maps to
- remoteFault(5), and Auto-Negotiation Error maps to
- autoNegError(11).
-
- The value remoteFault(5) applies to 10BASE-FB remote
- fault indication, the 100BASE-X far-end fault indication, and
- nonspecified remote faults from a system running Clause 28
- Auto-Negotiation.
-
- The value remoteJabber(7), remoteLink loss(8), or remoteTest(9)
- SHOULD be used instead of remoteFault(5) where the reason for
- remote fault is identified in the remote signaling protocol.
- Where a Clause 22 MII or Clause 35 GMII is present, a logic
- one in the remote fault bit maps to the value remoteFault(5),
- a logic zero in the link status bit maps to the enumeration
- notAvailable(4). The value notAvailable(4) takes precedence
- over remoteFault(5).
-
- For 2BASE-TL and 10PASS-TS PHYs, the value unknown(2) maps to
- the condition where the PHY (PCS with connected PMEs) is
- initializing, the value ready(20) maps to the condition where
- the interface is down and at least one PME in the aggregation
- group is ready for handshake, the value available(3) maps to
- the condition where all the PMEs in the aggregation group are
- up, the value notAvailable(4) maps to the condition where all
- the PMEs in the aggregation group are down and no handshake
- tones are detected, the value availableReduced(19) maps to the
- condition where the interface is up, a link fault is detected
- at the receive direction by one or more PMEs in the
- aggregation group, but at least one PME is up and the
- enumeration pmdLinkFault(12) maps to the condition where a link
- fault is detected at the receive direction by all of the PMEs
- in the aggregation group.
-
- For 10 Gb/s the enumerations map to value of the link_fault
- variable within the Link Fault Signaling state diagram
- as follows: the value OK maps to the value available(3),
- the value Local Fault maps to the value notAvailable(4),
- and the value Remote Fault maps to the value remoteFault(5).
- The value pmdLinkFault(12), wisFrameLoss(13),
- wisSignalLoss(14), pcsLinkFault(15), excessiveBER(16), or
- dxsLinkFault(17) SHOULD be used instead of the value
- notAvailable(4), where the reason for the Local Fault state can
- be identified through the use of the Clause 45 MDIO Interface.
- Where multiple reasons for the Local Fault state can be
- identified, only the highest precedence error SHOULD be
-
- reported. This precedence in descending order is as follows:
-
- pxsLinkFault
- pmdLinkFault
- wisFrameLoss
- wisSignalLoss
- pcsLinkFault
- excessiveBER
- dxsLinkFault.
-
- Where a Clause 45 MDIO interface is present a logic zero in
- the PMA/PMD Receive link status bit ([IEEE802.3]
- Section 45.2.1.2.2) maps to the value pmdLinkFault(12),
- logic one in the LOF status bit (Section 45.2.2.10.4) maps
- to the value wisFrameLoss(13), a logic one in the LOS
- status bit (Section 45.2.2.10.5) maps to the value
- wisSignalLoss, a logic zero in the PCS Receive
- link status bit (Section 45.2.3.2.2) maps to the value
- pcsLinkFault(15), a logic one in the 10GBASE-R PCS Latched
- high BER status bit (Section 45.2.3.12.2) maps to the value
- excessiveBER, a logic zero in the DTE XS receive link status
- bit (Section 45.2.5.2.2) maps to the value dxsLinkFault(17)
- and a logic zero in the PHY XS transmit link status bit
- (Section 45.2.4.2.2) maps to the value pxsLinkFault(18).
-
- The most recent version of this textual convention is available
- in the online version of this MIB module on the IANA web site.
-
- Requests for new values should be made to IANA via email
- (iana&iana.org)."
- REFERENCE
- "[IEEE802.3], Section 30.5.1.1.4"
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- available(3),
- notAvailable(4),
- remoteFault(5),
- invalidSignal(6),
- remoteJabber(7),
- remoteLinkLoss(8),
- remoteTest(9),
- offline(10),
- autoNegError(11),
- pmdLinkFault(12),
- wisFrameLoss(13),
- wisSignalLoss(14),
- pcsLinkFault(15),
-
- excessiveBER(16),
- dxsLinkFault(17),
- pxsLinkFault(18),
- availableReduced(19),
- ready(20)
- }
-
- IANAifMauAutoNegCapBits ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "This data type is used as the syntax of the
- ifMauAutoNegCapabilityBits, ifMauAutoNegCapAdvertisedBits, and
- ifMauAutoNegCapReceivedBits objects in the (updated) definition
- of MAU-MIB's ifMauAutoNegTable.
-
- The most recent version of this textual convention is available
- in the online version of this MIB module on the IANA web site.
-
- Requests for new values should be made to IANA via email
- (iana&iana.org)."
- REFERENCE
- "[IEEE802.3], Section 30.6.1.1.5"
- SYNTAX BITS {
- bOther(0), -- other or unknown
- b10baseT(1), -- 10BASE-T half duplex mode
- b10baseTFD(2), -- 10BASE-T full duplex mode
- b100baseT4(3), -- 100BASE-T4
- b100baseTX(4), -- 100BASE-TX half duplex mode
- b100baseTXFD(5), -- 100BASE-TX full duplex mode
- b100baseT2(6), -- 100BASE-T2 half duplex mode
- b100baseT2FD(7), -- 100BASE-T2 full duplex mode
- bFdxPause(8), -- PAUSE for full-duplex links
- bFdxAPause(9), -- Asymmetric PAUSE for full-duplex
- -- links
- bFdxSPause(10), -- Symmetric PAUSE for full-duplex
- -- links
- bFdxBPause(11), -- Asymmetric and Symmetric PAUSE for
- -- full-duplex links
- b1000baseX(12), -- 1000BASE-X, -LX, -SX, -CX half
- -- duplex mode
- b1000baseXFD(13), -- 1000BASE-X, -LX, -SX, -CX full
- -- duplex mode
- b1000baseT(14), -- 1000BASE-T half duplex mode
- b1000baseTFD(15) -- 1000BASE-T full duplex mode
- }
-
- IANAifJackType ::= TEXTUAL-CONVENTION
- STATUS current
-
- DESCRIPTION
- "Common enumeration values for repeater and interface MAU
- jack types. This data type is used as the syntax of the
- ifJackType and rpJackType objects in the (updated) definition
- of MAU-MIB's ifJackTable and rpJackTable respectively.
-
- Possible values are:
- other(1) - undefined or unknown
- rj45(2) - RJ45
- rj45S(3) - RJ45 shielded
- db9(4) - DB9
- bnc(5) - BNC
- fAUI(6) - AUI female
- mAUI(7) - AUI male
- fiberSC(8) - SC fiber
- fiberMIC(9) - MIC fiber
- fiberST(10) - ST fiber
- telco(11) - Telco
- mtrj(12) - MT-RJ fiber
- hssdc(13) - fiber channel style-2
- fiberLC(14) - LC fiber
- cx4(15) - IB4X for 10GBASE-CX4
-
- The most recent version of this textual convention is available
- in the online version of this MIB module on the IANA web site.
-
- Requests for new values should be made to IANA via email
- (iana&iana.org)."
- SYNTAX INTEGER {
- other(1),
- rj45(2),
- rj45S(3),
- db9(4),
- bnc(5),
- fAUI(6),
- mAUI(7),
- fiberSC(8),
- fiberMIC(9),
- fiberST(10),
- telco(11),
- mtrj(12),
- hssdc(13),
- fiberLC(14),
- -- new since RFC 3636
- cx4(15)
- }
-
- -- OBJECT IDENTITIES for MAU types
-
- -- (see rpMauType and ifMauType of MAU-MIB for usage)
- -- The following definitions has been moved from RFC 3636 and
- -- no longer appear in its revision.
-
- dot3MauType OBJECT IDENTIFIER ::= { mib-2 snmpDot3MauMgt(26) 4 }
-
- dot3MauTypeAUI OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "no internal MAU, view from AUI"
- REFERENCE "[IEEE802.3], Section 7"
- ::= { dot3MauType 1 }
-
- dot3MauType10Base5 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "thick coax MAU"
- REFERENCE "[IEEE802.3], Section 7"
- ::= { dot3MauType 2 }
-
- dot3MauTypeFoirl OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "FOIRL MAU"
- REFERENCE "[IEEE802.3], Section 9.9"
- ::= { dot3MauType 3 }
-
- dot3MauType10Base2 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "thin coax MAU"
- REFERENCE "[IEEE802.3], Section 10"
- ::= { dot3MauType 4 }
-
- dot3MauType10BaseT OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "UTP MAU.
- Note that it is strongly recommended that
- agents return either dot3MauType10BaseTHD or
- dot3MauType10BaseTFD if the duplex mode is
- known. However, management applications should
- be prepared to receive this MAU type value from
- older agent implementations."
- REFERENCE "[IEEE802.3], Section 14"
- ::= { dot3MauType 5 }
-
- dot3MauType10BaseFP OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "passive fiber MAU"
- REFERENCE "[IEEE802.3], Section 16"
- ::= { dot3MauType 6 }
-
- dot3MauType10BaseFB OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "sync fiber MAU"
- REFERENCE "[IEEE802.3], Section 17"
- ::= { dot3MauType 7 }
-
- dot3MauType10BaseFL OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "async fiber MAU.
- Note that it is strongly recommended that
- agents return either dot3MauType10BaseFLHD or
- dot3MauType10BaseFLFD if the duplex mode is
- known. However, management applications should
- be prepared to receive this MAU type value from
- older agent implementations."
- REFERENCE "[IEEE802.3], Section 18"
- ::= { dot3MauType 8 }
-
- dot3MauType10Broad36 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "broadband DTE MAU.
- Note that 10BROAD36 MAUs can be attached to
- interfaces but not to repeaters."
- REFERENCE "[IEEE802.3], Section 11"
- ::= { dot3MauType 9 }
-
- ------ new since RFC 1515:
- dot3MauType10BaseTHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "UTP MAU, half duplex mode"
- REFERENCE "[IEEE802.3], Section 14"
- ::= { dot3MauType 10 }
-
- dot3MauType10BaseTFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "UTP MAU, full duplex mode"
- REFERENCE "[IEEE802.3], Section 14"
- ::= { dot3MauType 11 }
-
- dot3MauType10BaseFLHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "async fiber MAU, half duplex mode"
- REFERENCE "[IEEE802.3], Section 18"
- ::= { dot3MauType 12 }
-
- dot3MauType10BaseFLFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "async fiber MAU, full duplex mode"
-
- REFERENCE "[IEEE802.3], Section 18"
- ::= { dot3MauType 13 }
-
- dot3MauType100BaseT4 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "4 pair category 3 UTP"
- REFERENCE "[IEEE802.3], Section 23"
- ::= { dot3MauType 14 }
-
- dot3MauType100BaseTXHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "2 pair category 5 UTP, half duplex mode"
- REFERENCE "[IEEE802.3], Section 25"
- ::= { dot3MauType 15 }
-
- dot3MauType100BaseTXFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "2 pair category 5 UTP, full duplex mode"
- REFERENCE "[IEEE802.3], Section 25"
- ::= { dot3MauType 16 }
-
- dot3MauType100BaseFXHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "X fiber over PMT, half duplex mode"
- REFERENCE "[IEEE802.3], Section 26"
- ::= { dot3MauType 17 }
-
- dot3MauType100BaseFXFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "X fiber over PMT, full duplex mode"
- REFERENCE "[IEEE802.3], Section 26"
- ::= { dot3MauType 18 }
-
- dot3MauType100BaseT2HD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "2 pair category 3 UTP, half duplex mode"
- REFERENCE "[IEEE802.3], Section 32"
- ::= { dot3MauType 19 }
-
- dot3MauType100BaseT2FD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "2 pair category 3 UTP, full duplex mode"
- REFERENCE "[IEEE802.3], Section 32"
- ::= { dot3MauType 20 }
-
- ------ new since RFC 2239:
- dot3MauType1000BaseXHD OBJECT-IDENTITY
- STATUS current
-
- DESCRIPTION "PCS/PMA, unknown PMD, half duplex mode"
- REFERENCE "[IEEE802.3], Section 36"
- ::= { dot3MauType 21 }
-
- dot3MauType1000BaseXFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "PCS/PMA, unknown PMD, full duplex mode"
- REFERENCE "[IEEE802.3], Section 36"
- ::= { dot3MauType 22 }
-
- dot3MauType1000BaseLXHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Fiber over long-wavelength laser, half duplex
- mode"
- REFERENCE "[IEEE802.3], Section 38"
- ::= { dot3MauType 23 }
-
- dot3MauType1000BaseLXFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Fiber over long-wavelength laser, full duplex
- mode"
- REFERENCE "[IEEE802.3], Section 38"
- ::= { dot3MauType 24 }
-
- dot3MauType1000BaseSXHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Fiber over short-wavelength laser, half
- duplex mode"
- REFERENCE "[IEEE802.3], Section 38"
- ::= { dot3MauType 25 }
-
- dot3MauType1000BaseSXFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Fiber over short-wavelength laser, full
- duplex mode"
- REFERENCE "[IEEE802.3], Section 38"
- ::= { dot3MauType 26 }
-
- dot3MauType1000BaseCXHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Copper over 150-Ohm balanced cable, half
- duplex mode"
- REFERENCE "[IEEE802.3], Section 39"
- ::= { dot3MauType 27 }
-
- dot3MauType1000BaseCXFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Copper over 150-Ohm balanced cable, full
-
- duplex mode"
- REFERENCE "[IEEE802.3], Section 39"
- ::= { dot3MauType 28 }
-
- dot3MauType1000BaseTHD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Four-pair Category 5 UTP, half duplex mode"
- REFERENCE "[IEEE802.3], Section 40"
- ::= { dot3MauType 29 }
-
- dot3MauType1000BaseTFD OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Four-pair Category 5 UTP, full duplex mode"
- REFERENCE "[IEEE802.3], Section 40"
- ::= { dot3MauType 30 }
-
- ------ new since RFC 2668:
- dot3MauType10GigBaseX OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "X PCS/PMA, unknown PMD."
- REFERENCE "[IEEE802.3], Section 48"
- ::= { dot3MauType 31 }
-
- dot3MauType10GigBaseLX4 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "X fiber over WWDM optics"
- REFERENCE "[IEEE802.3], Section 53"
- ::= { dot3MauType 32 }
-
- dot3MauType10GigBaseR OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "R PCS/PMA, unknown PMD."
- REFERENCE "[IEEE802.3], Section 49"
- ::= { dot3MauType 33 }
-
- dot3MauType10GigBaseER OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "R fiber over 1550 nm optics"
- REFERENCE "[IEEE802.3], Section 52"
- ::= { dot3MauType 34 }
-
- dot3MauType10GigBaseLR OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "R fiber over 1310 nm optics"
- REFERENCE "[IEEE802.3], Section 52"
- ::= { dot3MauType 35 }
-
- dot3MauType10GigBaseSR OBJECT-IDENTITY
-
- STATUS current
- DESCRIPTION "R fiber over 850 nm optics"
- REFERENCE "[IEEE802.3], Section 52"
- ::= { dot3MauType 36 }
-
- dot3MauType10GigBaseW OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "W PCS/PMA, unknown PMD."
- REFERENCE "[IEEE802.3], Section 49 and 50"
- ::= { dot3MauType 37 }
-
- dot3MauType10GigBaseEW OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "W fiber over 1550 nm optics"
- REFERENCE "[IEEE802.3], Section 52"
- ::= { dot3MauType 38 }
-
- dot3MauType10GigBaseLW OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "W fiber over 1310 nm optics"
- REFERENCE "[IEEE802.3], Section 52"
- ::= { dot3MauType 39 }
-
- dot3MauType10GigBaseSW OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "W fiber over 850 nm optics"
- REFERENCE "[IEEE802.3], Section 52"
- ::= { dot3MauType 40 }
-
- ------ new since RFC 3636:
- dot3MauType10GigBaseCX4 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "X copper over 8 pair 100-Ohm balanced cable"
- REFERENCE "[IEEE802.3], Section 54"
- ::= { dot3MauType 41 }
-
- dot3MauType2BaseTL OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Voice grade UTP copper, up to 2700m, optional PAF"
- REFERENCE "[IEEE802.3], Sections 61 and 63"
- ::= { dot3MauType 42 }
-
- dot3MauType10PassTS OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Voice grade UTP copper, up to 750m, optional PAF"
- REFERENCE "[IEEE802.3], Sections 61 and 62"
- ::= { dot3MauType 43 }
-
- dot3MauType100BaseBX10D OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber OLT, long wavelength, 10km"
- REFERENCE "[IEEE802.3], Section 58"
- ::= { dot3MauType 44 }
-
- dot3MauType100BaseBX10U OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber ONU, long wavelength, 10km"
- REFERENCE "[IEEE802.3], Section 58"
- ::= { dot3MauType 45 }
-
- dot3MauType100BaseLX10 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Two single-mode fibers, long wavelength, 10km"
- REFERENCE "[IEEE802.3], Section 58"
- ::= { dot3MauType 46 }
-
- dot3MauType1000BaseBX10D OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber OLT, long wavelength, 10km"
- REFERENCE "[IEEE802.3], Section 59"
- ::= { dot3MauType 47 }
-
- dot3MauType1000BaseBX10U OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber ONU, long wavelength, 10km"
- REFERENCE "[IEEE802.3], Section 59"
- ::= { dot3MauType 48 }
-
- dot3MauType1000BaseLX10 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "Two sigle-mode fiber, long wavelength, 10km"
- REFERENCE "[IEEE802.3], Section 59"
- ::= { dot3MauType 49 }
-
- dot3MauType1000BasePX10D OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber EPON OLT, 10km"
- REFERENCE "[IEEE802.3], Section 60"
- ::= { dot3MauType 50 }
-
- dot3MauType1000BasePX10U OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber EPON ONU, 10km"
- REFERENCE "[IEEE802.3], Section 60"
- ::= { dot3MauType 51 }
-
- dot3MauType1000BasePX20D OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber EPON OLT, 20km"
- REFERENCE "[IEEE802.3], Section 60"
- ::= { dot3MauType 52 }
-
- dot3MauType1000BasePX20U OBJECT-IDENTITY
- STATUS current
- DESCRIPTION "One single-mode fiber EPON ONU, 20km"
- REFERENCE "[IEEE802.3], Section 60"
- ::= { dot3MauType 53 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-PRINTER-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-PRINTER-MIB
deleted file mode 100644
index 856ed5f8..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-PRINTER-MIB
+++ /dev/null
@@ -1,1319 +0,0 @@
-IANA-PRINTER-MIB DEFINITIONS ::= BEGIN
- -- http://www.iana.org/assignments/ianaprinter-mib
-
-IMPORTS
- MODULE-IDENTITY,
- mib-2
- FROM SNMPv2-SMI -- [RFC2578]
- TEXTUAL-CONVENTION
- FROM SNMPv2-TC; -- [RFC2579]
-
-ianaPrinterMIB MODULE-IDENTITY
- LAST-UPDATED "200509140000Z" -- September 14, 2005
-
- ORGANIZATION "IANA"
- CONTACT-INFO "Internet Assigned Numbers Authority
- Postal: ICANN
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292
-
- Tel: +1 310 823 9358
- E-Mail: iana&iana.org"
-
- DESCRIPTION "This MIB module defines a set of printing-related
- TEXTUAL-CONVENTIONs for use in Printer MIB (RFC 3805),
- Finisher MIB (RFC 3806), and other MIBs which need to
- specify printing mechanism details.
-
- Any additions or changes to the contents of this MIB
- module require either publication of an RFC, or
- Designated Expert Review as defined in RFC 2434,
- Guidelines for Writing an IANA Considerations Section
- in RFCs. The Designated Expert will be selected by
- the IESG Area Director(s) of the Applications Area.
-
- Copyright (C) The Internet Society (2004). The
- initial version of this MIB module was published
- in RFC 3805. For full legal notices see the RFC
- itself or see:
- http://www.ietf.org/copyrights/ianamib.html"
-
- REVISION "200509140000Z" -- September 14, 2005
- DESCRIPTION "Updates to include missing 'unknown' values
- for PrtCoverStatusTC, PrtChannelTypeTC,
- PrtAlertGroupTC and removal of comment for
- for PrtAlertGroupTC."
-
- REVISION "200406020000Z" -- June 2, 2004
- DESCRIPTION "Original version, published in coordination
- with Printer MIB (RFC 3805)."
- ::= { mib-2 109 }
-
---
--- Generic TEXTUAL-CONVENTIONs
---
-
-PrtCoverStatusTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtCoverStatus in RFC 1759.
- STATUS current
- DESCRIPTION
- "Values for encoding the state of a particular cover or
- access panel on the printer case or enclosure."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- coverOpen(3),
- coverClosed(4),
- interlockOpen(5),
- interlockClosed(6)
-
- }
-
---
--- General Group TEXTUAL-CONVENTIONs
---
-
-PrtGeneralResetTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtGeneralReset in RFC 1759.
- STATUS current
- DESCRIPTION
- "Values for reading and writing the prtGeneralReset object.
-
- If a device does not have NVRAM, the device shall none the
- less respond to a SET with the value resetToNVRAM(5) with a
- sort of warm reset that resets the device to implementation-
- defined state that is preferably under control of the system
- administrator by some means outside the scope of the Printer
- MIB specification."
-
- SYNTAX INTEGER {
- notResetting(3),
- powerCycleReset(4), -- Cold Start
- resetToNVRAM(5), -- Warm Start
- resetToFactoryDefaults(6) -- Reset contents of
- -- NVRAM to factory
- -- defaults
- }
---
--- Channel Group TEXTUAL-CONVENTIONs
---
-
-PrtChannelTypeTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtChannelType in RFC 1759.
- STATUS current
- DESCRIPTION
- "This enumeration indicates the type of channel that is
- receiving jobs."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- chSerialPort(3),
- chParallelPort(4),
- chIEEE1284Port(5),
- chSCSIPort(6),
- chAppleTalkPAP(7),
- -- AppleTalk Printer
- -- Access Protocol (PAP)
- --
- -- prtChannelInformation entry:
-
- --
- -- Printer Name
- -- Keyword: Name
- -- Syntax: Name
- -- Status: Optional
- -- Multiplicity: Single
- -- Description: The name of the printer
- -- within the AppleTalk naming scope
- chLPDServer(8),
- -- prtChannelInformation entry:
- --
- -- Printer queue name
- -- Keyword: Queue
- -- Syntax: Name
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: queue name as
- -- defined in [RFC1179].
- chNetwareRPrinter(9),
- -- Novell, Inc.
- -- For each entry of this type, the
- -- prtChannelInformation must have a pair of
- -- keywords. For Netware 3.x channels this must
- -- be a (PServer, Printer) pair. For Netware
- -- 4.x channels and for IntranetWare channels
- -- this must be a (NDSTree, NDSPrinter) pair.
- --
- -- prtChannelInformation entries:
-
- -- Print Server Name
- -- Keyword: PServer
- -- Syntax: Name
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The Pserver's SAP name
- --
- -- Printer Number
- -- Keyword: Printer
- -- Syntax: Integer
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The printer number
- --
- -- NDSTree
- -- Keyword: NDSTree
- -- Syntax: Name
- -- Multiplicity: Single
- -- Description: The tree's SAP name
-
- --
- -- NDS Printer object
- -- Keyword: NDSPrinter
- -- Syntax: Text (Unicode)
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The fully qualified
- -- name of the Printer
- --
- -- In the Netware 3.x environment, the
- -- client checks the Bindery object
- -- representing the named PServer. The
- -- client then checks for queues which
- -- are associated with the numbered
- -- printer. In the 4.x and IntraNetware
- -- environment, the client looks up the
- -- queues which are associated with the
- -- NDS Printer Object in the named Tree.
- -- Depending on client access rights to
- -- those queues, the client submits jobs
- -- to the appropriate queue.
- chNetwarePServer(10),
- -- Novell,Inc.
- -- For each entry of this type, the
- -- prtChannelInformation must have a pair
- -- of keywords. For Netware 3.x channels
- -- this must be a (Server, PServer) pair.
- -- For Netware 4.x and IntranetWare
- -- channels, this must be a
- -- (NDSTree, NDSPServer) pair.
- --
- -- prtChannelInformation entries:
- --
- -- Server Name
- -- Keyword: Server
- -- Syntax: Name
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The SAP name of the
- -- server for which the PServer is defined.
- --
- -- PServer
- -- Keyword: PServer
- -- Syntax: Name
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The bindery name of
- -- the PServer
-
- --
- -- NDS Tree
- -- Keyword: NDSTree
- -- Syntax: Name
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The NDS Tree name
- --
- -- PServer
- -- Keyword: NDSPServer
- -- Syntax: Text (Unicode)
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The fully qualified
- -- name of the PServer object in the tree.
- --
- -- In the 3.x environment, the client
- -- checks the bindery object
- -- representing the named PServer on the
- -- named Server. In the 4.x and
- -- IntranetWare environment,
- -- the client checks the NDS object
- -- representing the named PServer in the
- -- named Tree. In either case, the
- -- client then checks for all queues
- -- associated with the Pserver object.
- -- Depending on client access rights
- -- to those queues, the client submits
- -- jobs to the appropriate queue.
- chPort9100(11),
- -- DEPRECATED
- -- (see chPortTCP - 37; chBidirPortTCP - 38)
- chAppSocket(12),
- -- A bi-directional, LPD-like, protocol using
- -- 9101 for control and 9100 for data.
- -- Adobe Systems, Inc.
- chFTP(13), -- [RFC959]
- chTFTP(14), -- [RFC1350]
- chDLCLLCPort(15),
- chIBM3270(16), -- IBM Coax
- chIBM5250(17), -- IBM Twinax
- chFax(18),
- chIEEE1394(19),
- chTransport1(20),
- -- TCP port 35, for reserved TCP port list see
- -- [RFC3232]. This RFC should also be
- -- referenced for other channel
- -- enumerations utilizing TCP port
-
- -- numbers 0 through 1024.
- chCPAP(21), -- TCP port 170
- -- Digital Equipment Corp.
- chDCERemoteProcCall(22), -- OSF
- -- DEPRECATED
- chONCRemoteProcCall(23), -- SUN Microsystems
- -- DEPRECATED
- chOLE(24), -- Microsoft
- -- DEPRECATED
- chNamedPipe(25),
- chPCPrint(26), -- Banyan
- chServerMessageBlock(27),
- -- File/Print sharing protocol used by
- -- various network operating systems
- -- from IBM 3Com, Microsoft and others
- --
- -- prtChannelInformation entry:
- --
- -- Service Name
- -- Keyword: Name
- -- Syntax: Name
- -- Status: Optional
- -- Multiplicity: Single
- -- Description: The service name of
- -- the printer
- chDPMF(28), -- IBM Infoprint
- chDLLAPI(29), -- Microsoft
- -- DEPRECATED
- chVxDAPI(30), -- Microsoft
- -- DEPRECATED
- chSystemObjectManager(31), -- IBM
- chDECLAT(32),
- -- Digital Equipment Corp.
- --
- -- prtChannelInformation entries:
- --
- -- Port Name
- -- Keyword: Port
- -- Syntax: Name
- -- Status: Conditionally
- -- Mandatory
- -- (see note below)
- -- Multiplicity: Single
- -- Description: LAT port name
- --
- -- Service Name
- -- Keyword: Service
- -- Syntax: Name
-
- -- Status: Conditionally
- -- Mandatory
- -- Multiplicity: Single
- -- Description: LAT service name
- --
- -- The LAT channel may be
- -- identified by either a port or
- -- service, so either a
- -- Port or Service entry must be
- -- specified, but not both.
- chNPAP(33),
- chUSB(34), -- Not in RFC 1759
- -- Universal Serial Bus
- chIRDA(35), -- Not in RFC 1759
- -- Infrared Data Assoc. Prot.
- chPrintXChange(36), -- Not in RFC 1759
- -- PrintXChange Protocol
- chPortTCP(37), -- Not in RFC 1759
- -- A unidirectional "raw" TCP
- -- channel that uses an administratively
- -- assigned TCP port address.
- --
- -- prtChannelInformation entry:
- --
- -- Port Number
- -- Keyword: Port
- -- Syntax: decimal number
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: TCP port number
- chBidirPortTCP(38), -- Not in RFC 1759
- -- A bi-directional version of chPortTCP
- --
- -- prtChannelInformation entries:
- -- (See chPortTCP)
- chUNPP(39), -- Not in RFC 1759
- -- Universal Network Printing
- -- Protocol(UNPP). A bi-directional,
- -- multiport network printing
- -- application protocol available on
- -- multiple transport protocols.
- -- Underscore, Inc.
- -- Contact: info&underscore.com
- chAppleTalkADSP(40), -- Not in RFC 1759
- -- AppleTalk Data Stream Protocol.
- -- ADSP is part of the AppleTalk
- -- suite of protocols.
- -- It is a symmetric, connection-
-
- -- oriented protocol that makes
- -- possible the establishment
- -- and maintenance of full-duplex
- -- streams of data bytes between
- -- two sockets in an AppleTalk
- -- internet.
- -- See [APPLEMAC].
- chPortSPX(41), -- Not in RFC 1759
- -- Sequenced Packet Exchange (SPX)
- -- socket.
- -- Novell, Inc. Similar to TCP, a
- -- bi-directional data pipe using
- -- Novell SPX as a transport.
- --
- -- prtChannelInformation entries:
- --
- -- Network Number
- -- Keyword: Net
- -- Syntax: HexString
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The network number
- --
- -- Node Number
- -- Keyword: Node
- -- Syntax: HexString
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The node number
- --
- -- Socket Number
- -- Keyword: Socket
- -- Syntax: HexString
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The SPX socket number
- --
- -- There must be exactly one "Net" and
- -- one "Node" and one "Socket" entry. A
- -- HexString is a binary value
- -- represented as a string of
- -- ASCII characters using hexadecimal
- -- notation.
- chPortHTTP(42), -- Not in RFC 1759
- -- Hypertext Transfer Protocol. See [RFC1945]
- -- and [RFC2616].
- chNDPS(43), -- Not in RFC 1759
- -- Novell, Inc.
-
- --
- -- prtChannelInformation entry:
- --
- -- Printer Agent Name
- -- Keyword: PA
- -- Syntax: Name
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Description: The NDPS Printer
- -- Agent Name
- chIPP(44), -- Not in RFC 1759
- -- Internet Printing Protocol (IPP),
- -- (IPP/1.1 - see [RFC2910] and [RFC2911])
- -- also applies to all future versions of IPP.
- --
- -- IPP Printer URI
- -- Keyword: URI
- -- Syntax: URI (Unicode UTF-8 per
- -- [RFC2396])
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Default: not applicable
- -- Description: URI of this IPP Printer
- -- within Internet naming scope. Unicode
- -- UTF-8 [RFC3629] string with
- -- hexadecimal escapes for any non-ASCII
- -- characters (per [RFC2396]).
- -- Conformance: An IPP Printer shall list all
- -- IPP URI it supports (one per IPP Channel
- -- entry). If a URI contains the 'http:'
- -- scheme it must have an explicit port.
- -- See: [RFC3629], [RFC2396], [RFC2910],
- -- [RFC2911].
- --
- -- IPP Printer Client Authentication
- -- Keyword: Auth
- -- Syntax: Keyword
- -- Status: Optional
- -- Multiplicity: Single
- -- Default: 'none'
- -- Description: A client authentication
- -- mechanism supported for this IPP Printer
- -- URI:
- -- 'none'
- -- no client authentication mechanism
- -- 'requesting-user-name'
- -- authenticated user in 'requesting-
- -- user-name'
-
- -- 'basic'
- -- authenticated user via HTTP Basic
- -- mechanism
- -- 'digest'
- -- authenticated user via HTTP Digest
- -- mechanism
- -- 'certificate'
- -- authenticated user via certificate
- -- mechanism
- -- Conformance: An IPP Printer should list
- -- all IPP client authentication mechanisms
- -- it supports (one per IPP Channel entry).
- -- See: [RFC2911] and [RFC2910].
- --
- -- IPP Printer Security
- -- Keyword: Security
- -- Syntax: Keyword
- -- Status: Optional
- -- Multiplicity: Single
- -- Default: 'none'
- -- Description: A security mechanism
- -- supported for this IPP Printer URI:
- -- 'none'
- -- no security mechanism
- -- 'ssl3'
- -- SSL3 secure communications channel
- -- protocol
- -- 'tls'
- -- TLS secure communications channel
- -- protocol
- -- Conformance: An IPP Printer should list
- -- all IPP security mechanisms it supports
- -- (one per IPP Channel entry).
- -- See: [RFC2246], [RFC2911].
- --
- -- IPP Printer Protocol Version
- -- Keyword: Version
- -- Syntax: Keyword
- -- Status: Optional
- -- Multiplicity: Multiple
- -- Default: '1.1'
- -- Description: All of the IPP protocol
- -- versions (major.minor) supported for
- -- this IPP Printer URI:
- -- '1.0'
- -- IPP/1.0 conforming Printer
- -- '1.1'
- -- IPP/1.1 conforming Printer
-
- -- Conformance: An IPP Printer should list
- -- all IPP versions it supports (all listed
- -- in each IPP Channel entry). An IPP
- -- Client should select the highest
- -- numbered version the IPP Client supports
- -- for use in all IPP Requests (for optimum
- -- interworking).
- -- See: [RFC2911].
- chSMTP(45)
- -- Print Job submission via Simple Mail
- -- Transfer Protocol (SMTP) - see [RFC2821]
- --
- -- prtChannelInformation entry:
- --
- -- Keyword: Mailto
- -- Syntax: Name
- -- Status: Mandatory
- -- Multiplicity: Single
- -- Default: not applicable
- -- Description: The SMTP URL of the printer.
-}
-
---
--- Interpreter Group TEXTUAL-CONVENTIONs
---
-
-PrtInterpreterLangFamilyTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtInterpreterLangFamily in RFC 1759.
- STATUS current
- DESCRIPTION
- "This enumeration indicates the type of interpreter that is
- receiving jobs."
- SYNTAX INTEGER {
- other(1),
- unknown(2), -- Not in RFC 1759
- langPCL(3), -- PCL. Starting with PCL version 5,
- -- HP-GL/2 is included as part of the
- -- PCL language.
- -- PCL and HP-GL/2 are registered
- -- trademarks of Hewlett-Packard
- -- Company.
- langHPGL(4), -- Hewlett-Packard Graphics Language.
- -- HP-GL is a registered trademark of
- -- Hewlett-Packard Company.
- langPJL(5), -- Peripheral Job Language. Appears in
- -- the data stream between data intended
- -- for a page description language.
- -- Hewlett-Packard Co.
-
- langPS(6), -- PostScript (tm) Language
- -- Postscript - a trademark of Adobe
- -- Systems Incorporated which may be
- -- registered in certain jurisdictions
- langIPDS(7), -- Intelligent Printer Data Stream
- -- Bi-directional print data stream for
- -- documents consisting of data objects
- -- (text, image, graphics, bar codes),
- -- resources (fonts, overlays) and page,
- -- form and finishing instructions.
- -- Facilitates system level device
- -- control, document tracking and error
- -- recovery throughout the print
- -- process.
- -- IBM Corporation.
- langPPDS(8), -- IBM Personal Printer Data Stream.
- -- Originally called IBM ASCII, the name
- -- was changed to PPDS when the Laser
- -- Printer was introduced in 1989.
- -- Lexmark International, Inc.
- langEscapeP(9), -- Epson Corp.
- langEpson(10),
- langDDIF(11), -- Digital Document Interchange Format
- -- Digital Equipment Corp., Maynard MA
- langInterpress(12),
- -- Xerox Corp.
- langISO6429(13), -- ISO 6429. Control functions for
- -- Coded Character Sets (has ASCII
- -- control characters, plus additional
- -- controls for
- -- character imaging devices.)
- langLineData(14), -- line-data: Lines of data as
- -- separate ASCII or EBCDIC records
- -- and containing no control functions
- -- (no CR, LF, HT, FF, etc.)
- -- For use with traditional line
- -- printers. May use CR and/or LF to
- -- delimit lines, instead of records.
- -- See ISO 10175 Document Printing
- -- Application (DPA) [ISO10175].
- langMODCA(15), -- Mixed Object Document Content
- -- Architecture
- -- Definitions that allow the
- -- composition, interchange, and
- -- presentation of final form
- -- documents as a collection of data
- -- objects (text, image, graphics, bar
- -- codes), resources (fonts, overlays)
-
- -- and page, form and finishing
- -- instructions.
- -- IBM Corporation.
- langREGIS(16), -- Remote Graphics Instruction Set,
- -- Digital Equipment Corp., Maynard MA
- langSCS(17), -- SNA Character String
- -- Bi-directional print data stream for
- -- SNA LU-1 mode of communication.
- -- IBM
- langSPDL(18), -- ISO 10180 Standard Page Description
- -- Language
- -- ISO Standard
- langTEK4014(19), -- Tektronix Corp.
- langPDS(20),
- langIGP(21), -- Printronix Corp.
- langCodeV(22), -- Magnum Code-V, Image and printer
- -- control language used to control
- -- impact/dot-matrix printers.
- -- QMS, Inc., Mobile AL
- langDSCDSE(23), -- DSC-DSE: Data Stream Compatible and
- -- Emulation Bi-directional print data
- -- stream for non-SNA (DSC) and SNA LU-3
- -- 3270 controller (DSE) communications
- -- IBM
- langWPS(24), -- Windows Printing System, Resource
- -- based command/data stream used by
- -- Microsoft At Work Peripherals.
- -- Developed by the Microsoft
- -- Corporation.
- langLN03(25), -- Early DEC-PPL3, Digital Equipment
- -- Corp.
- langCCITT(26),
- langQUIC(27), -- QUIC (Quality Information Code), Page
- -- Description Language for laser
- -- printers. Included graphics, printer
- -- control capability and emulation of
- -- other well-known printer.
- -- QMS, Inc.
- langCPAP(28), -- Common Printer Access Protocol
- -- Digital Equipment Corp.
- langDecPPL(29), -- Digital ANSI-Compliant Printing
- -- Protocol
- -- (DEC-PPL)
- -- Digital Equipment Corp.
- langSimpleText(30),
- -- simple-text: character coded data,
- -- including NUL, CR , LF, HT, and FF
- -- control characters. See ISO 10175
-
- -- Document Printing Application (DPA)
- -- [ISO10175].
- langNPAP(31), -- Network Printer Alliance Protocol
- -- (NPAP). This protocol has been
- -- superseded by the IEEE 1284.1 TIPSI
- -- Std (ref. LangTIPSI(49)).
- langDOC(32), -- Document Option Commands, Appears in
- -- the data stream between data
- -- intended for a page description.
- -- QMS, Inc.
- langimPress(33), -- imPRESS, Page description language
- -- originally developed for the
- -- ImageServer product line. A binary
- -- language providing representations
- -- of text, simple graphics, and some
- -- large forms (simple
- -- bit-map and CCITT group 3/4
- -- encoded).The
- -- language was intended to be sent over
- -- an 8-bit channel and supported early
- -- document preparation languages (e.g.,
- -- TeX and TROFF).
- -- QMS, Inc.
- langPinwriter(34),
- -- 24 wire dot matrix printer for
- -- USA, Europe, and Asia except
- -- Japan.
- -- More widely used in Germany, and
- -- some Asian countries than in US.
- -- NEC
- langNPDL(35), -- Page printer for Japanese market.
- -- NEC
- langNEC201PL(36), -- Serial printer language used in
- -- the Japanese market.
- -- NEC
- langAutomatic(37),
- -- Automatic PDL sensing. Automatic
- -- sensing of the interpreter
- -- language family by the printer
- -- examining the document content.
- -- Which actual interpreter language
- -- families are sensed depends on
- -- the printer implementation.
- langPages(38), -- Page printer Advanced Graphic
- -- Escape Set
- -- IBM Japan
- langLIPS(39), -- LBP Image Processing System
- langTIFF(40), -- Tagged Image File Format (Aldus)
-
- langDiagnostic(41),
- -- A hex dump of the input to the
- -- interpreter
- langPSPrinter(42),
- -- The PostScript Language used for
- -- control (with any PDLs)
- -- Adobe Systems Incorporated
- langCaPSL(43), -- Canon Print Systems Language
- langEXCL(44), -- Extended Command Language
- -- Talaris Systems Inc.
- langLCDS(45), -- Line Conditioned Data Stream
- -- Xerox Corporation
- langXES(46), -- Xerox Escape Sequences
- -- Xerox Corporation
- langPCLXL(47), -- Not in RFC 1759
- -- Printer Control Language. Extended
- -- language features for printing, and
- -- printer control.
- -- Hewlett-Packard Co.
- langART(48), -- Not in RFC 1759
- -- Advanced Rendering Tools (ART).
- -- Page Description language
- -- originally developed for the Laser
- -- Press printers.
- -- Technical reference manual: "ART IV
- -- Reference Manual", No F33M.
- -- Fuji Xerox Co., Ltd.
- langTIPSI(49), -- Not in RFC 1759
- -- Transport Independent Printer
- -- System Interface (ref. IEEE Std.
- -- 1284.1)
- langPrescribe(50), -- Not in RFC 1759
- -- Page description and printer
- -- control language. It can be
- -- described with ordinary ASCII
- -- Technical reference manual:
- -- "PRESCRIBE II Programming Manual"
- langLinePrinter(51), -- Not in RFC 1759
- -- A simple-text character stream which
- -- supports the control codes LF, VT,
- -- FF, and plus Centronics or
- -- Dataproducts Vertical Format Unit
- -- (VFU) language is commonly used on
- -- many older model line and matrix
- -- printers.
- langIDP(52), -- Not in RFC 1759
- -- Imaging Device Protocol
- -- Apple Computer.
-
- langXJCL(53), -- Not in RFC 1759
- -- Xerox Job Control Language (JCL).
- -- A Job Control language originally
- -- developed for the LaserPress printers
- -- and is capable of switching PDLs.
- -- Technical reference manual:
- -- "ART IV Reference Manual", No F33M.
- -- Fuji Xerox Co., Ltd.
- langPDF(54), -- Not in RFC 1759
- -- Adobe Portable Document Format
- -- Adobe Systems, Inc.
- langRPDL(55), -- Not in RFC 1759
- -- Ricoh Page Description Language for
- -- printers.
- -- Technical manual "RPDL command
- -- reference" No.307029
- -- RICOH, Co. LTD
- langIntermecIPL(56), -- Not in RFC 1759
- -- Intermec Printer Language for label
- -- printers.
- -- Technical Manual: "IPL Programmers
- -- Reference Manual"
- -- Intermec Corporation
- langUBIFingerprint(57), -- Not in RFC 1759
- -- An intelligent basic-like programming
- -- language for label printers.
- -- Reference Manual: "UBI Fingerprint
- -- 7.1", No. 1-960434-00
- -- United Barcode Industries
- langUBIDirectProtocol(58), -- Not in RFC 1759
- -- An intelligent control language for
- -- label printers.
- -- Programmers guide: " UBI Direct
- -- Protocol", No. 1-960419-00
- -- United Barcode Industries
- langFujitsu(59), -- Not in RFC 1759
- -- Fujitsu Printer Language
- -- Reference Manual:
- -- "FM Printer Sequence" No. 80HP-0770
- -- FUJITSU LIMITED
- langCGM(60), -- Not in RFC 1759
- -- Computer Graphics Metafile
- -- MIME type 'image/cgm'
- langJPEG(61), -- Not in RFC 1759
- -- Joint Photographic Experts Group
- -- MIME type 'image/jpeg'
- langCALS1(62), -- Not in RFC 1759
- -- US DOD CALS1 (see MIL-STD-1840)
-
- -- MIME type 'application/cals-1840'
- langCALS2(63), -- Not in RFC 1759
- -- US DOD CALS2 (see MIL-STD-1840)
- -- MIME type 'application/cals-1840'
- langNIRS(64), -- Not in RFC 1759
- -- US DOD NIRS (see MIL-STD-1840)
- -- MIME type 'application/cals-1840'
- langC4(65) -- Not in RFC 1759
- -- US DOD C4 (see MIL-STD-1840)
- -- MIME type 'application/cals-1840'
-}
-
---
--- Input/Output Group TEXTUAL-CONVENTIONs
---
-
-PrtInputTypeTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtInputType in RFC 1759.
- STATUS current
- DESCRIPTION
- "The type of technology (discriminated primarily according to
- feeder mechanism type) employed by a specific component or
- components."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- sheetFeedAutoRemovableTray(3),
- sheetFeedAutoNonRemovableTray(4),
- sheetFeedManual(5),
- continuousRoll(6),
- continuousFanFold(7)
- }
-
-PrtOutputTypeTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtOutputType in RFC 1759.
- STATUS current
- DESCRIPTION
- "The Type of technology supported by this output subunit."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- removableBin(3),
- unRemovableBin(4),
- continuousRollDevice(5),
- mailBox(6),
- continuousFanFold(7)
- }
-
---
--- Marker Group TEXTUAL-CONVENTIONs
---
-
-PrtMarkerMarkTechTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtMarkerMarkTech in RFC 1759.
- STATUS current
- DESCRIPTION
- "The type of marking technology used for this marking
- subunit."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- electrophotographicLED(3),
- electrophotographicLaser(4),
- electrophotographicOther(5),
- impactMovingHeadDotMatrix9pin(6),
- impactMovingHeadDotMatrix24pin(7),
- impactMovingHeadDotMatrixOther(8),
- impactMovingHeadFullyFormed(9),
- impactBand(10),
- impactOther(11),
- inkjetAqueous(12),
- inkjetSolid(13),
- inkjetOther(14),
- pen(15),
- thermalTransfer(16),
- thermalSensitive(17),
- thermalDiffusion(18),
- thermalOther(19),
- electroerosion(20),
- electrostatic(21),
- photographicMicrofiche(22),
- photographicImagesetter(23),
- photographicOther(24),
- ionDeposition(25),
- eBeam(26),
- typesetter(27)
- }
-
-PrtMarkerSuppliesTypeTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtMarkerSuppliesType in RFC 1759.
- STATUS current
- DESCRIPTION
- "The type of this supply."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
-
- -- Values for Printer MIB
- toner(3),
- wasteToner(4),
- ink(5),
- inkCartridge(6),
- inkRibbon(7),
- wasteInk(8),
- opc(9), -- photo conductor
- developer(10),
- fuserOil(11),
- solidWax(12),
- ribbonWax(13),
- wasteWax(14),
- fuser(15), -- Not in RFC 1759
- coronaWire(16), -- Not in RFC 1759
- fuserOilWick(17), -- Not in RFC 1759
- cleanerUnit(18), -- Not in RFC 1759
- fuserCleaningPad(19), -- Not in RFC 1759
- transferUnit(20), -- Not in RFC 1759
- tonerCartridge(21), -- Not in RFC 1759
- fuserOiler(22), -- Not in RFC 1759
- -- End of values for Printer MIB
- -- Values for Finisher MIB
- water(23), -- Not in RFC 1759
- wasteWater(24), -- Not in RFC 1759
- glueWaterAdditive(25),-- Not in RFC 1759
- wastePaper(26), -- Not in RFC 1759
- bindingSupply(27), -- Not in RFC 1759
- bandingSupply(28), -- Not in RFC 1759
- stitchingWire(29), -- Not in RFC 1759
- shrinkWrap(30), -- Not in RFC 1759
- paperWrap(31), -- Not in RFC 1759
- staples(32), -- Not in RFC 1759
- inserts(33), -- Not in RFC 1759
- covers(34) -- Not in RFC 1759
- -- End of values for Finisher MIB
- }
-
---
--- Media Path TEXTUAL-CONVENTIONs
---
-
-PrtMediaPathTypeTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtMediaPathType in RFC 1759.
- STATUS current
- DESCRIPTION
- "The type of the media path for this media path."
- SYNTAX INTEGER {
-
- other(1),
- unknown(2),
- longEdgeBindingDuplex(3),
- shortEdgeBindingDuplex(4),
- simplex(5)
- }
-
---
--- Console Group TEXTUAL-CONVENTIONs
---
-
-PrtConsoleColorTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtConsoleColor in RFC 1759.
- STATUS current
- DESCRIPTION
- "The color of this light."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- white(3),
- red(4),
- green(5),
- blue(6),
- cyan(7),
- magenta(8),
- yellow(9),
- orange(10) -- Not in RFC 1759
- }
-
-PrtConsoleDisableTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtConsoleDisable in RFC 1759.
- STATUS current
- DESCRIPTION
- "This value indicates whether or not input is accepted from
- the operator console. A value of 'enabled' indicates that
- input is accepted from the console, and a value of 'disabled'
- indicates that input is not accepted from the console. "
- SYNTAX INTEGER {
- enabled(3),
- disabled(4)
- }
-
---
--- Alert Group TEXTUAL-CONVENTIONs
---
-
-PrtAlertTrainingLevelTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtAlertTrainingLevel in RFC 1759.
-
- STATUS current
- DESCRIPTION
- "The level of training required to handle this alert, if
- human intervention is required. The noInterventionRequired
- value should be used if the event does not require any human
- intervention. The training level is an enumeration that is
- determined and assigned by the printer manufacturer based on
- the information or training required to handle this alert.
- The printer will break alerts into these different training
- levels. It is the responsibility of a management application
- in the system to determine how a particular alert is handled
- and how and to whom that alert is routed. The following are
- the four training levels of alerts:
-
- Field Service - Alerts that typically require advanced
- training and technical knowledge of the printer and its
- subunits. An example of a technical person would be a
- manufacturer's Field Service representative, or other
- person formally trained by the manufacturer or similar
- representative.
- Trained - Alerts that require an intermediate or moderate
- knowledge of the printer and its subunits. A typical
- example of such an alert is replacing a toner cartridge.
- Untrained - Alerts that can be fixed without prior
- training either because the action to correct the alert
- is obvious or the printer can help the untrained person
- fix the problem. A typical example of such an alert is
- reloading paper trays or emptying output bins on a low
- end printer.
- Management - Alerts that have to do with overall operation
- of and configuration of the printer. Examples of such
- management events are configuration change of subunits."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- untrained(3),
- trained(4),
- fieldService(5),
- management(6),
- noInterventionRequired(7) -- Not in RFC 1759
- }
-
-PrtAlertGroupTC ::= TEXTUAL-CONVENTION
- -- Values in the range 1 to 29 must not be IANA-assigned without
- -- re-publishing Printer MIB.
- -- Values of 30 and greater are for use in MIBs that augment
- -- the Printer MIB, such as the Finisher MIB.
- -- This TC extracted from prtAlertGroup in RFC 1759.
-
- STATUS current
- DESCRIPTION
- "The type of subunit within the printer model that this alert
- is related. Input, output, and markers are examples of
- printer model groups, i.e., examples of types of subunits.
- Wherever possible, the enumerations match the sub-identifier
- that identifies the relevant table in the Printer MIB.
-
- NOTE: Alert type codes have been added for the Host Resources
- MIB storage table and device table. These additional types
- are for situations in which the printer's storage and device
- objects must generate alerts (and possibly traps for critical
- alerts)."
- SYNTAX INTEGER {
- other(1),
- unknown(2),
- -- Values for Host Resources MIB
- hostResourcesMIBStorageTable(3),
- hostResourcesMIBDeviceTable(4),
- -- Values for Printer MIB
- generalPrinter(5),
- cover(6),
- localization(7),
- input(8),
- output(9),
- marker(10),
- markerSupplies(11),
- markerColorant(12),
- mediaPath(13),
- channel(14),
- interpreter(15),
- consoleDisplayBuffer(16),
- consoleLights(17),
- alert(18), -- Not in RFC 1759
- -- Values (5) to (29) reserved for Printer MIB
- -- Values for Finisher MIB
- finDevice(30), -- Not in RFC 1759
- finSupply(31), -- Not in RFC 1759
- finSupplyMediaInput(32), -- Not in RFC 1759
- finAttribute(33) -- Not in RFC 1759
- -- Values (30) to (39) reserved for Finisher MIB
- }
-
-PrtAlertCodeTC ::= TEXTUAL-CONVENTION
- -- This TC was extracted from prtAlertCode in RFC 1759.
- STATUS current
- DESCRIPTION
- "The code that describes the type of alert for this entry in
-
- the table. Binary change event alerts describe states of the
- subunit while unary change event alerts describe a single
- event. The same alert code can be used for a binary change
- event or a unary change event, depending on implementation.
- Also, the same alert code can be used to indicate a critical
- or non-critical (warning) alert, depending on implementation.
- The value of prtAlertSeverityLevel specifies binary vs. unary
- and critical vs. non-critical for each event for the
- implementation.
-
- While there are some specific codes for many subunits, the
- generic codes should be used for most subunit alerts. The
- network management station can then query the subunit
- specified by prtAlertGroup to determine further subunit
- status and other subunit information.
-
- An agent shall not add two entries to the alert table for the
- same event, one containing a generic event code and the other
- containing a specific event code; the agent shall add only
- one entry in the alert table for each event; either generic
- (preferred) or specific, not both.
-
- Implementation of the unary change event
- alertRemovalOfBinaryChangeEntry(1801) is optional. When
- implemented, this alert code shall indicate to network
- management stations that the trailing edge of a binary change
- event has occurred and the corresponding alert entry has been
- removed from the alert table. As with all events, the
- alertRemovalOfBinaryChangeEntry(1801) alert shall be placed
- at the end of the alert table. Such an alert table entry
- shall specify the following information:
-
- prtAlertSeverityLevel warningUnaryChangeEvent(4)
- prtAlertTrainingLevel noInterventionRequired(7)
- prtAlertGroup alert(18)
- prtAlertGroupIndex the index of the row in the
- alert table of the binary
- change event that this event
- has removed.
- prtAlertLocation unknown (-2)
- prtAlertCode alertRemovalOfBinaryChangeEntry(1801)
- prtAlertDescription
- prtAlertTime the value of sysUpTime at
- the time of the removal of the
- binary change event from the
- alert table.
-
- Optionally, the agent may generate a trap coincident with
-
- removing the binary change event and placing the unary change
- event alertRemovalOfBinaryChangeEntry(1801) in the alert
- table. For such a trap, the prtAlertIndex sent with the above
- trap parameters shall be the index of the
- alertRemovalOfBinaryChangeEvent row that was added to the
- prtAlertTable; not the index of the row that was removed from
- the prtAlertTable."
- SYNTAX INTEGER {
- other(1),
- -- an event that is not represented
- -- by one of the alert codes
- -- specified below.
- unknown(2),
- -- The following generic codes are common to
- -- multiple groups. The NMS may examine the
- -- prtAlertGroup object to determine what group
- -- to query for further information.
- coverOpen(3),
- coverClosed(4),
- interlockOpen(5),
- interlockClosed(6),
- configurationChange(7),
- jam(8),
- subunitMissing(9), -- Not in RFC 1759
- -- The subunit tray, bin, etc.
- -- has been removed.
- subunitLifeAlmostOver(10), -- Not in RFC 1759
- subunitLifeOver(11), -- Not in RFC 1759
- subunitAlmostEmpty(12), -- Not in RFC 1759
- subunitEmpty(13), -- Not in RFC 1759
- subunitAlmostFull(14), -- Not in RFC 1759
- subunitFull(15), -- Not in RFC 1759
- subunitNearLimit(16), -- Not in RFC 1759
- subunitAtLimit(17), -- Not in RFC 1759
- subunitOpened(18), -- Not in RFC 1759
- subunitClosed(19), -- Not in RFC 1759
- subunitTurnedOn(20), -- Not in RFC 1759
- subunitTurnedOff(21), -- Not in RFC 1759
- subunitOffline(22), -- Not in RFC 1759
- subunitPowerSaver(23), -- Not in RFC 1759
- subunitWarmingUp(24), -- Not in RFC 1759
- subunitAdded(25), -- Not in RFC 1759
- subunitRemoved(26), -- Not in RFC 1759
- subunitResourceAdded(27), -- Not in RFC 1759
- subunitResourceRemoved(28), -- Not in RFC 1759
- subunitRecoverableFailure(29),
- -- Not in RFC 1759
- subunitUnrecoverableFailure(30),
-
- -- Not in RFC 1759
- subunitRecoverableStorageError(31),
- -- Not in RFC 1759
- subunitUnrecoverableStorageError(32),
- -- Not in RFC 1759
- subunitMotorFailure(33), -- Not in RFC 1759
- subunitMemoryExhausted(34), -- Not in RFC 1759
- subunitUnderTemperature(35), -- Not in RFC 1759
- subunitOverTemperature(36), -- Not in RFC 1759
- subunitTimingFailure(37), -- Not in RFC 1759
- subunitThermistorFailure(38), -- Not in RFC 1759
-
- -- General Printer group
- doorOpen(501), -- DEPRECATED
- -- Use coverOpened(3)
- doorClosed(502), -- DEPRECATED
- -- Use coverClosed(4)
- powerUp(503),
- powerDown(504),
- printerNMSReset(505), -- Not in RFC 1759
- -- The printer has been reset by some
- -- network management station(NMS)
- -- writing into 'prtGeneralReset'.
- printerManualReset(506), -- Not in RFC 1759
- -- The printer has been reset manually.
- printerReadyToPrint(507), -- Not in RFC 1759
- -- The printer is ready to print. (i.e.,
- -- not warming up, not in power save
- -- state, not adjusting print quality,
- -- etc.).
-
- -- Input Group
- inputMediaTrayMissing(801),
- inputMediaSizeChange(802),
- inputMediaWeightChange(803),
- inputMediaTypeChange(804),
- inputMediaColorChange(805),
- inputMediaFormPartsChange(806),
- inputMediaSupplyLow(807),
- inputMediaSupplyEmpty(808),
- inputMediaChangeRequest(809), -- Not in RFC 1759
- -- An interpreter has detected that a
- -- different medium is need in this input
- -- tray subunit. The prtAlertDescription may
- -- be used to convey a human readable
- -- description of the medium required to
- -- satisfy the request.
- inputManualInputRequest(810), -- Not in RFC 1759
-
- -- An interpreter has detected that manual
- -- input is required in this subunit. The
- -- prtAlertDescription may be used to convey
- -- a human readable description of the medium
- -- required to satisfy the request.
- inputTrayPositionFailure(811), -- Not in RFC 1759
- -- The input tray failed to position correctly.
- inputTrayElevationFailure(812),
- -- Not in RFC 1759
- inputCannotFeedSizeSelected(813),
- -- Not in RFC 1759
- -- Output Group
- outputMediaTrayMissing(901),
- outputMediaTrayAlmostFull(902),
- outputMediaTrayFull(903),
- outputMailboxSelectFailure(904),
- -- Not in RFC 1759
- -- Marker group
- markerFuserUnderTemperature(1001),
- markerFuserOverTemperature(1002),
- markerFuserTimingFailure(1003),
- -- Not in RFC 1759
- markerFuserThermistorFailure(1004),
- -- Not in RFC 1759
- markerAdjustingPrintQuality(1005),
- -- Not in RFC 1759
- -- Marker Supplies group
- markerTonerEmpty(1101),
- markerInkEmpty(1102),
- markerPrintRibbonEmpty(1103),
- markerTonerAlmostEmpty(1104),
- markerInkAlmostEmpty(1105),
- markerPrintRibbonAlmostEmpty(1106),
- markerWasteTonerReceptacleAlmostFull(1107),
- markerWasteInkReceptacleAlmostFull(1108),
- markerWasteTonerReceptacleFull(1109),
- markerWasteInkReceptacleFull(1110),
- markerOpcLifeAlmostOver(1111),
- markerOpcLifeOver(1112),
- markerDeveloperAlmostEmpty(1113),
- markerDeveloperEmpty(1114),
- markerTonerCartridgeMissing(1115),
- -- Not in RFC 1759
- -- Media Path Device Group
- mediaPathMediaTrayMissing(1301),
- mediaPathMediaTrayAlmostFull(1302),
- mediaPathMediaTrayFull(1303),
- mediaPathCannotDuplexMediaSelected(1304),
-
- -- Not in RFC 1759
- -- Interpreter Group
- interpreterMemoryIncrease(1501),
- interpreterMemoryDecrease(1502),
- interpreterCartridgeAdded(1503),
- interpreterCartridgeDeleted(1504),
- interpreterResourceAdded(1505),
- interpreterResourceDeleted(1506),
- interpreterResourceUnavailable(1507),
- interpreterComplexPageEncountered(1509),
- -- Not in RFC 1759
- -- The interpreter has encountered a page
- -- that is too complex for the resources that
- -- are available.
- -- Alert Group
- alertRemovalOfBinaryChangeEntry(1801)
- -- Not in RFC 1759
- -- A binary change event entry has been
- -- removed from the alert table. This unary
- -- change alert table entry is added to the
- -- end of the alert table.
- }
-END
-
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-RTPROTO-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-RTPROTO-MIB
deleted file mode 100644
index 952c84e2..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANA-RTPROTO-MIB
+++ /dev/null
@@ -1,92 +0,0 @@
-
-IANA-RTPROTO-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
- TEXTUAL-CONVENTION FROM SNMPv2-TC;
-
-ianaRtProtoMIB MODULE-IDENTITY
- LAST-UPDATED "200009260000Z" -- September 26, 2000
- ORGANIZATION "IANA"
- CONTACT-INFO
- " Internet Assigned Numbers Authority
- Internet Corporation for Assigned Names and Numbers
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292-6601
-
- Phone: +1 310 823 9358
- EMail: iana&iana.org"
- DESCRIPTION
- "This MIB module defines the IANAipRouteProtocol and
- IANAipMRouteProtocol textual conventions for use in MIBs
- which need to identify unicast or multicast routing
- mechanisms.
-
- Any additions or changes to the contents of this MIB module
- require either publication of an RFC, or Designated Expert
- Review as defined in RFC 2434, Guidelines for Writing an
- IANA Considerations Section in RFCs. The Designated Expert
- will be selected by the IESG Area Director(s) of the Routing
- Area."
-
- REVISION "200009260000Z" -- September 26, 2000
- DESCRIPTION "Original version, published in coordination
- with RFC 2932."
-
- ::= { mib-2 84 }
-
-IANAipRouteProtocol ::= TEXTUAL-CONVENTION
- STATUS current
-
- DESCRIPTION
- "A mechanism for learning routes. Inclusion of values for
- routing protocols is not intended to imply that those
- protocols need be supported."
- SYNTAX INTEGER {
- other (1), -- not specified
- local (2), -- local interface
- netmgmt (3), -- static route
- icmp (4), -- result of ICMP Redirect
-
- -- the following are all dynamic
- -- routing protocols
-
- egp (5), -- Exterior Gateway Protocol
- ggp (6), -- Gateway-Gateway Protocol
- hello (7), -- FuzzBall HelloSpeak
- rip (8), -- Berkeley RIP or RIP-II
- isIs (9), -- Dual IS-IS
- esIs (10), -- ISO 9542
- ciscoIgrp (11), -- Cisco IGRP
- bbnSpfIgp (12), -- BBN SPF IGP
- ospf (13), -- Open Shortest Path First
- bgp (14), -- Border Gateway Protocol
- idpr (15), -- InterDomain Policy Routing
- ciscoEigrp (16), -- Cisco EIGRP
- dvmrp (17) -- DVMRP
- }
-
-IANAipMRouteProtocol ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The multicast routing protocol. Inclusion of values for
- multicast routing protocols is not intended to imply that
- those protocols need be supported."
- SYNTAX INTEGER {
- other(1), -- none of the following
- local(2), -- e.g., manually configured
- netmgmt(3), -- set via net.mgmt protocol
- dvmrp(4),
- mospf(5),
- pimSparseDense(6), -- PIMv1, both DM and SM
- cbt(7),
- pimSparseMode(8), -- PIM-SM
- pimDenseMode(9), -- PIM-DM
- igmpOnly(10),
- bgmp(11),
- msdp(12)
- }
-
-END
-
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANATn3270eTC-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANATn3270eTC-MIB
deleted file mode 100644
index e774ac00..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANATn3270eTC-MIB
+++ /dev/null
@@ -1,306 +0,0 @@
-
- IANATn3270eTC-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- MODULE-IDENTITY, mib-2
- FROM SNMPv2-SMI
- TEXTUAL-CONVENTION
- FROM SNMPv2-TC;
-
- ianaTn3270eTcMib MODULE-IDENTITY
- LAST-UPDATED "200005100000Z" -- May 10, 2000
- ORGANIZATION "IANA"
- CONTACT-INFO
- "Internet Assigned Numbers Authority
-
- Postal: ICANN
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292
-
- Tel: +1 310 823 9358 x20
- E-Mail: iana&iana.org"
- DESCRIPTION
- "This module defines a set of textual conventions
- for use by the TN3270E-MIB and the TN3270E-RT-MIB.
-
- Any additions or changes to the contents of this
- MIB module must first be discussed on the tn3270e
- working group list at: tn3270e&list.nih.gov
- and approved by one of the following TN3270E
- working group contacts:
-
- Ed Bailey (co-chair) - elbailey&us.ibm.com
- Michael Boe (co-chair) - mboe&cisco.com
- Ken White - kennethw&vnet.ibm.com
- Robert Moore - remoore&us.ibm.com
-
- The above list of contacts can be altered with
- the approval of the two co-chairs.
-
- The Textual Conventions defined within this MIB have
- no security issues associated with them unless
- explicitly stated in their corresponding
- DESCRIPTION clause."
-
- -- revision log, in reverse chronological order
-
- REVISION "200005100000Z" -- May 10, 2000
- DESCRIPTION "Fix to import mib-2 instead of experimental."
-
- REVISION "199909011000Z" -- September 1, 1999
- DESCRIPTION
- "Initial version transferred from the TN3270E
- working group to IANA."
-
- ::= { mib-2 61 }
-
-
- -- Textual Conventions
-
- IANATn3270eAddrType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The textual convention for defining the type of a
- client address. The enumeration value unknown(0) is
- also used to indicate that no actual address is present."
- SYNTAX INTEGER {
- unknown(0),
- ipv4(1),
- ipv6(2)
- }
-
- IANATn3270eAddress ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Denotes a client address. The type of client address is
- determined by use of the IANATn3270eAddrType textual
-convention.
- The length in octets of a IANATn3270eAddress object is:
-
- IANATn3270eAddrType Address Length
- +++++++++++++++++++ ++++++++++++++
- unknown(0) not specified or unknown; the
- actual length of the
- IANATn3270eAddress octet string
- indicates if an address
- is present
- ipv4(1) 4 OCTETS
- ipv6(2) 16 OCTETS
-
- This textual convention is similar to the TAddress
- TC defined by RFC1903 except that it allows a
- zero-length octet string and is not a full transport
- layer address."
- SYNTAX OCTET STRING (SIZE (0..255))
-
- IANATn3270eClientType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The textual convention for defining the set of
- enumerations used by tn3270eTcpConnClientIdFormat
- in the TN3270E-MIB:
-
- ENUMERATION OCTETs DESCRIPTION
-
- none(1) 0 Not specified
- other(2) 1..512 Implementation specific
- ipv4(3) 6 4-octet IP Address plus
- 2-octet TCP Port
- ipv6(4) 18 16-octet IPv6 Address
- plus 2-octet TCP Port
- domainName(5) 1..512 The DNS name of a
- client.
- truncDomainName(6) 1..512 The (truncated) DNS name
- of a client.
- string(7) 1..512 Unknown Utf8String
- certificate(8) 1..512 certificate
- userId(9) 1..8 Client's userid
- x509dn(10) 1..512 X.509 Distinguished Name
-
- Representation of a certificate(8) may be lead to
- a security exposure and is NOT RECOMMENDED without
- adequate security."
- SYNTAX INTEGER {
- none(1),
- other(2),
- ipv4(3),
- ipv6(4),
- domainName(5),
- truncDomainName(6),
- string(7),
- certificate(8),
- userId(9),
- x509dn(10)
- }
-
- IANATn3270Functions ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "This textual convention reflects the current set of
- TN3270 and TN3270E functions that can be negotiated
- between a server and its client:
-
- RFC856
- transmitBinary The sender of this command REQUESTS
- permission to begin transmitting, or
- confirms that it will now begin
- transmitting characters which are to
- be interpreted as 8 bits of binary
- data by the receiver of the data.
- RFC860
- timingMark The sender of this command REQUESTS
- that the receiver of this command
- return a WILL TIMING-MARK in the data
- stream at the 'appropriate place'.
- RFC885
- endOfRecord The sender of this command requests
- permission to begin transmission of
- the Telnet END-OF-RECORD (EOR) code
- when transmitting data characters, or
- the sender of this command confirms it
- will now begin transmission of EORs
- with transmitted data characters.
- RFC1091
- terminalType Sender is willing to send terminal
- type information in a subsequent
- sub-negotiation.
-
- RFC1041
- tn3270Regime Sender is willing to send list of
- supported 3270 Regimes in a
- subsequent sub-negotiation.
- RFC2355
- scsCtlCodes (Printer sessions only). Allows the
- use of the SNA Character Stream (SCS)
- and SCS control codes on the session.
- SCS is used with LU type 1 SNA sessions.
- dataStreamCtl (Printer sessions only). Allows the use
- of the standard 3270 data stream. This
- corresponds to LU type 3 SNA sessions.
- responses Provides support for positive and
- negative response handling. Allows the
- server to reflect to the client any and
- all definite, exception, and no response
- requests sent by the host application.
- bindImage Allows the server to send the SNA Bind
- image and Unbind notification to the
- client.
- sysreq Allows the client and server to emulate
- some (or all, depending on the server) of
- the functions of the SYSREQ key in an SNA
- environment."
- SYNTAX BITS {
- transmitBinary(0),-- rfc856
- timemark(1), -- rfc860
- endOfRecord(2), -- rfc885
- terminalType(3), -- rfc1091
- tn3270Regime(4), -- rfc1041
- scsCtlCodes(5), -- rfc2355
- dataStreamCtl(6), -- rfc2355
- responses(7), -- rfc2355
- bindImage(8), -- rfc2355
- sysreq(9) -- rfc2355
- }
-
- IANATn3270ResourceType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The type of resource defined by a resource pool. Refer
- to tn3270eResPoolTable."
- SYNTAX INTEGER {
- other(1),
- terminal(2),
- printer(3),
- terminalOrPrinter(4)
- }
-
- IANATn3270DeviceType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "This textual convention defines the list of device
- types that can be set, as defined by RFC 2355."
- SYNTAX INTEGER {
- -- terminals
- ibm3278d2(1), -- (24 row x 80 col display)
- ibm3278d2E(2), -- (24 row x 80 col display)
- ibm3278d3(3), -- (32 row x 80 col display)
- ibm3278d3E(4), -- (32 row x 80 col display)
- ibm3278d4(5), -- (43 row x 80 col display)
- ibm3278d4E(6), -- (43 row x 80 col display)
- ibm3278d5(7), -- (27 row x 132 col display)
- ibm3278d5E(8), -- (27 row x 132 col display)
- ibmDynamic(9), -- (no pre-defined display size)
-
- -- printers
- ibm3287d1(10),
-
- unknown(100)
- }
-
- IANATn3270eLogData ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "An octet string representing log data as pertaining to
- either a TN3270 or TN3270E Session as reported from a
- TN3270E Server. Log data is stored in an octet string
- in time order (from earliest to latest).
-
- Each log element has the following form:
-
- +------+----+---------+------------+
- !length!type!TimeStamp! data !
- +------+----+---------+------------+
-
- where
-
- length = one-octet length of the data portion of the
- trace element, not including the length,
- type, and TimeStamp fields
- type = one-octet code point characterizing the data.
- TimeStamp = A 4-octet field representing the number of
- TimeTicks since the TN3270E server was last
- activated. The server's last activation time
- is available in the tn3270eSrvrConfLastActTime
- object in the TN3270E MIB, which has the
- syntax DateAndTime.
- data = initial part of a PDU.
-
- length type
-
- 0-255 x'00' - unknown
- 0 x'01' - inactivity timer expired
- 0 x'02' - dynamic timer expired
- 0 x'03' - actlu req
- 0 x'04' - bind req
- 0 x'05' - clear req
- 0 x'06' - dactlu req
- 0 x'07' - warm actpu req
- 0 x'08' - sdt req
- 0 x'09' - unbind req
- 0 x'0A' - notify resp
- 0 x'0B' - reply PSID neg rsp
- 0 x'0C' - reply PSID pos rsp
- 0 x'0D' - unbind rsp
- 0 x'0E' - hierarchical reset
- 0 x'0F' - client connect req
- 0 x'10' - client disconnect req
- 0 x'11' - timingmark received
- 0 x'12' - flowControl timer expired
- 0 x'13' - neg rsp to host
- 0 x'14' - neg rsp from host
- 0 x'15' - data contention
- 0 x'16' - no buffer to send SNA data
- 0 x'17' - receive response while inbound
- 0 x'18' - client protocol error
- 0 x'19' - badClientSequenceReceived
- 1-255 x'1A' - utf8String
- 2 x'1B' - hexCode, implementation dependent
-
- Log element entries have a minimum length of 6 octets.
- The zero-length string indicates that no log data is
- available."
- SYNTAX OCTET STRING (SIZE (0 | 6..2048))
-
- END
-
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANAifType-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANAifType-MIB
deleted file mode 100644
index 39dddf9e..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IANA/IANAifType-MIB
+++ /dev/null
@@ -1,572 +0,0 @@
- IANAifType-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
- TEXTUAL-CONVENTION FROM SNMPv2-TC;
-
- ianaifType MODULE-IDENTITY
- LAST-UPDATED "200709130000Z" -- September 13, 2007
- ORGANIZATION "IANA"
- CONTACT-INFO " Internet Assigned Numbers Authority
-
- Postal: ICANN
- 4676 Admiralty Way, Suite 330
- Marina del Rey, CA 90292
-
- Tel: +1 310 823 9358
- E-Mail: iana&iana.org"
-
- DESCRIPTION "This MIB module defines the IANAifType Textual
- Convention, and thus the enumerated values of
- the ifType object defined in MIB-II's ifTable."
-
- REVISION "200709130000Z" -- September 13, 2007
- DESCRIPTION "Registration of new IANAifTypes 243 and 244."
-
- REVISION "200705290000Z" -- May 29, 2007
- DESCRIPTION "Changed the description for IANAifType 228."
-
- REVISION "200703080000Z" -- March 08, 2007
- DESCRIPTION "Registration of new IANAifType 242."
-
- REVISION "200701230000Z" -- January 23, 2007
- DESCRIPTION "Registration of new IANAifTypes 239, 240, and 241."
-
- REVISION "200610170000Z" -- October 17, 2006
- DESCRIPTION "Deprecated/Obsoleted IANAifType 230. Registration of
- IANAifType 238."
-
- REVISION "200609250000Z" -- September 25, 2006
- DESCRIPTION "Changed the description for IANA ifType
- 184 and added new IANA ifType 237."
-
- REVISION "200608170000Z" -- August 17, 2006
- DESCRIPTION "Changed the descriptions for IANAifTypes
- 20 and 21."
-
- REVISION "200608110000Z" -- August 11, 2006
- DESCRIPTION "Changed the descriptions for IANAifTypes
- 7, 11, 62, 69, and 117."
-
- REVISION "200607250000Z" -- July 25, 2006
- DESCRIPTION "Registration of new IANA ifType 236."
-
- REVISION "200606140000Z" -- June 14, 2006
- DESCRIPTION "Registration of new IANA ifType 235."
-
- REVISION "200603310000Z" -- March 31, 2006
- DESCRIPTION "Registration of new IANA ifType 234."
-
- REVISION "200603300000Z" -- March 30, 2006
- DESCRIPTION "Registration of new IANA ifType 233."
-
- REVISION "200512220000Z" -- December 22, 2005
- DESCRIPTION "Registration of new IANA ifTypes 231 and 232."
-
- REVISION "200510100000Z" -- October 10, 2005
- DESCRIPTION "Registration of new IANA ifType 230."
-
- REVISION "200509090000Z" -- September 09, 2005
- DESCRIPTION "Registration of new IANA ifType 229."
-
- REVISION "200505270000Z" -- May 27, 2005
- DESCRIPTION "Registration of new IANA ifType 228."
-
- REVISION "200503030000Z" -- March 3, 2005
- DESCRIPTION "Added the IANAtunnelType TC and deprecated
- IANAifType sixToFour (215) per RFC4087."
-
- REVISION "200411220000Z" -- November 22, 2004
- DESCRIPTION "Registration of new IANA ifType 227 per RFC4631."
-
- REVISION "200406170000Z" -- June 17, 2004
- DESCRIPTION "Registration of new IANA ifType 226."
-
- REVISION "200405120000Z" -- May 12, 2004
- DESCRIPTION "Added description for IANAifType 6, and
- changed the descriptions for IANAifTypes
- 180, 181, and 182."
-
- REVISION "200405070000Z" -- May 7, 2004
- DESCRIPTION "Registration of new IANAifType 225."
-
- REVISION "200308250000Z" -- Aug 25, 2003
- DESCRIPTION "Deprecated IANAifTypes 7 and 11. Obsoleted
- IANAifTypes 62, 69, and 117. ethernetCsmacd (6)
- should be used instead of these values"
-
- REVISION "200308180000Z" -- Aug 18, 2003
- DESCRIPTION "Registration of new IANAifType
- 224."
-
- REVISION "200308070000Z" -- Aug 7, 2003
- DESCRIPTION "Registration of new IANAifTypes
- 222 and 223."
-
- REVISION "200303180000Z" -- Mar 18, 2003
- DESCRIPTION "Registration of new IANAifType
- 221."
-
- REVISION "200301130000Z" -- Jan 13, 2003
- DESCRIPTION "Registration of new IANAifType
- 220."
-
- REVISION "200210170000Z" -- Oct 17, 2002
- DESCRIPTION "Registration of new IANAifType
- 219."
-
- REVISION "200207160000Z" -- Jul 16, 2002
- DESCRIPTION "Registration of new IANAifTypes
- 217 and 218."
-
- REVISION "200207100000Z" -- Jul 10, 2002
- DESCRIPTION "Registration of new IANAifTypes
- 215 and 216."
-
- REVISION "200206190000Z" -- Jun 19, 2002
- DESCRIPTION "Registration of new IANAifType
- 214."
-
- REVISION "200201040000Z" -- Jan 4, 2002
- DESCRIPTION "Registration of new IANAifTypes
- 211, 212 and 213."
-
- REVISION "200112200000Z" -- Dec 20, 2001
- DESCRIPTION "Registration of new IANAifTypes
- 209 and 210."
-
- REVISION "200111150000Z" -- Nov 15, 2001
- DESCRIPTION "Registration of new IANAifTypes
- 207 and 208."
-
-
- REVISION "200111060000Z" -- Nov 6, 2001
- DESCRIPTION "Registration of new IANAifType
- 206."
-
-
- REVISION "200111020000Z" -- Nov 2, 2001
- DESCRIPTION "Registration of new IANAifType
- 205."
-
-
- REVISION "200110160000Z" -- Oct 16, 2001
- DESCRIPTION "Registration of new IANAifTypes
- 199, 200, 201, 202, 203, and 204."
-
-
- REVISION "200109190000Z" -- Sept 19, 2001
- DESCRIPTION "Registration of new IANAifType
- 198."
-
- REVISION "200105110000Z" -- May 11, 2001
- DESCRIPTION "Registration of new IANAifType
- 197."
-
-
- REVISION "200101120000Z" -- Jan 12, 2001
- DESCRIPTION "Registration of new IANAifTypes
- 195 and 196."
-
- REVISION "200012190000Z" -- Dec 19, 2000
- DESCRIPTION "Registration of new IANAifTypes
- 193 and 194."
-
- REVISION "200012070000Z" -- Dec 07, 2000
- DESCRIPTION "Registration of new IANAifTypes
- 191 and 192."
-
- REVISION "200012040000Z" -- Dec 04, 2000
- DESCRIPTION "Registration of new IANAifType
- 190."
-
- REVISION "200010170000Z" -- Oct 17, 2000
- DESCRIPTION "Registration of new IANAifTypes
- 188 and 189."
-
- REVISION "200010020000Z" -- Oct 02, 2000
- DESCRIPTION "Registration of new IANAifType 187."
-
- REVISION "200009010000Z" -- Sept 01, 2000
- DESCRIPTION "Registration of new IANAifTypes
- 184, 185, and 186."
-
- REVISION "200008240000Z" -- Aug 24, 2000
- DESCRIPTION "Registration of new IANAifType 183."
-
- REVISION "200008230000Z" -- Aug 23, 2000
- DESCRIPTION "Registration of new IANAifTypes
- 174-182."
-
- REVISION "200008220000Z" -- Aug 22, 2000
- DESCRIPTION "Registration of new IANAifTypes 170,
- 171, 172 and 173."
-
- REVISION "200004250000Z" -- Apr 25, 2000
- DESCRIPTION "Registration of new IANAifTypes 168 and 169."
-
- REVISION "200003060000Z" -- Mar 6, 2000
- DESCRIPTION "Fixed a missing semi-colon in the IMPORT.
- Also cleaned up the REVISION log a bit.
- It is not complete, but from now on it will
- be maintained and kept up to date with each
- change to this MIB module."
-
- REVISION "199910081430Z" -- Oct 08, 1999
- DESCRIPTION "Include new name assignments up to cnr(85).
- This is the first version available via the WWW
- at: ftp://ftp.isi.edu/mib/ianaiftype.mib"
-
- REVISION "199401310000Z" -- Jan 31, 1994
- DESCRIPTION "Initial version of this MIB as published in
- RFC 1573."
-
- ::= { mib-2 30 }
-
-
- IANAifType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "This data type is used as the syntax of the ifType
- object in the (updated) definition of MIB-II's
- ifTable.
-
- The definition of this textual convention with the
- addition of newly assigned values is published
- periodically by the IANA, in either the Assigned
- Numbers RFC, or some derivative of it specific to
- Internet Network Management number assignments. (The
- latest arrangements can be obtained by contacting the
- IANA.)
-
- Requests for new values should be made to IANA via
- email (iana&iana.org).
-
- The relationship between the assignment of ifType
- values and of OIDs to particular media-specific MIBs
- is solely the purview of IANA and is subject to change
- without notice. Quite often, a media-specific MIB's
- OID-subtree assignment within MIB-II's 'transmission'
- subtree will be the same as its ifType value.
- However, in some circumstances this will not be the
- case, and implementors must not pre-assume any
- specific relationship between ifType values and
- transmission subtree OIDs."
- SYNTAX INTEGER {
- other(1), -- none of the following
- regular1822(2),
- hdh1822(3),
- ddnX25(4),
- rfc877x25(5),
- ethernetCsmacd(6), -- for all ethernet-like interfaces,
- -- regardless of speed, as per RFC3635
- iso88023Csmacd(7), -- Deprecated via RFC3635
- -- ethernetCsmacd (6) should be used instead
- iso88024TokenBus(8),
- iso88025TokenRing(9),
- iso88026Man(10),
- starLan(11), -- Deprecated via RFC3635
- -- ethernetCsmacd (6) should be used instead
- proteon10Mbit(12),
- proteon80Mbit(13),
- hyperchannel(14),
- fddi(15),
- lapb(16),
- sdlc(17),
- ds1(18), -- DS1-MIB
- e1(19), -- Obsolete see DS1-MIB
- basicISDN(20), -- no longer used
- -- see also RFC2127
- primaryISDN(21), -- no longer used
- -- see also RFC2127
- propPointToPointSerial(22), -- proprietary serial
- ppp(23),
- softwareLoopback(24),
- eon(25), -- CLNP over IP
- ethernet3Mbit(26),
- nsip(27), -- XNS over IP
- slip(28), -- generic SLIP
- ultra(29), -- ULTRA technologies
- ds3(30), -- DS3-MIB
- sip(31), -- SMDS, coffee
- frameRelay(32), -- DTE only.
- rs232(33),
- para(34), -- parallel-port
- arcnet(35), -- arcnet
- arcnetPlus(36), -- arcnet plus
- atm(37), -- ATM cells
- miox25(38),
- sonet(39), -- SONET or SDH
- x25ple(40),
- iso88022llc(41),
- localTalk(42),
- smdsDxi(43),
- frameRelayService(44), -- FRNETSERV-MIB
- v35(45),
- hssi(46),
- hippi(47),
- modem(48), -- Generic modem
- aal5(49), -- AAL5 over ATM
- sonetPath(50),
- sonetVT(51),
- smdsIcip(52), -- SMDS InterCarrier Interface
- propVirtual(53), -- proprietary virtual/internal
- propMultiplexor(54),-- proprietary multiplexing
- ieee80212(55), -- 100BaseVG
- fibreChannel(56), -- Fibre Channel
- hippiInterface(57), -- HIPPI interfaces
- frameRelayInterconnect(58), -- Obsolete use either
- -- frameRelay(32) or
- -- frameRelayService(44).
- aflane8023(59), -- ATM Emulated LAN for 802.3
- aflane8025(60), -- ATM Emulated LAN for 802.5
- cctEmul(61), -- ATM Emulated circuit
- fastEther(62), -- Obsoleted via RFC3635
- -- ethernetCsmacd (6) should be used instead
- isdn(63), -- ISDN and X.25
- v11(64), -- CCITT V.11/X.21
- v36(65), -- CCITT V.36
- g703at64k(66), -- CCITT G703 at 64Kbps
- g703at2mb(67), -- Obsolete see DS1-MIB
- qllc(68), -- SNA QLLC
- fastEtherFX(69), -- Obsoleted via RFC3635
- -- ethernetCsmacd (6) should be used instead
- channel(70), -- channel
- ieee80211(71), -- radio spread spectrum
- ibm370parChan(72), -- IBM System 360/370 OEMI Channel
- escon(73), -- IBM Enterprise Systems Connection
- dlsw(74), -- Data Link Switching
- isdns(75), -- ISDN S/T interface
- isdnu(76), -- ISDN U interface
- lapd(77), -- Link Access Protocol D
- ipSwitch(78), -- IP Switching Objects
- rsrb(79), -- Remote Source Route Bridging
- atmLogical(80), -- ATM Logical Port
- ds0(81), -- Digital Signal Level 0
- ds0Bundle(82), -- group of ds0s on the same ds1
- bsc(83), -- Bisynchronous Protocol
- async(84), -- Asynchronous Protocol
- cnr(85), -- Combat Net Radio
- iso88025Dtr(86), -- ISO 802.5r DTR
- eplrs(87), -- Ext Pos Loc Report Sys
- arap(88), -- Appletalk Remote Access Protocol
- propCnls(89), -- Proprietary Connectionless Protocol
- hostPad(90), -- CCITT-ITU X.29 PAD Protocol
- termPad(91), -- CCITT-ITU X.3 PAD Facility
- frameRelayMPI(92), -- Multiproto Interconnect over FR
- x213(93), -- CCITT-ITU X213
- adsl(94), -- Asymmetric Digital Subscriber Loop
- radsl(95), -- Rate-Adapt. Digital Subscriber Loop
- sdsl(96), -- Symmetric Digital Subscriber Loop
- vdsl(97), -- Very H-Speed Digital Subscrib. Loop
- iso88025CRFPInt(98), -- ISO 802.5 CRFP
- myrinet(99), -- Myricom Myrinet
- voiceEM(100), -- voice recEive and transMit
- voiceFXO(101), -- voice Foreign Exchange Office
- voiceFXS(102), -- voice Foreign Exchange Station
- voiceEncap(103), -- voice encapsulation
- voiceOverIp(104), -- voice over IP encapsulation
- atmDxi(105), -- ATM DXI
- atmFuni(106), -- ATM FUNI
- atmIma (107), -- ATM IMA
- pppMultilinkBundle(108), -- PPP Multilink Bundle
- ipOverCdlc (109), -- IBM ipOverCdlc
- ipOverClaw (110), -- IBM Common Link Access to Workstn
- stackToStack (111), -- IBM stackToStack
- virtualIpAddress (112), -- IBM VIPA
- mpc (113), -- IBM multi-protocol channel support
- ipOverAtm (114), -- IBM ipOverAtm
- iso88025Fiber (115), -- ISO 802.5j Fiber Token Ring
- tdlc (116), -- IBM twinaxial data link control
- gigabitEthernet (117), -- Obsoleted via RFC3635
- -- ethernetCsmacd (6) should be used instead
- hdlc (118), -- HDLC
- lapf (119), -- LAP F
- v37 (120), -- V.37
- x25mlp (121), -- Multi-Link Protocol
- x25huntGroup (122), -- X25 Hunt Group
- trasnpHdlc (123), -- Transp HDLC
- interleave (124), -- Interleave channel
- fast (125), -- Fast channel
- ip (126), -- IP (for APPN HPR in IP networks)
- docsCableMaclayer (127), -- CATV Mac Layer
- docsCableDownstream (128), -- CATV Downstream interface
- docsCableUpstream (129), -- CATV Upstream interface
- a12MppSwitch (130), -- Avalon Parallel Processor
- tunnel (131), -- Encapsulation interface
- coffee (132), -- coffee pot
- ces (133), -- Circuit Emulation Service
- atmSubInterface (134), -- ATM Sub Interface
- l2vlan (135), -- Layer 2 Virtual LAN using 802.1Q
- l3ipvlan (136), -- Layer 3 Virtual LAN using IP
- l3ipxvlan (137), -- Layer 3 Virtual LAN using IPX
- digitalPowerline (138), -- IP over Power Lines
- mediaMailOverIp (139), -- Multimedia Mail over IP
- dtm (140), -- Dynamic syncronous Transfer Mode
- dcn (141), -- Data Communications Network
- ipForward (142), -- IP Forwarding Interface
- msdsl (143), -- Multi-rate Symmetric DSL
- ieee1394 (144), -- IEEE1394 High Performance Serial Bus
- if-gsn (145), -- HIPPI-6400
- dvbRccMacLayer (146), -- DVB-RCC MAC Layer
- dvbRccDownstream (147), -- DVB-RCC Downstream Channel
- dvbRccUpstream (148), -- DVB-RCC Upstream Channel
- atmVirtual (149), -- ATM Virtual Interface
- mplsTunnel (150), -- MPLS Tunnel Virtual Interface
- srp (151), -- Spatial Reuse Protocol
- voiceOverAtm (152), -- Voice Over ATM
- voiceOverFrameRelay (153), -- Voice Over Frame Relay
- idsl (154), -- Digital Subscriber Loop over ISDN
- compositeLink (155), -- Avici Composite Link Interface
- ss7SigLink (156), -- SS7 Signaling Link
- propWirelessP2P (157), -- Prop. P2P wireless interface
- frForward (158), -- Frame Forward Interface
- rfc1483 (159), -- Multiprotocol over ATM AAL5
- usb (160), -- USB Interface
- ieee8023adLag (161), -- IEEE 802.3ad Link Aggregate
- bgppolicyaccounting (162), -- BGP Policy Accounting
- frf16MfrBundle (163), -- FRF .16 Multilink Frame Relay
- h323Gatekeeper (164), -- H323 Gatekeeper
- h323Proxy (165), -- H323 Voice and Video Proxy
- mpls (166), -- MPLS
- mfSigLink (167), -- Multi-frequency signaling link
- hdsl2 (168), -- High Bit-Rate DSL - 2nd generation
- shdsl (169), -- Multirate HDSL2
- ds1FDL (170), -- Facility Data Link 4Kbps on a DS1
- pos (171), -- Packet over SONET/SDH Interface
- dvbAsiIn (172), -- DVB-ASI Input
- dvbAsiOut (173), -- DVB-ASI Output
- plc (174), -- Power Line Communtications
- nfas (175), -- Non Facility Associated Signaling
- tr008 (176), -- TR008
- gr303RDT (177), -- Remote Digital Terminal
- gr303IDT (178), -- Integrated Digital Terminal
- isup (179), -- ISUP
- propDocsWirelessMaclayer (180), -- Cisco proprietary Maclayer
- propDocsWirelessDownstream (181), -- Cisco proprietary Downstream
- propDocsWirelessUpstream (182), -- Cisco proprietary Upstream
- hiperlan2 (183), -- HIPERLAN Type 2 Radio Interface
- propBWAp2Mp (184), -- PropBroadbandWirelessAccesspt2multipt
- -- use of this iftype for IEEE 802.16 WMAN
- -- interfaces as per IEEE Std 802.16f is
- -- deprecated and ifType 237 should be used instead.
- sonetOverheadChannel (185), -- SONET Overhead Channel
- digitalWrapperOverheadChannel (186), -- Digital Wrapper
- aal2 (187), -- ATM adaptation layer 2
- radioMAC (188), -- MAC layer over radio links
- atmRadio (189), -- ATM over radio links
- imt (190), -- Inter Machine Trunks
- mvl (191), -- Multiple Virtual Lines DSL
- reachDSL (192), -- Long Reach DSL
- frDlciEndPt (193), -- Frame Relay DLCI End Point
- atmVciEndPt (194), -- ATM VCI End Point
- opticalChannel (195), -- Optical Channel
- opticalTransport (196), -- Optical Transport
- propAtm (197), -- Proprietary ATM
- voiceOverCable (198), -- Voice Over Cable Interface
- infiniband (199), -- Infiniband
- teLink (200), -- TE Link
- q2931 (201), -- Q.2931
- virtualTg (202), -- Virtual Trunk Group
- sipTg (203), -- SIP Trunk Group
- sipSig (204), -- SIP Signaling
- docsCableUpstreamChannel (205), -- CATV Upstream Channel
- econet (206), -- Acorn Econet
- pon155 (207), -- FSAN 155Mb Symetrical PON interface
- pon622 (208), -- FSAN622Mb Symetrical PON interface
- bridge (209), -- Transparent bridge interface
- linegroup (210), -- Interface common to multiple lines
- voiceEMFGD (211), -- voice E&M Feature Group D
- voiceFGDEANA (212), -- voice FGD Exchange Access North American
- voiceDID (213), -- voice Direct Inward Dialing
- mpegTransport (214), -- MPEG transport interface
- sixToFour (215), -- 6to4 interface (DEPRECATED)
- gtp (216), -- GTP (GPRS Tunneling Protocol)
- pdnEtherLoop1 (217), -- Paradyne EtherLoop 1
- pdnEtherLoop2 (218), -- Paradyne EtherLoop 2
- opticalChannelGroup (219), -- Optical Channel Group
- homepna (220), -- HomePNA ITU-T G.989
- gfp (221), -- Generic Framing Procedure (GFP)
- ciscoISLvlan (222), -- Layer 2 Virtual LAN using Cisco ISL
- actelisMetaLOOP (223), -- Acteleis proprietary MetaLOOP High Speed Link
- fcipLink (224), -- FCIP Link
- rpr (225), -- Resilient Packet Ring Interface Type
- qam (226), -- RF Qam Interface
- lmp (227), -- Link Management Protocol
- cblVectaStar (228), -- Cambridge Broadband Networks Limited VectaStar
- docsCableMCmtsDownstream (229), -- CATV Modular CMTS Downstream Interface
- adsl2 (230), -- Asymmetric Digital Subscriber Loop Version 2
- -- (DEPRECATED/OBSOLETED - please use adsl2plus 238 instead)
- macSecControlledIF (231), -- MACSecControlled
- macSecUncontrolledIF (232), -- MACSecUncontrolled
- aviciOpticalEther (233), -- Avici Optical Ethernet Aggregate
- atmbond (234), -- atmbond
- voiceFGDOS (235), -- voice FGD Operator Services
- mocaVersion1 (236), -- MultiMedia over Coax Alliance (MoCA) Interface
- -- as documented in information provided privately to IANA
- ieee80216WMAN (237), -- IEEE 802.16 WMAN interface
- adsl2plus (238), -- Asymmetric Digital Subscriber Loop Version 2,
- -- Version 2 Plus and all variants
- dvbRcsMacLayer (239), -- DVB-RCS MAC Layer
- dvbTdm (240), -- DVB Satellite TDM
- dvbRcsTdma (241), -- DVB-RCS TDMA
- x86Laps (242), -- LAPS based on ITU-T X.86/Y.1323
- wwanPP (243), -- 3GPP WWAN
- wwanPP2 (244) -- 3GPP2 WWAN
- }
-
-IANAtunnelType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The encapsulation method used by a tunnel. The value
- direct indicates that a packet is encapsulated
- directly within a normal IP header, with no
- intermediate header, and unicast to the remote tunnel
- endpoint (e.g., an RFC 2003 IP-in-IP tunnel, or an RFC
- 1933 IPv6-in-IPv4 tunnel). The value minimal indicates
- that a Minimal Forwarding Header (RFC 2004) is
- inserted between the outer header and the payload
- packet. The value UDP indicates that the payload
- packet is encapsulated within a normal UDP packet
- (e.g., RFC 1234).
-
- The values sixToFour, sixOverFour, and isatap
- indicates that an IPv6 packet is encapsulated directly
- within an IPv4 header, with no intermediate header,
- and unicast to the destination determined by the 6to4,
- 6over4, or ISATAP protocol.
-
- The remaining protocol-specific values indicate that a
- header of the protocol of that name is inserted
- between the outer header and the payload header.
-
- The assignment policy for IANAtunnelType values is
- identical to the policy for assigning IANAifType
- values."
- SYNTAX INTEGER {
- other(1), -- none of the following
- direct(2), -- no intermediate header
- gre(3), -- GRE encapsulation
- minimal(4), -- Minimal encapsulation
- l2tp(5), -- L2TP encapsulation
- pptp(6), -- PPTP encapsulation
- l2f(7), -- L2F encapsulation
- udp(8), -- UDP encapsulation
- atmp(9), -- ATMP encapsulation
- msdp(10), -- MSDP encapsulation
- sixToFour(11), -- 6to4 encapsulation
- sixOverFour(12), -- 6over4 encapsulation
- isatap(13), -- ISATAP encapsulation
- teredo(14) -- Teredo encapsulation
- }
-
- END
-
-
-
-
-
-
-
-
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IF-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IF-MIB
deleted file mode 100644
index 87138943..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IF-MIB
+++ /dev/null
@@ -1,1899 +0,0 @@
-IF-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
- Integer32, TimeTicks, mib-2,
- NOTIFICATION-TYPE FROM SNMPv2-SMI
- TEXTUAL-CONVENTION, DisplayString,
- PhysAddress, TruthValue, RowStatus,
- TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC
- MODULE-COMPLIANCE, OBJECT-GROUP,
- NOTIFICATION-GROUP FROM SNMPv2-CONF
- snmpTraps FROM SNMPv2-MIB
- IANAifType FROM IANAifType-MIB;
-
-
-ifMIB MODULE-IDENTITY
- LAST-UPDATED "200006140000Z"
- ORGANIZATION "IETF Interfaces MIB Working Group"
- CONTACT-INFO
- " Keith McCloghrie
- Cisco Systems, Inc.
- 170 West Tasman Drive
- San Jose, CA 95134-1706
- US
-
- 408-526-5260
- kzm@cisco.com"
- DESCRIPTION
- "The MIB module to describe generic objects for network
- interface sub-layers. This MIB is an updated version of
- MIB-II's ifTable, and incorporates the extensions defined in
- RFC 1229."
-
-
- REVISION "200006140000Z"
- DESCRIPTION
- "Clarifications agreed upon by the Interfaces MIB WG, and
- published as RFC 2863."
- REVISION "199602282155Z"
- DESCRIPTION
- "Revisions made by the Interfaces MIB WG, and published in
- RFC 2233."
- REVISION "199311082155Z"
- DESCRIPTION
- "Initial revision, published as part of RFC 1573."
- ::= { mib-2 31 }
-
-
-ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
-
-interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
-
---
--- Textual Conventions
---
-
-
--- OwnerString has the same semantics as used in RFC 1271
-
-OwnerString ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "255a"
- STATUS deprecated
- DESCRIPTION
- "This data type is used to model an administratively
- assigned name of the owner of a resource. This information
- is taken from the NVT ASCII character set. It is suggested
- that this name contain one or more of the following: ASCII
- form of the manager station's transport address, management
- station name (e.g., domain name), network management
- personnel's name, location, or phone number. In some cases
- the agent itself will be the owner of an entry. In these
- cases, this string shall be set to a string starting with
- 'agent'."
- SYNTAX OCTET STRING (SIZE(0..255))
-
--- InterfaceIndex contains the semantics of ifIndex and should be used
--- for any objects defined in other MIB modules that need these semantics.
-
-InterfaceIndex ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
-
-
- "A unique value, greater than zero, for each interface or
- interface sub-layer in the managed system. It is
- recommended that values are assigned contiguously starting
- from 1. The value for each interface sub-layer must remain
- constant at least from one re-initialization of the entity's
- network management system to the next re-initialization."
- SYNTAX Integer32 (1..2147483647)
-
-InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "This textual convention is an extension of the
- InterfaceIndex convention. The latter defines a greater
- than zero value used to identify an interface or interface
- sub-layer in the managed system. This extension permits the
- additional value of zero. the value zero is object-specific
- and must therefore be defined as part of the description of
- any object which uses this syntax. Examples of the usage of
- zero might include situations where interface was unknown,
- or when none or all interfaces need to be referenced."
- SYNTAX Integer32 (0..2147483647)
-
-ifNumber OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of network interfaces (regardless of their
- current state) present on this system."
- ::= { interfaces 1 }
-
-ifTableLastChange OBJECT-TYPE
- SYNTAX TimeTicks
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time of the last creation or
- deletion of an entry in the ifTable. If the number of
- entries has been unchanged since the last re-initialization
- of the local network management subsystem, then this object
- contains a zero value."
- ::= { ifMIBObjects 5 }
-
-
--- the Interfaces table
-
--- The Interfaces table contains information on the entity's
-
-
--- interfaces. Each sub-layer below the internetwork-layer
--- of a network interface is considered to be an interface.
-
-ifTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IfEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A list of interface entries. The number of entries is
- given by the value of ifNumber."
- ::= { interfaces 2 }
-
-ifEntry OBJECT-TYPE
- SYNTAX IfEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry containing management information applicable to a
- particular interface."
- INDEX { ifIndex }
- ::= { ifTable 1 }
-
-IfEntry ::=
- SEQUENCE {
- ifIndex InterfaceIndex,
- ifDescr DisplayString,
- ifType IANAifType,
- ifMtu Integer32,
- ifSpeed Gauge32,
- ifPhysAddress PhysAddress,
- ifAdminStatus INTEGER,
- ifOperStatus INTEGER,
- ifLastChange TimeTicks,
- ifInOctets Counter32,
- ifInUcastPkts Counter32,
- ifInNUcastPkts Counter32, -- deprecated
- ifInDiscards Counter32,
- ifInErrors Counter32,
- ifInUnknownProtos Counter32,
- ifOutOctets Counter32,
- ifOutUcastPkts Counter32,
- ifOutNUcastPkts Counter32, -- deprecated
- ifOutDiscards Counter32,
- ifOutErrors Counter32,
- ifOutQLen Gauge32, -- deprecated
- ifSpecific OBJECT IDENTIFIER -- deprecated
- }
-
-
-
-ifIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A unique value, greater than zero, for each interface. It
- is recommended that values are assigned contiguously
- starting from 1. The value for each interface sub-layer
- must remain constant at least from one re-initialization of
- the entity's network management system to the next re-
- initialization."
- ::= { ifEntry 1 }
-
-ifDescr OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A textual string containing information about the
- interface. This string should include the name of the
- manufacturer, the product name and the version of the
- interface hardware/software."
- ::= { ifEntry 2 }
-
-ifType OBJECT-TYPE
- SYNTAX IANAifType
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The type of interface. Additional values for ifType are
- assigned by the Internet Assigned Numbers Authority (IANA),
- through updating the syntax of the IANAifType textual
- convention."
- ::= { ifEntry 3 }
-
-ifMtu OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The size of the largest packet which can be sent/received
- on the interface, specified in octets. For interfaces that
- are used for transmitting network datagrams, this is the
- size of the largest network datagram that can be sent on the
- interface."
- ::= { ifEntry 4 }
-
-ifSpeed OBJECT-TYPE
-
-
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "An estimate of the interface's current bandwidth in bits
- per second. For interfaces which do not vary in bandwidth
- or for those where no accurate estimation can be made, this
- object should contain the nominal bandwidth. If the
- bandwidth of the interface is greater than the maximum value
- reportable by this object then this object should report its
- maximum value (4,294,967,295) and ifHighSpeed must be used
- to report the interace's speed. For a sub-layer which has
- no concept of bandwidth, this object should be zero."
- ::= { ifEntry 5 }
-
-ifPhysAddress OBJECT-TYPE
- SYNTAX PhysAddress
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The interface's address at its protocol sub-layer. For
- example, for an 802.x interface, this object normally
- contains a MAC address. The interface's media-specific MIB
- must define the bit and byte ordering and the format of the
- value of this object. For interfaces which do not have such
- an address (e.g., a serial line), this object should contain
- an octet string of zero length."
- ::= { ifEntry 6 }
-
-ifAdminStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1), -- ready to pass packets
- down(2),
- testing(3) -- in some test mode
- }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The desired state of the interface. The testing(3) state
- indicates that no operational packets can be passed. When a
- managed system initializes, all interfaces start with
- ifAdminStatus in the down(2) state. As a result of either
- explicit management action or per configuration information
- retained by the managed system, ifAdminStatus is then
- changed to either the up(1) or testing(3) states (or remains
- in the down(2) state)."
- ::= { ifEntry 7 }
-
-
-
-ifOperStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1), -- ready to pass packets
- down(2),
- testing(3), -- in some test mode
- unknown(4), -- status can not be determined
- -- for some reason.
- dormant(5),
- notPresent(6), -- some component is missing
- lowerLayerDown(7) -- down due to state of
- -- lower-layer interface(s)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The current operational state of the interface. The
- testing(3) state indicates that no operational packets can
- be passed. If ifAdminStatus is down(2) then ifOperStatus
- should be down(2). If ifAdminStatus is changed to up(1)
- then ifOperStatus should change to up(1) if the interface is
- ready to transmit and receive network traffic; it should
- change to dormant(5) if the interface is waiting for
- external actions (such as a serial line waiting for an
- incoming connection); it should remain in the down(2) state
- if and only if there is a fault that prevents it from going
- to the up(1) state; it should remain in the notPresent(6)
- state if the interface has missing (typically, hardware)
- components."
- ::= { ifEntry 8 }
-
-ifLastChange OBJECT-TYPE
- SYNTAX TimeTicks
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time the interface entered
- its current operational state. If the current state was
- entered prior to the last re-initialization of the local
- network management subsystem, then this object contains a
- zero value."
- ::= { ifEntry 9 }
-
-ifInOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received on the interface,
-
-
- including framing characters.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 10 }
-
-ifInUcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of packets, delivered by this sub-layer to a
- higher (sub-)layer, which were not addressed to a multicast
- or broadcast address at this sub-layer.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 11 }
-
-ifInNUcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of packets, delivered by this sub-layer to a
- higher (sub-)layer, which were addressed to a multicast or
- broadcast address at this sub-layer.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime.
-
- This object is deprecated in favour of ifInMulticastPkts and
- ifInBroadcastPkts."
- ::= { ifEntry 12 }
-
-ifInDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of inbound packets which were chosen to be
- discarded even though no errors had been detected to prevent
-
-
- their being deliverable to a higher-layer protocol. One
- possible reason for discarding such a packet could be to
- free up buffer space.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 13 }
-
-ifInErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "For packet-oriented interfaces, the number of inbound
- packets that contained errors preventing them from being
- deliverable to a higher-layer protocol. For character-
- oriented or fixed-length interfaces, the number of inbound
- transmission units that contained errors preventing them
- from being deliverable to a higher-layer protocol.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 14 }
-
-ifInUnknownProtos OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "For packet-oriented interfaces, the number of packets
- received via the interface which were discarded because of
- an unknown or unsupported protocol. For character-oriented
- or fixed-length interfaces that support protocol
- multiplexing the number of transmission units received via
- the interface which were discarded because of an unknown or
- unsupported protocol. For any interface that does not
- support protocol multiplexing, this counter will always be
- 0.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 15 }
-
-
-ifOutOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets transmitted out of the
- interface, including framing characters.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 16 }
-
-ifOutUcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of packets that higher-level protocols
- requested be transmitted, and which were not addressed to a
- multicast or broadcast address at this sub-layer, including
- those that were discarded or not sent.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 17 }
-
-ifOutNUcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The total number of packets that higher-level protocols
- requested be transmitted, and which were addressed to a
- multicast or broadcast address at this sub-layer, including
- those that were discarded or not sent.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime.
-
- This object is deprecated in favour of ifOutMulticastPkts
- and ifOutBroadcastPkts."
- ::= { ifEntry 18 }
-
-
-ifOutDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of outbound packets which were chosen to be
- discarded even though no errors had been detected to prevent
- their being transmitted. One possible reason for discarding
- such a packet could be to free up buffer space.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 19 }
-
-ifOutErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "For packet-oriented interfaces, the number of outbound
- packets that could not be transmitted because of errors.
- For character-oriented or fixed-length interfaces, the
- number of outbound transmission units that could not be
- transmitted because of errors.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifEntry 20 }
-
-ifOutQLen OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The length of the output packet queue (in packets)."
- ::= { ifEntry 21 }
-
-ifSpecific OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "A reference to MIB definitions specific to the particular
- media being used to realize the interface. It is
-
-
- recommended that this value point to an instance of a MIB
- object in the media-specific MIB, i.e., that this object
- have the semantics associated with the InstancePointer
- textual convention defined in RFC 2579. In fact, it is
- recommended that the media-specific MIB specify what value
- ifSpecific should/can take for values of ifType. If no MIB
- definitions specific to the particular media are available,
- the value should be set to the OBJECT IDENTIFIER { 0 0 }."
- ::= { ifEntry 22 }
-
-
-
---
--- Extension to the interface table
---
--- This table replaces the ifExtnsTable table.
---
-
-ifXTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IfXEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A list of interface entries. The number of entries is
- given by the value of ifNumber. This table contains
- additional objects for the interface table."
- ::= { ifMIBObjects 1 }
-
-ifXEntry OBJECT-TYPE
- SYNTAX IfXEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry containing additional management information
- applicable to a particular interface."
- AUGMENTS { ifEntry }
- ::= { ifXTable 1 }
-
-IfXEntry ::=
- SEQUENCE {
- ifName DisplayString,
- ifInMulticastPkts Counter32,
- ifInBroadcastPkts Counter32,
- ifOutMulticastPkts Counter32,
- ifOutBroadcastPkts Counter32,
- ifHCInOctets Counter64,
- ifHCInUcastPkts Counter64,
- ifHCInMulticastPkts Counter64,
-
-
- ifHCInBroadcastPkts Counter64,
- ifHCOutOctets Counter64,
- ifHCOutUcastPkts Counter64,
- ifHCOutMulticastPkts Counter64,
- ifHCOutBroadcastPkts Counter64,
- ifLinkUpDownTrapEnable INTEGER,
- ifHighSpeed Gauge32,
- ifPromiscuousMode TruthValue,
- ifConnectorPresent TruthValue,
- ifAlias DisplayString,
- ifCounterDiscontinuityTime TimeStamp
- }
-
-
-ifName OBJECT-TYPE
- SYNTAX DisplayString
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The textual name of the interface. The value of this
- object should be the name of the interface as assigned by
- the local device and should be suitable for use in commands
- entered at the device's `console'. This might be a text
- name, such as `le0' or a simple port number, such as `1',
- depending on the interface naming syntax of the device. If
- several entries in the ifTable together represent a single
- interface as named by the device, then each will have the
- same value of ifName. Note that for an agent which responds
- to SNMP queries concerning an interface on some other
- (proxied) device, then the value of ifName for such an
- interface is the proxied device's local name for it.
-
- If there is no local name, or this object is otherwise not
- applicable, then this object contains a zero-length string."
- ::= { ifXEntry 1 }
-
-ifInMulticastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of packets, delivered by this sub-layer to a
- higher (sub-)layer, which were addressed to a multicast
- address at this sub-layer. For a MAC layer protocol, this
- includes both Group and Functional addresses.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
-
-
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 2 }
-
-ifInBroadcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of packets, delivered by this sub-layer to a
- higher (sub-)layer, which were addressed to a broadcast
- address at this sub-layer.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 3 }
-
-ifOutMulticastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of packets that higher-level protocols
- requested be transmitted, and which were addressed to a
- multicast address at this sub-layer, including those that
- were discarded or not sent. For a MAC layer protocol, this
- includes both Group and Functional addresses.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 4 }
-
-ifOutBroadcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of packets that higher-level protocols
- requested be transmitted, and which were addressed to a
- broadcast address at this sub-layer, including those that
- were discarded or not sent.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
-
-
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 5 }
-
---
--- High Capacity Counter objects. These objects are all
--- 64 bit versions of the "basic" ifTable counters. These
--- objects all have the same basic semantics as their 32-bit
--- counterparts, however, their syntax has been extended
--- to 64 bits.
---
-
-ifHCInOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received on the interface,
- including framing characters. This object is a 64-bit
- version of ifInOctets.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 6 }
-
-ifHCInUcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of packets, delivered by this sub-layer to a
- higher (sub-)layer, which were not addressed to a multicast
- or broadcast address at this sub-layer. This object is a
- 64-bit version of ifInUcastPkts.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 7 }
-
-ifHCInMulticastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
-
-
- "The number of packets, delivered by this sub-layer to a
- higher (sub-)layer, which were addressed to a multicast
- address at this sub-layer. For a MAC layer protocol, this
- includes both Group and Functional addresses. This object
- is a 64-bit version of ifInMulticastPkts.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 8 }
-
-ifHCInBroadcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of packets, delivered by this sub-layer to a
- higher (sub-)layer, which were addressed to a broadcast
- address at this sub-layer. This object is a 64-bit version
- of ifInBroadcastPkts.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 9 }
-
-ifHCOutOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets transmitted out of the
- interface, including framing characters. This object is a
- 64-bit version of ifOutOctets.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 10 }
-
-ifHCOutUcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
-
-
- "The total number of packets that higher-level protocols
- requested be transmitted, and which were not addressed to a
- multicast or broadcast address at this sub-layer, including
- those that were discarded or not sent. This object is a
- 64-bit version of ifOutUcastPkts.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 11 }
-
-ifHCOutMulticastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of packets that higher-level protocols
- requested be transmitted, and which were addressed to a
- multicast address at this sub-layer, including those that
- were discarded or not sent. For a MAC layer protocol, this
- includes both Group and Functional addresses. This object
- is a 64-bit version of ifOutMulticastPkts.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 12 }
-
-ifHCOutBroadcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of packets that higher-level protocols
- requested be transmitted, and which were addressed to a
- broadcast address at this sub-layer, including those that
- were discarded or not sent. This object is a 64-bit version
- of ifOutBroadcastPkts.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ifCounterDiscontinuityTime."
- ::= { ifXEntry 13 }
-
-ifLinkUpDownTrapEnable OBJECT-TYPE
-
-
- SYNTAX INTEGER { enabled(1), disabled(2) }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "Indicates whether linkUp/linkDown traps should be generated
- for this interface.
-
- By default, this object should have the value enabled(1) for
- interfaces which do not operate on 'top' of any other
- interface (as defined in the ifStackTable), and disabled(2)
- otherwise."
- ::= { ifXEntry 14 }
-
-ifHighSpeed OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "An estimate of the interface's current bandwidth in units
- of 1,000,000 bits per second. If this object reports a
- value of `n' then the speed of the interface is somewhere in
- the range of `n-500,000' to `n+499,999'. For interfaces
- which do not vary in bandwidth or for those where no
- accurate estimation can be made, this object should contain
- the nominal bandwidth. For a sub-layer which has no concept
- of bandwidth, this object should be zero."
- ::= { ifXEntry 15 }
-
-ifPromiscuousMode OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "This object has a value of false(2) if this interface only
- accepts packets/frames that are addressed to this station.
- This object has a value of true(1) when the station accepts
- all packets/frames transmitted on the media. The value
- true(1) is only legal on certain types of media. If legal,
- setting this object to a value of true(1) may require the
- interface to be reset before becoming effective.
-
- The value of ifPromiscuousMode does not affect the reception
- of broadcast and multicast packets/frames by the interface."
- ::= { ifXEntry 16 }
-
-ifConnectorPresent OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
-
-
- STATUS current
- DESCRIPTION
- "This object has the value 'true(1)' if the interface
- sublayer has a physical connector and the value 'false(2)'
- otherwise."
- ::= { ifXEntry 17 }
-
-ifAlias OBJECT-TYPE
- SYNTAX DisplayString (SIZE(0..64))
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "This object is an 'alias' name for the interface as
- specified by a network manager, and provides a non-volatile
- 'handle' for the interface.
-
- On the first instantiation of an interface, the value of
- ifAlias associated with that interface is the zero-length
- string. As and when a value is written into an instance of
- ifAlias through a network management set operation, then the
- agent must retain the supplied value in the ifAlias instance
- associated with the same interface for as long as that
- interface remains instantiated, including across all re-
- initializations/reboots of the network management system,
- including those which result in a change of the interface's
- ifIndex value.
-
- An example of the value which a network manager might store
- in this object for a WAN interface is the (Telco's) circuit
- number/identifier of the interface.
-
- Some agents may support write-access only for interfaces
- having particular values of ifType. An agent which supports
- write access to this object is required to keep the value in
- non-volatile storage, but it may limit the length of new
- values depending on how much storage is already occupied by
- the current values for other interfaces."
- ::= { ifXEntry 18 }
-
-ifCounterDiscontinuityTime OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime on the most recent occasion at which
- any one or more of this interface's counters suffered a
- discontinuity. The relevant counters are the specific
- instances associated with this interface of any Counter32 or
-
-
- Counter64 object contained in the ifTable or ifXTable. If
- no such discontinuities have occurred since the last re-
- initialization of the local management subsystem, then this
- object contains a zero value."
- ::= { ifXEntry 19 }
-
--- The Interface Stack Group
---
--- Implementation of this group is optional, but strongly recommended
--- for all systems
---
-
-ifStackTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IfStackEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table containing information on the relationships
- between the multiple sub-layers of network interfaces. In
- particular, it contains information on which sub-layers run
- 'on top of' which other sub-layers, where each sub-layer
- corresponds to a conceptual row in the ifTable. For
- example, when the sub-layer with ifIndex value x runs over
- the sub-layer with ifIndex value y, then this table
- contains:
-
- ifStackStatus.x.y=active
-
- For each ifIndex value, I, which identifies an active
- interface, there are always at least two instantiated rows
- in this table associated with I. For one of these rows, I
- is the value of ifStackHigherLayer; for the other, I is the
- value of ifStackLowerLayer. (If I is not involved in
- multiplexing, then these are the only two rows associated
- with I.)
-
- For example, two rows exist even for an interface which has
- no others stacked on top or below it:
-
- ifStackStatus.0.x=active
- ifStackStatus.x.0=active "
- ::= { ifMIBObjects 2 }
-
-
-ifStackEntry OBJECT-TYPE
- SYNTAX IfStackEntry
- MAX-ACCESS not-accessible
- STATUS current
-
-
- DESCRIPTION
- "Information on a particular relationship between two sub-
- layers, specifying that one sub-layer runs on 'top' of the
- other sub-layer. Each sub-layer corresponds to a conceptual
- row in the ifTable."
- INDEX { ifStackHigherLayer, ifStackLowerLayer }
- ::= { ifStackTable 1 }
-
-
-IfStackEntry ::=
- SEQUENCE {
- ifStackHigherLayer InterfaceIndexOrZero,
- ifStackLowerLayer InterfaceIndexOrZero,
- ifStackStatus RowStatus
- }
-
-
-ifStackHigherLayer OBJECT-TYPE
- SYNTAX InterfaceIndexOrZero
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The value of ifIndex corresponding to the higher sub-layer
- of the relationship, i.e., the sub-layer which runs on 'top'
- of the sub-layer identified by the corresponding instance of
- ifStackLowerLayer. If there is no higher sub-layer (below
- the internetwork layer), then this object has the value 0."
- ::= { ifStackEntry 1 }
-
-
-ifStackLowerLayer OBJECT-TYPE
- SYNTAX InterfaceIndexOrZero
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The value of ifIndex corresponding to the lower sub-layer
- of the relationship, i.e., the sub-layer which runs 'below'
- the sub-layer identified by the corresponding instance of
- ifStackHigherLayer. If there is no lower sub-layer, then
- this object has the value 0."
- ::= { ifStackEntry 2 }
-
-
-ifStackStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
-
-
- "The status of the relationship between two sub-layers.
-
- Changing the value of this object from 'active' to
- 'notInService' or 'destroy' will likely have consequences up
- and down the interface stack. Thus, write access to this
- object is likely to be inappropriate for some types of
- interfaces, and many implementations will choose not to
- support write-access for any type of interface."
- ::= { ifStackEntry 3 }
-
-ifStackLastChange OBJECT-TYPE
- SYNTAX TimeTicks
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time of the last change of
- the (whole) interface stack. A change of the interface
- stack is defined to be any creation, deletion, or change in
- value of any instance of ifStackStatus. If the interface
- stack has been unchanged since the last re-initialization of
- the local network management subsystem, then this object
- contains a zero value."
- ::= { ifMIBObjects 6 }
-
-
--- Generic Receive Address Table
---
--- This group of objects is mandatory for all types of
--- interfaces which can receive packets/frames addressed to
--- more than one address.
---
--- This table replaces the ifExtnsRcvAddr table. The main
--- difference is that this table makes use of the RowStatus
--- textual convention, while ifExtnsRcvAddr did not.
-
-ifRcvAddressTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IfRcvAddressEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "This table contains an entry for each address (broadcast,
- multicast, or uni-cast) for which the system will receive
- packets/frames on a particular interface, except as follows:
-
- - for an interface operating in promiscuous mode, entries
- are only required for those addresses for which the system
- would receive frames were it not operating in promiscuous
- mode.
-
-
- - for 802.5 functional addresses, only one entry is
- required, for the address which has the functional address
- bit ANDed with the bit mask of all functional addresses for
- which the interface will accept frames.
-
- A system is normally able to use any unicast address which
- corresponds to an entry in this table as a source address."
- ::= { ifMIBObjects 4 }
-
-ifRcvAddressEntry OBJECT-TYPE
- SYNTAX IfRcvAddressEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A list of objects identifying an address for which the
- system will accept packets/frames on the particular
- interface identified by the index value ifIndex."
- INDEX { ifIndex, ifRcvAddressAddress }
- ::= { ifRcvAddressTable 1 }
-
-IfRcvAddressEntry ::=
- SEQUENCE {
- ifRcvAddressAddress PhysAddress,
- ifRcvAddressStatus RowStatus,
- ifRcvAddressType INTEGER
- }
-
-ifRcvAddressAddress OBJECT-TYPE
- SYNTAX PhysAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An address for which the system will accept packets/frames
- on this entry's interface."
- ::= { ifRcvAddressEntry 1 }
-
-ifRcvAddressStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This object is used to create and delete rows in the
- ifRcvAddressTable."
-
- ::= { ifRcvAddressEntry 2 }
-
-ifRcvAddressType OBJECT-TYPE
- SYNTAX INTEGER {
-
-
- other(1),
- volatile(2),
- nonVolatile(3)
- }
-
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This object has the value nonVolatile(3) for those entries
- in the table which are valid and will not be deleted by the
- next restart of the managed system. Entries having the
- value volatile(2) are valid and exist, but have not been
- saved, so that will not exist after the next restart of the
- managed system. Entries having the value other(1) are valid
- and exist but are not classified as to whether they will
- continue to exist after the next restart."
-
- DEFVAL { volatile }
- ::= { ifRcvAddressEntry 3 }
-
--- definition of interface-related traps.
-
-linkDown NOTIFICATION-TYPE
- OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
- STATUS current
- DESCRIPTION
- "A linkDown trap signifies that the SNMP entity, acting in
- an agent role, has detected that the ifOperStatus object for
- one of its communication links is about to enter the down
- state from some other state (but not from the notPresent
- state). This other state is indicated by the included value
- of ifOperStatus."
- ::= { snmpTraps 3 }
-
-linkUp NOTIFICATION-TYPE
- OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
- STATUS current
- DESCRIPTION
- "A linkUp trap signifies that the SNMP entity, acting in an
- agent role, has detected that the ifOperStatus object for
- one of its communication links left the down state and
- transitioned into some other state (but not into the
- notPresent state). This other state is indicated by the
- included value of ifOperStatus."
- ::= { snmpTraps 4 }
-
--- conformance information
-
-
-
-ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
-
-ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 }
-ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
-
-
--- compliance statements
-
-ifCompliance3 MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION
- "The compliance statement for SNMP entities which have
- network interfaces."
-
- MODULE -- this module
- MANDATORY-GROUPS { ifGeneralInformationGroup,
- linkUpDownNotificationsGroup }
-
--- The groups:
--- ifFixedLengthGroup
--- ifHCFixedLengthGroup
--- ifPacketGroup
--- ifHCPacketGroup
--- ifVHCPacketGroup
--- are mutually exclusive; at most one of these groups is implemented
--- for a particular interface. When any of these groups is implemented
--- for a particular interface, then ifCounterDiscontinuityGroup must
--- also be implemented for that interface.
-
-
- GROUP ifFixedLengthGroup
- DESCRIPTION
- "This group is mandatory for those network interfaces which
- are character-oriented or transmit data in fixed-length
- transmission units, and for which the value of the
- corresponding instance of ifSpeed is less than or equal to
- 20,000,000 bits/second."
-
- GROUP ifHCFixedLengthGroup
- DESCRIPTION
- "This group is mandatory for those network interfaces which
- are character-oriented or transmit data in fixed-length
- transmission units, and for which the value of the
- corresponding instance of ifSpeed is greater than 20,000,000
- bits/second."
-
- GROUP ifPacketGroup
- DESCRIPTION
-
-
- "This group is mandatory for those network interfaces which
- are packet-oriented, and for which the value of the
- corresponding instance of ifSpeed is less than or equal to
- 20,000,000 bits/second."
-
- GROUP ifHCPacketGroup
- DESCRIPTION
- "This group is mandatory only for those network interfaces
- which are packet-oriented and for which the value of the
- corresponding instance of ifSpeed is greater than 20,000,000
- bits/second but less than or equal to 650,000,000
- bits/second."
-
- GROUP ifVHCPacketGroup
- DESCRIPTION
- "This group is mandatory only for those network interfaces
- which are packet-oriented and for which the value of the
- corresponding instance of ifSpeed is greater than
- 650,000,000 bits/second."
-
-
- GROUP ifCounterDiscontinuityGroup
- DESCRIPTION
- "This group is mandatory for those network interfaces that
- are required to maintain counters (i.e., those for which one
- of the ifFixedLengthGroup, ifHCFixedLengthGroup,
- ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is
- mandatory)."
-
-
- GROUP ifRcvAddressGroup
- DESCRIPTION
- "The applicability of this group MUST be defined by the
- media-specific MIBs. Media-specific MIBs must define the
- exact meaning, use, and semantics of the addresses in this
- group."
-
- OBJECT ifLinkUpDownTrapEnable
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- OBJECT ifPromiscuousMode
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- OBJECT ifAdminStatus
-
-
- SYNTAX INTEGER { up(1), down(2) }
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required, nor is support for the value
- testing(3)."
-
- OBJECT ifAlias
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- ::= { ifCompliances 3 }
-
--- units of conformance
-
-ifGeneralInformationGroup OBJECT-GROUP
- OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
- ifAdminStatus, ifOperStatus, ifLastChange,
- ifLinkUpDownTrapEnable, ifConnectorPresent,
- ifHighSpeed, ifName, ifNumber, ifAlias,
- ifTableLastChange }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information applicable to
- all network interfaces."
- ::= { ifGroups 10 }
-
--- the following five groups are mutually exclusive; at most
--- one of these groups is implemented for any interface
-
-ifFixedLengthGroup OBJECT-GROUP
- OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
- ifInErrors, ifOutErrors }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information specific to
- non-high speed (non-high speed interfaces transmit and
- receive at speeds less than or equal to 20,000,000
- bits/second) character-oriented or fixed-length-transmission
- network interfaces."
- ::= { ifGroups 2 }
-
-ifHCFixedLengthGroup OBJECT-GROUP
- OBJECTS { ifHCInOctets, ifHCOutOctets,
- ifInOctets, ifOutOctets, ifInUnknownProtos,
- ifInErrors, ifOutErrors }
- STATUS current
- DESCRIPTION
-
-
- "A collection of objects providing information specific to
- high speed (greater than 20,000,000 bits/second) character-
- oriented or fixed-length-transmission network interfaces."
- ::= { ifGroups 3 }
-
-ifPacketGroup OBJECT-GROUP
- OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
- ifInErrors, ifOutErrors,
- ifMtu, ifInUcastPkts, ifInMulticastPkts,
- ifInBroadcastPkts, ifInDiscards,
- ifOutUcastPkts, ifOutMulticastPkts,
- ifOutBroadcastPkts, ifOutDiscards,
- ifPromiscuousMode }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information specific to
- non-high speed (non-high speed interfaces transmit and
- receive at speeds less than or equal to 20,000,000
- bits/second) packet-oriented network interfaces."
- ::= { ifGroups 4 }
-
-ifHCPacketGroup OBJECT-GROUP
- OBJECTS { ifHCInOctets, ifHCOutOctets,
- ifInOctets, ifOutOctets, ifInUnknownProtos,
- ifInErrors, ifOutErrors,
- ifMtu, ifInUcastPkts, ifInMulticastPkts,
- ifInBroadcastPkts, ifInDiscards,
- ifOutUcastPkts, ifOutMulticastPkts,
- ifOutBroadcastPkts, ifOutDiscards,
- ifPromiscuousMode }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information specific to
- high speed (greater than 20,000,000 bits/second but less
- than or equal to 650,000,000 bits/second) packet-oriented
- network interfaces."
- ::= { ifGroups 5 }
-
-ifVHCPacketGroup OBJECT-GROUP
- OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
- ifHCInBroadcastPkts, ifHCOutUcastPkts,
- ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
- ifHCInOctets, ifHCOutOctets,
- ifInOctets, ifOutOctets, ifInUnknownProtos,
- ifInErrors, ifOutErrors,
- ifMtu, ifInUcastPkts, ifInMulticastPkts,
- ifInBroadcastPkts, ifInDiscards,
- ifOutUcastPkts, ifOutMulticastPkts,
-
-
- ifOutBroadcastPkts, ifOutDiscards,
- ifPromiscuousMode }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information specific to
- higher speed (greater than 650,000,000 bits/second) packet-
- oriented network interfaces."
- ::= { ifGroups 6 }
-
-ifRcvAddressGroup OBJECT-GROUP
- OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information on the
- multiple addresses which an interface receives."
- ::= { ifGroups 7 }
-
-ifStackGroup2 OBJECT-GROUP
- OBJECTS { ifStackStatus, ifStackLastChange }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information on the
- layering of MIB-II interfaces."
- ::= { ifGroups 11 }
-
-ifCounterDiscontinuityGroup OBJECT-GROUP
- OBJECTS { ifCounterDiscontinuityTime }
- STATUS current
- DESCRIPTION
- "A collection of objects providing information specific to
- interface counter discontinuities."
- ::= { ifGroups 13 }
-
-linkUpDownNotificationsGroup NOTIFICATION-GROUP
- NOTIFICATIONS { linkUp, linkDown }
- STATUS current
- DESCRIPTION
- "The notifications which indicate specific changes in the
- value of ifOperStatus."
- ::= { ifGroups 14 }
-
--- Deprecated Definitions - Objects
-
-
---
--- The Interface Test Table
---
--- This group of objects is optional. However, a media-specific
-
-
--- MIB may make implementation of this group mandatory.
---
--- This table replaces the ifExtnsTestTable
---
-
-ifTestTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IfTestEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "This table contains one entry per interface. It defines
- objects which allow a network manager to instruct an agent
- to test an interface for various faults. Tests for an
- interface are defined in the media-specific MIB for that
- interface. After invoking a test, the object ifTestResult
- can be read to determine the outcome. If an agent can not
- perform the test, ifTestResult is set to so indicate. The
- object ifTestCode can be used to provide further test-
- specific or interface-specific (or even enterprise-specific)
- information concerning the outcome of the test. Only one
- test can be in progress on each interface at any one time.
- If one test is in progress when another test is invoked, the
- second test is rejected. Some agents may reject a test when
- a prior test is active on another interface.
-
- Before starting a test, a manager-station must first obtain
- 'ownership' of the entry in the ifTestTable for the
- interface to be tested. This is accomplished with the
- ifTestId and ifTestStatus objects as follows:
-
- try_again:
- get (ifTestId, ifTestStatus)
- while (ifTestStatus != notInUse)
- /*
- * Loop while a test is running or some other
- * manager is configuring a test.
- */
- short delay
- get (ifTestId, ifTestStatus)
- }
-
- /*
- * Is not being used right now -- let's compete
- * to see who gets it.
- */
- lock_value = ifTestId
-
- if ( set(ifTestId = lock_value, ifTestStatus = inUse,
-
-
- ifTestOwner = 'my-IP-address') == FAILURE)
- /*
- * Another manager got the ifTestEntry -- go
- * try again
- */
- goto try_again;
-
- /*
- * I have the lock
- */
- set up any test parameters.
-
- /*
- * This starts the test
- */
- set(ifTestType = test_to_run);
-
- wait for test completion by polling ifTestResult
-
- when test completes, agent sets ifTestResult
- agent also sets ifTestStatus = 'notInUse'
-
- retrieve any additional test results, and ifTestId
-
- if (ifTestId == lock_value+1) results are valid
-
- A manager station first retrieves the value of the
- appropriate ifTestId and ifTestStatus objects, periodically
- repeating the retrieval if necessary, until the value of
- ifTestStatus is 'notInUse'. The manager station then tries
- to set the same ifTestId object to the value it just
- retrieved, the same ifTestStatus object to 'inUse', and the
- corresponding ifTestOwner object to a value indicating
- itself. If the set operation succeeds then the manager has
- obtained ownership of the ifTestEntry, and the value of the
- ifTestId object is incremented by the agent (per the
- semantics of TestAndIncr). Failure of the set operation
- indicates that some other manager has obtained ownership of
- the ifTestEntry.
-
- Once ownership is obtained, any test parameters can be
- setup, and then the test is initiated by setting ifTestType.
- On completion of the test, the agent sets ifTestStatus to
- 'notInUse'. Once this occurs, the manager can retrieve the
- results. In the (rare) event that the invocation of tests
- by two network managers were to overlap, then there would be
- a possibility that the first test's results might be
- overwritten by the second test's results prior to the first
-
-
- results being read. This unlikely circumstance can be
- detected by a network manager retrieving ifTestId at the
- same time as retrieving the test results, and ensuring that
- the results are for the desired request.
-
- If ifTestType is not set within an abnormally long period of
- time after ownership is obtained, the agent should time-out
- the manager, and reset the value of the ifTestStatus object
- back to 'notInUse'. It is suggested that this time-out
- period be 5 minutes.
-
- In general, a management station must not retransmit a
- request to invoke a test for which it does not receive a
- response; instead, it properly inspects an agent's MIB to
- determine if the invocation was successful. Only if the
- invocation was unsuccessful, is the invocation request
- retransmitted.
-
- Some tests may require the interface to be taken off-line in
- order to execute them, or may even require the agent to
- reboot after completion of the test. In these
- circumstances, communication with the management station
- invoking the test may be lost until after completion of the
- test. An agent is not required to support such tests.
- However, if such tests are supported, then the agent should
- make every effort to transmit a response to the request
- which invoked the test prior to losing communication. When
- the agent is restored to normal service, the results of the
- test are properly made available in the appropriate objects.
- Note that this requires that the ifIndex value assigned to
- an interface must be unchanged even if the test causes a
- reboot. An agent must reject any test for which it cannot,
- perhaps due to resource constraints, make available at least
- the minimum amount of information after that test
- completes."
- ::= { ifMIBObjects 3 }
-
-ifTestEntry OBJECT-TYPE
- SYNTAX IfTestEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "An entry containing objects for invoking tests on an
- interface."
- AUGMENTS { ifEntry }
- ::= { ifTestTable 1 }
-
-IfTestEntry ::=
-
-
- SEQUENCE {
- ifTestId TestAndIncr,
- ifTestStatus INTEGER,
- ifTestType AutonomousType,
- ifTestResult INTEGER,
- ifTestCode OBJECT IDENTIFIER,
- ifTestOwner OwnerString
- }
-
-ifTestId OBJECT-TYPE
- SYNTAX TestAndIncr
- MAX-ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "This object identifies the current invocation of the
- interface's test."
- ::= { ifTestEntry 1 }
-
-ifTestStatus OBJECT-TYPE
- SYNTAX INTEGER { notInUse(1), inUse(2) }
- MAX-ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "This object indicates whether or not some manager currently
- has the necessary 'ownership' required to invoke a test on
- this interface. A write to this object is only successful
- when it changes its value from 'notInUse(1)' to 'inUse(2)'.
- After completion of a test, the agent resets the value back
- to 'notInUse(1)'."
- ::= { ifTestEntry 2 }
-
-ifTestType OBJECT-TYPE
- SYNTAX AutonomousType
- MAX-ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "A control variable used to start and stop operator-
- initiated interface tests. Most OBJECT IDENTIFIER values
- assigned to tests are defined elsewhere, in association with
- specific types of interface. However, this document assigns
- a value for a full-duplex loopback test, and defines the
- special meanings of the subject identifier:
-
- noTest OBJECT IDENTIFIER ::= { 0 0 }
-
- When the value noTest is written to this object, no action
- is taken unless a test is in progress, in which case the
- test is aborted. Writing any other value to this object is
-
-
- only valid when no test is currently in progress, in which
- case the indicated test is initiated.
-
- When read, this object always returns the most recent value
- that ifTestType was set to. If it has not been set since
- the last initialization of the network management subsystem
- on the agent, a value of noTest is returned."
- ::= { ifTestEntry 3 }
-
-ifTestResult OBJECT-TYPE
- SYNTAX INTEGER {
- none(1), -- no test yet requested
- success(2),
- inProgress(3),
- notSupported(4),
- unAbleToRun(5), -- due to state of system
- aborted(6),
- failed(7)
- }
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "This object contains the result of the most recently
- requested test, or the value none(1) if no tests have been
- requested since the last reset. Note that this facility
- provides no provision for saving the results of one test
- when starting another, as could be required if used by
- multiple managers concurrently."
- ::= { ifTestEntry 4 }
-
-ifTestCode OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "This object contains a code which contains more specific
- information on the test result, for example an error-code
- after a failed test. Error codes and other values this
- object may take are specific to the type of interface and/or
- test. The value may have the semantics of either the
- AutonomousType or InstancePointer textual conventions as
- defined in RFC 2579. The identifier:
-
- testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
-
- is defined for use if no additional result code is
- available."
- ::= { ifTestEntry 5 }
-
-
-ifTestOwner OBJECT-TYPE
- SYNTAX OwnerString
- MAX-ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "The entity which currently has the 'ownership' required to
- invoke a test on this interface."
- ::= { ifTestEntry 6 }
-
--- Deprecated Definitions - Groups
-
-
-ifGeneralGroup OBJECT-GROUP
- OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
- ifAdminStatus, ifOperStatus, ifLastChange,
- ifLinkUpDownTrapEnable, ifConnectorPresent,
- ifHighSpeed, ifName }
- STATUS deprecated
- DESCRIPTION
- "A collection of objects deprecated in favour of
- ifGeneralInformationGroup."
- ::= { ifGroups 1 }
-
-
-ifTestGroup OBJECT-GROUP
- OBJECTS { ifTestId, ifTestStatus, ifTestType,
- ifTestResult, ifTestCode, ifTestOwner }
- STATUS deprecated
- DESCRIPTION
- "A collection of objects providing the ability to invoke
- tests on an interface."
- ::= { ifGroups 8 }
-
-
-ifStackGroup OBJECT-GROUP
- OBJECTS { ifStackStatus }
- STATUS deprecated
- DESCRIPTION
- "The previous collection of objects providing information on
- the layering of MIB-II interfaces."
- ::= { ifGroups 9 }
-
-
-ifOldObjectsGroup OBJECT-GROUP
- OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
- ifOutQLen, ifSpecific }
- STATUS deprecated
- DESCRIPTION
-
-
- "The collection of objects deprecated from the original MIB-
- II interfaces group."
- ::= { ifGroups 12 }
-
--- Deprecated Definitions - Compliance
-
-ifCompliance MODULE-COMPLIANCE
- STATUS deprecated
- DESCRIPTION
- "A compliance statement defined in a previous version of
- this MIB module, for SNMP entities which have network
- interfaces."
-
- MODULE -- this module
- MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
-
- GROUP ifFixedLengthGroup
- DESCRIPTION
- "This group is mandatory for all network interfaces which
- are character-oriented or transmit data in fixed-length
- transmission units."
-
- GROUP ifHCFixedLengthGroup
- DESCRIPTION
- "This group is mandatory only for those network interfaces
- which are character-oriented or transmit data in fixed-
- length transmission units, and for which the value of the
- corresponding instance of ifSpeed is greater than 20,000,000
- bits/second."
-
- GROUP ifPacketGroup
- DESCRIPTION
- "This group is mandatory for all network interfaces which
- are packet-oriented."
-
- GROUP ifHCPacketGroup
- DESCRIPTION
- "This group is mandatory only for those network interfaces
- which are packet-oriented and for which the value of the
- corresponding instance of ifSpeed is greater than
- 650,000,000 bits/second."
-
- GROUP ifTestGroup
- DESCRIPTION
- "This group is optional. Media-specific MIBs which require
- interface tests are strongly encouraged to use this group
- for invoking tests and reporting results. A medium specific
- MIB which has mandatory tests may make implementation of
-
-
- this group mandatory."
-
- GROUP ifRcvAddressGroup
- DESCRIPTION
- "The applicability of this group MUST be defined by the
- media-specific MIBs. Media-specific MIBs must define the
- exact meaning, use, and semantics of the addresses in this
- group."
-
- OBJECT ifLinkUpDownTrapEnable
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- OBJECT ifPromiscuousMode
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- OBJECT ifStackStatus
- SYNTAX INTEGER { active(1) } -- subset of RowStatus
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required, and only one of the six
- enumerated values for the RowStatus textual convention need
- be supported, specifically: active(1)."
-
- OBJECT ifAdminStatus
- SYNTAX INTEGER { up(1), down(2) }
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required, nor is support for the value
- testing(3)."
- ::= { ifCompliances 1 }
-
-ifCompliance2 MODULE-COMPLIANCE
- STATUS deprecated
- DESCRIPTION
- "A compliance statement defined in a previous version of
- this MIB module, for SNMP entities which have network
- interfaces."
-
- MODULE -- this module
- MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2,
- ifCounterDiscontinuityGroup }
-
- GROUP ifFixedLengthGroup
- DESCRIPTION
-
-
- "This group is mandatory for all network interfaces which
- are character-oriented or transmit data in fixed-length
- transmission units."
-
- GROUP ifHCFixedLengthGroup
- DESCRIPTION
- "This group is mandatory only for those network interfaces
- which are character-oriented or transmit data in fixed-
- length transmission units, and for which the value of the
- corresponding instance of ifSpeed is greater than 20,000,000
- bits/second."
-
- GROUP ifPacketGroup
- DESCRIPTION
- "This group is mandatory for all network interfaces which
- are packet-oriented."
-
- GROUP ifHCPacketGroup
- DESCRIPTION
- "This group is mandatory only for those network interfaces
- which are packet-oriented and for which the value of the
- corresponding instance of ifSpeed is greater than
- 650,000,000 bits/second."
-
- GROUP ifRcvAddressGroup
- DESCRIPTION
- "The applicability of this group MUST be defined by the
- media-specific MIBs. Media-specific MIBs must define the
- exact meaning, use, and semantics of the addresses in this
- group."
-
- OBJECT ifLinkUpDownTrapEnable
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- OBJECT ifPromiscuousMode
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- OBJECT ifStackStatus
- SYNTAX INTEGER { active(1) } -- subset of RowStatus
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required, and only one of the six
- enumerated values for the RowStatus textual convention need
- be supported, specifically: active(1)."
-
-
- OBJECT ifAdminStatus
- SYNTAX INTEGER { up(1), down(2) }
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required, nor is support for the value
- testing(3)."
-
- OBJECT ifAlias
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
-
- ::= { ifCompliances 2 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/INET-ADDRESS-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/INET-ADDRESS-MIB
deleted file mode 100644
index a19b8d22..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/INET-ADDRESS-MIB
+++ /dev/null
@@ -1,421 +0,0 @@
-INET-ADDRESS-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, mib-2, Unsigned32 FROM SNMPv2-SMI
- TEXTUAL-CONVENTION FROM SNMPv2-TC;
-
-inetAddressMIB MODULE-IDENTITY
- LAST-UPDATED "200502040000Z"
- ORGANIZATION
- "IETF Operations and Management Area"
- CONTACT-INFO
- "Juergen Schoenwaelder (Editor)
- International University Bremen
- P.O. Box 750 561
- 28725 Bremen, Germany
-
- Phone: +49 421 200-3587
- EMail: j.schoenwaelder@iu-bremen.de
-
- Send comments to ."
- DESCRIPTION
- "This MIB module defines textual conventions for
- representing Internet addresses. An Internet
- address can be an IPv4 address, an IPv6 address,
- or a DNS domain name. This module also defines
- textual conventions for Internet port numbers,
- autonomous system numbers, and the length of an
- Internet address prefix.
-
- Copyright (C) The Internet Society (2005). This version
- of this MIB module is part of RFC 4001, see the RFC
- itself for full legal notices."
- REVISION "200502040000Z"
- DESCRIPTION
- "Third version, published as RFC 4001. This revision
- introduces the InetZoneIndex, InetScopeType, and
- InetVersion textual conventions."
- REVISION "200205090000Z"
- DESCRIPTION
- "Second version, published as RFC 3291. This
- revision contains several clarifications and
- introduces several new textual conventions:
- InetAddressPrefixLength, InetPortNumber,
- InetAutonomousSystemNumber, InetAddressIPv4z,
- and InetAddressIPv6z."
- REVISION "200006080000Z"
-
-
-
- DESCRIPTION
- "Initial version, published as RFC 2851."
- ::= { mib-2 76 }
-
-InetAddressType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "A value that represents a type of Internet address.
-
- unknown(0) An unknown address type. This value MUST
- be used if the value of the corresponding
- InetAddress object is a zero-length string.
- It may also be used to indicate an IP address
- that is not in one of the formats defined
- below.
-
- ipv4(1) An IPv4 address as defined by the
- InetAddressIPv4 textual convention.
-
- ipv6(2) An IPv6 address as defined by the
- InetAddressIPv6 textual convention.
-
- ipv4z(3) A non-global IPv4 address including a zone
- index as defined by the InetAddressIPv4z
- textual convention.
-
- ipv6z(4) A non-global IPv6 address including a zone
- index as defined by the InetAddressIPv6z
- textual convention.
-
- dns(16) A DNS domain name as defined by the
- InetAddressDNS textual convention.
-
- Each definition of a concrete InetAddressType value must be
- accompanied by a definition of a textual convention for use
- with that InetAddressType.
-
- To support future extensions, the InetAddressType textual
- convention SHOULD NOT be sub-typed in object type definitions.
- It MAY be sub-typed in compliance statements in order to
- require only a subset of these address types for a compliant
- implementation.
-
- Implementations must ensure that InetAddressType objects
- and any dependent objects (e.g., InetAddress objects) are
- consistent. An inconsistentValue error must be generated
- if an attempt to change an InetAddressType object would,
- for example, lead to an undefined InetAddress value. In
-
-
-
- particular, InetAddressType/InetAddress pairs must be
- changed together if the address type changes (e.g., from
- ipv6(2) to ipv4(1))."
- SYNTAX INTEGER {
- unknown(0),
- ipv4(1),
- ipv6(2),
- ipv4z(3),
- ipv6z(4),
- dns(16)
- }
-
-InetAddress ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Denotes a generic Internet address.
-
- An InetAddress value is always interpreted within the context
- of an InetAddressType value. Every usage of the InetAddress
- textual convention is required to specify the InetAddressType
- object that provides the context. It is suggested that the
- InetAddressType object be logically registered before the
- object(s) that use the InetAddress textual convention, if
- they appear in the same logical row.
-
- The value of an InetAddress object must always be
- consistent with the value of the associated InetAddressType
- object. Attempts to set an InetAddress object to a value
- inconsistent with the associated InetAddressType
- must fail with an inconsistentValue error.
-
- When this textual convention is used as the syntax of an
- index object, there may be issues with the limit of 128
- sub-identifiers specified in SMIv2, STD 58. In this case,
- the object definition MUST include a 'SIZE' clause to
- limit the number of potential instance sub-identifiers;
- otherwise the applicable constraints MUST be stated in
- the appropriate conceptual row DESCRIPTION clauses, or
- in the surrounding documentation if there is no single
- DESCRIPTION clause that is appropriate."
- SYNTAX OCTET STRING (SIZE (0..255))
-
-InetAddressIPv4 ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "1d.1d.1d.1d"
- STATUS current
- DESCRIPTION
- "Represents an IPv4 network address:
-
-
-
-
- Octets Contents Encoding
- 1-4 IPv4 address network-byte order
-
- The corresponding InetAddressType value is ipv4(1).
-
- This textual convention SHOULD NOT be used directly in object
- definitions, as it restricts addresses to a specific format.
- However, if it is used, it MAY be used either on its own or in
- conjunction with InetAddressType, as a pair."
- SYNTAX OCTET STRING (SIZE (4))
-
-InetAddressIPv6 ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x"
- STATUS current
- DESCRIPTION
- "Represents an IPv6 network address:
-
- Octets Contents Encoding
- 1-16 IPv6 address network-byte order
-
- The corresponding InetAddressType value is ipv6(2).
-
- This textual convention SHOULD NOT be used directly in object
- definitions, as it restricts addresses to a specific format.
- However, if it is used, it MAY be used either on its own or in
- conjunction with InetAddressType, as a pair."
- SYNTAX OCTET STRING (SIZE (16))
-
-InetAddressIPv4z ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "1d.1d.1d.1d%4d"
- STATUS current
- DESCRIPTION
- "Represents a non-global IPv4 network address, together
- with its zone index:
-
- Octets Contents Encoding
- 1-4 IPv4 address network-byte order
- 5-8 zone index network-byte order
-
- The corresponding InetAddressType value is ipv4z(3).
-
- The zone index (bytes 5-8) is used to disambiguate identical
- address values on nodes that have interfaces attached to
- different zones of the same scope. The zone index may contain
- the special value 0, which refers to the default zone for each
- scope.
-
- This textual convention SHOULD NOT be used directly in object
-
-
-
- definitions, as it restricts addresses to a specific format.
- However, if it is used, it MAY be used either on its own or in
- conjunction with InetAddressType, as a pair."
- SYNTAX OCTET STRING (SIZE (8))
-
-InetAddressIPv6z ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
- STATUS current
- DESCRIPTION
- "Represents a non-global IPv6 network address, together
- with its zone index:
-
- Octets Contents Encoding
- 1-16 IPv6 address network-byte order
- 17-20 zone index network-byte order
-
- The corresponding InetAddressType value is ipv6z(4).
-
- The zone index (bytes 17-20) is used to disambiguate
- identical address values on nodes that have interfaces
- attached to different zones of the same scope. The zone index
- may contain the special value 0, which refers to the default
- zone for each scope.
-
- This textual convention SHOULD NOT be used directly in object
- definitions, as it restricts addresses to a specific format.
- However, if it is used, it MAY be used either on its own or in
- conjunction with InetAddressType, as a pair."
- SYNTAX OCTET STRING (SIZE (20))
-
-InetAddressDNS ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "255a"
- STATUS current
- DESCRIPTION
- "Represents a DNS domain name. The name SHOULD be fully
- qualified whenever possible.
-
- The corresponding InetAddressType is dns(16).
-
- The DESCRIPTION clause of InetAddress objects that may have
- InetAddressDNS values MUST fully describe how (and when)
- these names are to be resolved to IP addresses.
-
- The resolution of an InetAddressDNS value may require to
- query multiple DNS records (e.g., A for IPv4 and AAAA for
- IPv6). The order of the resolution process and which DNS
- record takes precedence depends on the configuration of the
- resolver.
-
-
-
- This textual convention SHOULD NOT be used directly in object
- definitions, as it restricts addresses to a specific format.
- However, if it is used, it MAY be used either on its own or in
- conjunction with InetAddressType, as a pair."
- SYNTAX OCTET STRING (SIZE (1..255))
-
-InetAddressPrefixLength ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "Denotes the length of a generic Internet network address
- prefix. A value of n corresponds to an IP address mask
- that has n contiguous 1-bits from the most significant
- bit (MSB), with all other bits set to 0.
-
- An InetAddressPrefixLength value is always interpreted within
- the context of an InetAddressType value. Every usage of the
- InetAddressPrefixLength textual convention is required to
- specify the InetAddressType object that provides the
- context. It is suggested that the InetAddressType object be
- logically registered before the object(s) that use the
- InetAddressPrefixLength textual convention, if they appear
- in the same logical row.
-
- InetAddressPrefixLength values larger than
- the maximum length of an IP address for a specific
- InetAddressType are treated as the maximum significant
- value applicable for the InetAddressType. The maximum
- significant value is 32 for the InetAddressType
- 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType
- 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value
- for the InetAddressType 'dns(16)' is 0.
-
- The value zero is object-specific and must be defined as
- part of the description of any object that uses this
- syntax. Examples of the usage of zero might include
- situations where the Internet network address prefix
- is unknown or does not apply.
-
- The upper bound of the prefix length has been chosen to
- be consistent with the maximum size of an InetAddress."
- SYNTAX Unsigned32 (0..2040)
-
-InetPortNumber ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "Represents a 16 bit port number of an Internet transport
-
-
-
- layer protocol. Port numbers are assigned by IANA. A
- current list of all assignments is available from
- .
-
- The value zero is object-specific and must be defined as
- part of the description of any object that uses this
- syntax. Examples of the usage of zero might include
- situations where a port number is unknown, or when the
- value zero is used as a wildcard in a filter."
- REFERENCE "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960"
- SYNTAX Unsigned32 (0..65535)
-
-InetAutonomousSystemNumber ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "Represents an autonomous system number that identifies an
- Autonomous System (AS). An AS is a set of routers under a
- single technical administration, using an interior gateway
- protocol and common metrics to route packets within the AS,
- and using an exterior gateway protocol to route packets to
- other ASes'. IANA maintains the AS number space and has
- delegated large parts to the regional registries.
-
- Autonomous system numbers are currently limited to 16 bits
- (0..65535). There is, however, work in progress to enlarge the
- autonomous system number space to 32 bits. Therefore, this
- textual convention uses an Unsigned32 value without a
- range restriction in order to support a larger autonomous
- system number space."
- REFERENCE "RFC 1771, RFC 1930"
- SYNTAX Unsigned32
-
-InetScopeType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Represents a scope type. This textual convention can be used
- in cases where a MIB has to represent different scope types
- and there is no context information, such as an InetAddress
- object, that implicitly defines the scope type.
-
- Note that not all possible values have been assigned yet, but
- they may be assigned in future revisions of this specification.
- Applications should therefore be able to deal with values
- not yet assigned."
- REFERENCE "RFC 3513"
- SYNTAX INTEGER {
- -- reserved(0),
-
-
-
- interfaceLocal(1),
- linkLocal(2),
- subnetLocal(3),
- adminLocal(4),
- siteLocal(5), -- site-local unicast addresses
- -- have been deprecated by RFC 3879
- -- unassigned(6),
- -- unassigned(7),
- organizationLocal(8),
- -- unassigned(9),
- -- unassigned(10),
- -- unassigned(11),
- -- unassigned(12),
- -- unassigned(13),
- global(14)
- -- reserved(15)
- }
-
-InetZoneIndex ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "A zone index identifies an instance of a zone of a
- specific scope.
-
- The zone index MUST disambiguate identical address
- values. For link-local addresses, the zone index will
- typically be the interface index (ifIndex as defined in the
- IF-MIB) of the interface on which the address is configured.
-
- The zone index may contain the special value 0, which refers
- to the default zone. The default zone may be used in cases
- where the valid zone index is not known (e.g., when a
- management application has to write a link-local IPv6
- address without knowing the interface index value). The
- default zone SHOULD NOT be used as an easy way out in
- cases where the zone index for a non-global IPv6 address
- is known."
- REFERENCE "RFC4007"
- SYNTAX Unsigned32
-
-InetVersion ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "A value representing a version of the IP protocol.
-
- unknown(0) An unknown or unspecified version of the IP
- protocol.
-
-
-
- ipv4(1) The IPv4 protocol as defined in RFC 791 (STD 5).
-
- ipv6(2) The IPv6 protocol as defined in RFC 2460.
-
- Note that this textual convention SHOULD NOT be used to
- distinguish different address types associated with IP
- protocols. The InetAddressType has been designed for this
- purpose."
- REFERENCE "RFC 791, RFC 2460"
- SYNTAX INTEGER {
- unknown(0),
- ipv4(1),
- ipv6(2)
- }
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/IP-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/IP-MIB
deleted file mode 100644
index 0a93501b..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/IP-MIB
+++ /dev/null
@@ -1,5254 +0,0 @@
-IP-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE,
- Integer32, Counter32, IpAddress,
- mib-2, Unsigned32, Counter64,
- zeroDotZero FROM SNMPv2-SMI
- PhysAddress, TruthValue,
- TimeStamp, RowPointer,
- TEXTUAL-CONVENTION, TestAndIncr,
- RowStatus, StorageType FROM SNMPv2-TC
- MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
- InetAddress, InetAddressType,
- InetAddressPrefixLength,
- InetVersion, InetZoneIndex FROM INET-ADDRESS-MIB
- InterfaceIndex FROM IF-MIB;
-
-ipMIB MODULE-IDENTITY
- LAST-UPDATED "200602020000Z"
- ORGANIZATION "IETF IPv6 MIB Revision Team"
- CONTACT-INFO
- "Editor:
-
-
-
- Shawn A. Routhier
- Interworking Labs
- 108 Whispering Pines Dr. Suite 235
- Scotts Valley, CA 95066
- USA
- EMail: "
- DESCRIPTION
- "The MIB module for managing IP and ICMP implementations, but
- excluding their management of IP routes.
-
- Copyright (C) The Internet Society (2006). This version of
- this MIB module is part of RFC 4293; see the RFC itself for
- full legal notices."
-
- REVISION "200602020000Z"
- DESCRIPTION
- "The IP version neutral revision with added IPv6 objects for
- ND, default routers, and router advertisements. As well as
- being the successor to RFC 2011, this MIB is also the
- successor to RFCs 2465 and 2466. Published as RFC 4293."
-
- REVISION "199411010000Z"
- DESCRIPTION
- "A separate MIB module (IP-MIB) for IP and ICMP management
- objects. Published as RFC 2011."
-
- REVISION "199103310000Z"
- DESCRIPTION
- "The initial revision of this MIB module was part of MIB-II,
- which was published as RFC 1213."
- ::= { mib-2 48}
-
---
--- The textual conventions we define and use in this MIB.
---
-
-IpAddressOriginTC ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The origin of the address.
-
- manual(2) indicates that the address was manually configured
- to a specified address, e.g., by user configuration.
-
- dhcp(4) indicates an address that was assigned to this
- system by a DHCP server.
-
- linklayer(5) indicates an address created by IPv6 stateless
-
-
-
- auto-configuration.
-
- random(6) indicates an address chosen by the system at
- random, e.g., an IPv4 address within 169.254/16, or an RFC
- 3041 privacy address."
- SYNTAX INTEGER {
- other(1),
- manual(2),
- dhcp(4),
- linklayer(5),
- random(6)
- }
-
-IpAddressStatusTC ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The status of an address. Most of the states correspond to
- states from the IPv6 Stateless Address Autoconfiguration
- protocol.
-
- The preferred(1) state indicates that this is a valid
- address that can appear as the destination or source address
- of a packet.
-
- The deprecated(2) state indicates that this is a valid but
- deprecated address that should no longer be used as a source
- address in new communications, but packets addressed to such
- an address are processed as expected.
-
- The invalid(3) state indicates that this isn't a valid
- address and it shouldn't appear as the destination or source
- address of a packet.
-
- The inaccessible(4) state indicates that the address is not
- accessible because the interface to which this address is
- assigned is not operational.
-
- The unknown(5) state indicates that the status cannot be
- determined for some reason.
-
- The tentative(6) state indicates that the uniqueness of the
- address on the link is being verified. Addresses in this
- state should not be used for general communication and
- should only be used to determine the uniqueness of the
- address.
-
- The duplicate(7) state indicates the address has been
- determined to be non-unique on the link and so must not be
-
-
-
- used.
-
- The optimistic(8) state indicates the address is available
- for use, subject to restrictions, while its uniqueness on
- a link is being verified.
-
- In the absence of other information, an IPv4 address is
- always preferred(1)."
- REFERENCE "RFC 2462"
- SYNTAX INTEGER {
- preferred(1),
- deprecated(2),
- invalid(3),
- inaccessible(4),
- unknown(5),
- tentative(6),
- duplicate(7),
- optimistic(8)
- }
-
-IpAddressPrefixOriginTC ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The origin of this prefix.
-
- manual(2) indicates a prefix that was manually configured.
-
- wellknown(3) indicates a well-known prefix, e.g., 169.254/16
- for IPv4 auto-configuration or fe80::/10 for IPv6 link-local
- addresses. Well known prefixes may be assigned by IANA,
- the address registries, or by specification in a standards
- track RFC.
-
- dhcp(4) indicates a prefix that was assigned by a DHCP
- server.
-
- routeradv(5) indicates a prefix learned from a router
- advertisement.
-
- Note: while IpAddressOriginTC and IpAddressPrefixOriginTC
- are similar, they are not identical. The first defines how
- an address was created, while the second defines how a
- prefix was found."
- SYNTAX INTEGER {
- other(1),
- manual(2),
- wellknown(3),
- dhcp(4),
-
-
-
- routeradv(5)
- }
-
-Ipv6AddressIfIdentifierTC ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "2x:"
- STATUS current
- DESCRIPTION
- "This data type is used to model IPv6 address
- interface identifiers. This is a binary string
- of up to 8 octets in network byte-order."
- SYNTAX OCTET STRING (SIZE (0..8))
-
---
--- the IP general group
--- some objects that affect all of IPv4
---
-
-ip OBJECT IDENTIFIER ::= { mib-2 4 }
-
-ipForwarding OBJECT-TYPE
- SYNTAX INTEGER {
- forwarding(1), -- acting as a router
- notForwarding(2) -- NOT acting as a router
- }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The indication of whether this entity is acting as an IPv4
- router in respect to the forwarding of datagrams received
- by, but not addressed to, this entity. IPv4 routers forward
- datagrams. IPv4 hosts do not (except those source-routed
- via the host).
-
- When this object is written, the entity should save the
- change to non-volatile storage and restore the object from
- non-volatile storage upon re-initialization of the system.
- Note: a stronger requirement is not used because this object
- was previously defined."
- ::= { ip 1 }
-
-ipDefaultTTL OBJECT-TYPE
- SYNTAX Integer32 (1..255)
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The default value inserted into the Time-To-Live field of
- the IPv4 header of datagrams originated at this entity,
- whenever a TTL value is not supplied by the transport layer
-
-
-
- protocol.
-
- When this object is written, the entity should save the
- change to non-volatile storage and restore the object from
- non-volatile storage upon re-initialization of the system.
- Note: a stronger requirement is not used because this object
- was previously defined."
- ::= { ip 2 }
-
-ipReasmTimeout OBJECT-TYPE
- SYNTAX Integer32
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The maximum number of seconds that received fragments are
- held while they are awaiting reassembly at this entity."
- ::= { ip 13 }
-
---
--- the IPv6 general group
--- Some objects that affect all of IPv6
---
-
-ipv6IpForwarding OBJECT-TYPE
- SYNTAX INTEGER {
- forwarding(1), -- acting as a router
- notForwarding(2) -- NOT acting as a router
- }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The indication of whether this entity is acting as an IPv6
- router on any interface in respect to the forwarding of
- datagrams received by, but not addressed to, this entity.
- IPv6 routers forward datagrams. IPv6 hosts do not (except
- those source-routed via the host).
-
- When this object is written, the entity SHOULD save the
- change to non-volatile storage and restore the object from
- non-volatile storage upon re-initialization of the system."
- ::= { ip 25 }
-
-ipv6IpDefaultHopLimit OBJECT-TYPE
- SYNTAX Integer32 (0..255)
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
-
-
-
- "The default value inserted into the Hop Limit field of the
- IPv6 header of datagrams originated at this entity whenever
- a Hop Limit value is not supplied by the transport layer
- protocol.
-
- When this object is written, the entity SHOULD save the
- change to non-volatile storage and restore the object from
- non-volatile storage upon re-initialization of the system."
- REFERENCE "RFC 2461 Section 6.3.2"
- ::= { ip 26 }
-
---
--- IPv4 Interface Table
---
-
-ipv4InterfaceTableLastChange OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime on the most recent occasion at which
- a row in the ipv4InterfaceTable was added or deleted, or
- when an ipv4InterfaceReasmMaxSize or an
- ipv4InterfaceEnableStatus object was modified.
-
- If new objects are added to the ipv4InterfaceTable that
- require the ipv4InterfaceTableLastChange to be updated when
- they are modified, they must specify that requirement in
- their description clause."
- ::= { ip 27 }
-
-ipv4InterfaceTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ipv4InterfaceEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table containing per-interface IPv4-specific
- information."
- ::= { ip 28 }
-
-ipv4InterfaceEntry OBJECT-TYPE
- SYNTAX Ipv4InterfaceEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry containing IPv4-specific information for a specific
- interface."
- INDEX { ipv4InterfaceIfIndex }
-
-
-
- ::= { ipv4InterfaceTable 1 }
-
-Ipv4InterfaceEntry ::= SEQUENCE {
- ipv4InterfaceIfIndex InterfaceIndex,
- ipv4InterfaceReasmMaxSize Integer32,
- ipv4InterfaceEnableStatus INTEGER,
- ipv4InterfaceRetransmitTime Unsigned32
- }
-
-ipv4InterfaceIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface to
- which this entry is applicable. The interface identified by
- a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipv4InterfaceEntry 1 }
-
-ipv4InterfaceReasmMaxSize OBJECT-TYPE
- SYNTAX Integer32 (0..65535)
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The size of the largest IPv4 datagram that this entity can
- re-assemble from incoming IPv4 fragmented datagrams received
- on this interface."
- ::= { ipv4InterfaceEntry 2 }
-
-ipv4InterfaceEnableStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1),
- down(2)
- }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The indication of whether IPv4 is enabled (up) or disabled
- (down) on this interface. This object does not affect the
- state of the interface itself, only its connection to an
- IPv4 stack. The IF-MIB should be used to control the state
- of the interface."
- ::= { ipv4InterfaceEntry 3 }
-
-ipv4InterfaceRetransmitTime OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "milliseconds"
-
-
-
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The time between retransmissions of ARP requests to a
- neighbor when resolving the address or when probing the
- reachability of a neighbor."
- REFERENCE "RFC 1122"
- DEFVAL { 1000 }
- ::= { ipv4InterfaceEntry 4 }
-
---
--- v6 interface table
---
-
-ipv6InterfaceTableLastChange OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime on the most recent occasion at which
- a row in the ipv6InterfaceTable was added or deleted or when
- an ipv6InterfaceReasmMaxSize, ipv6InterfaceIdentifier,
- ipv6InterfaceEnableStatus, ipv6InterfaceReachableTime,
- ipv6InterfaceRetransmitTime, or ipv6InterfaceForwarding
- object was modified.
-
- If new objects are added to the ipv6InterfaceTable that
- require the ipv6InterfaceTableLastChange to be updated when
- they are modified, they must specify that requirement in
- their description clause."
- ::= { ip 29 }
-
-ipv6InterfaceTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ipv6InterfaceEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table containing per-interface IPv6-specific
- information."
- ::= { ip 30 }
-
-ipv6InterfaceEntry OBJECT-TYPE
- SYNTAX Ipv6InterfaceEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry containing IPv6-specific information for a given
- interface."
-
-
-
- INDEX { ipv6InterfaceIfIndex }
- ::= { ipv6InterfaceTable 1 }
-
-Ipv6InterfaceEntry ::= SEQUENCE {
- ipv6InterfaceIfIndex InterfaceIndex,
- ipv6InterfaceReasmMaxSize Unsigned32,
- ipv6InterfaceIdentifier Ipv6AddressIfIdentifierTC,
- ipv6InterfaceEnableStatus INTEGER,
- ipv6InterfaceReachableTime Unsigned32,
- ipv6InterfaceRetransmitTime Unsigned32,
- ipv6InterfaceForwarding INTEGER
- }
-
-ipv6InterfaceIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface to
- which this entry is applicable. The interface identified by
- a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipv6InterfaceEntry 1 }
-
-ipv6InterfaceReasmMaxSize OBJECT-TYPE
- SYNTAX Unsigned32 (1500..65535)
- UNITS "octets"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The size of the largest IPv6 datagram that this entity can
- re-assemble from incoming IPv6 fragmented datagrams received
- on this interface."
- ::= { ipv6InterfaceEntry 2 }
-
-ipv6InterfaceIdentifier OBJECT-TYPE
- SYNTAX Ipv6AddressIfIdentifierTC
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Interface Identifier for this interface. The Interface
- Identifier is combined with an address prefix to form an
- interface address.
-
- By default, the Interface Identifier is auto-configured
- according to the rules of the link type to which this
- interface is attached.
-
-
-
-
- A zero length identifier may be used where appropriate. One
- possible example is a loopback interface."
- ::= { ipv6InterfaceEntry 3 }
-
--- This object ID is reserved as it was used in earlier versions of
--- the MIB module. In theory, OIDs are not assigned until the
--- specification is released as an RFC; however, as some companies
--- may have shipped code based on earlier versions of the MIB, it
--- seems best to reserve this OID. This OID had been
--- ipv6InterfacePhysicalAddress.
--- ::= { ipv6InterfaceEntry 4}
-
-ipv6InterfaceEnableStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1),
- down(2)
- }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The indication of whether IPv6 is enabled (up) or disabled
- (down) on this interface. This object does not affect the
- state of the interface itself, only its connection to an
- IPv6 stack. The IF-MIB should be used to control the state
- of the interface.
-
- When this object is written, the entity SHOULD save the
- change to non-volatile storage and restore the object from
- non-volatile storage upon re-initialization of the system."
- ::= { ipv6InterfaceEntry 5 }
-
-ipv6InterfaceReachableTime OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "milliseconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The time a neighbor is considered reachable after receiving
- a reachability confirmation."
- REFERENCE "RFC 2461, Section 6.3.2"
- ::= { ipv6InterfaceEntry 6 }
-
-ipv6InterfaceRetransmitTime OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "milliseconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
-
-
-
- "The time between retransmissions of Neighbor Solicitation
- messages to a neighbor when resolving the address or when
- probing the reachability of a neighbor."
- REFERENCE "RFC 2461, Section 6.3.2"
- ::= { ipv6InterfaceEntry 7 }
-
-ipv6InterfaceForwarding OBJECT-TYPE
- SYNTAX INTEGER {
- forwarding(1), -- acting as a router
- notForwarding(2) -- NOT acting as a router
- }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The indication of whether this entity is acting as an IPv6
- router on this interface with respect to the forwarding of
- datagrams received by, but not addressed to, this entity.
- IPv6 routers forward datagrams. IPv6 hosts do not (except
- those source-routed via the host).
-
- This object is constrained by ipv6IpForwarding and is
- ignored if ipv6IpForwarding is set to notForwarding. Those
- systems that do not provide per-interface control of the
- forwarding function should set this object to forwarding for
- all interfaces and allow the ipv6IpForwarding object to
- control the forwarding capability.
-
- When this object is written, the entity SHOULD save the
- change to non-volatile storage and restore the object from
- non-volatile storage upon re-initialization of the system."
- ::= { ipv6InterfaceEntry 8 }
-
---
--- Per-Interface or System-Wide IP statistics.
---
--- The following two tables, ipSystemStatsTable and ipIfStatsTable,
--- are intended to provide the same counters at different granularities.
--- The ipSystemStatsTable provides system wide counters aggregating
--- the traffic counters for all interfaces for a given address type.
--- The ipIfStatsTable provides the same counters but for specific
--- interfaces rather than as an aggregate.
---
--- Note well: If a system provides both system-wide and interface-
--- specific values, the system-wide value may not be equal to the sum
--- of the interface-specific values across all interfaces due to e.g.,
--- dynamic interface creation/deletion.
---
--- Note well: Both of these tables contain some items that are
-
-
-
--- represented by two objects, representing the value in either 32
--- or 64 bits. For those objects, the 32-bit value MUST be the low
--- order 32 bits of the 64-bit value. Also note that the 32-bit
--- counters must be included when the 64-bit counters are included.
-
-ipTrafficStats OBJECT IDENTIFIER ::= { ip 31 }
-
-ipSystemStatsTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpSystemStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table containing system wide, IP version specific
- traffic statistics. This table and the ipIfStatsTable
- contain similar objects whose difference is in their
- granularity. Where this table contains system wide traffic
- statistics, the ipIfStatsTable contains the same statistics
- but counted on a per-interface basis."
- ::= { ipTrafficStats 1 }
-
-ipSystemStatsEntry OBJECT-TYPE
- SYNTAX IpSystemStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A statistics entry containing system-wide objects for a
- particular IP version."
- INDEX { ipSystemStatsIPVersion }
- ::= { ipSystemStatsTable 1 }
-
-IpSystemStatsEntry ::= SEQUENCE {
- ipSystemStatsIPVersion InetVersion,
- ipSystemStatsInReceives Counter32,
- ipSystemStatsHCInReceives Counter64,
- ipSystemStatsInOctets Counter32,
- ipSystemStatsHCInOctets Counter64,
- ipSystemStatsInHdrErrors Counter32,
- ipSystemStatsInNoRoutes Counter32,
- ipSystemStatsInAddrErrors Counter32,
- ipSystemStatsInUnknownProtos Counter32,
- ipSystemStatsInTruncatedPkts Counter32,
- ipSystemStatsInForwDatagrams Counter32,
- ipSystemStatsHCInForwDatagrams Counter64,
- ipSystemStatsReasmReqds Counter32,
- ipSystemStatsReasmOKs Counter32,
- ipSystemStatsReasmFails Counter32,
- ipSystemStatsInDiscards Counter32,
- ipSystemStatsInDelivers Counter32,
-
-
-
- ipSystemStatsHCInDelivers Counter64,
- ipSystemStatsOutRequests Counter32,
- ipSystemStatsHCOutRequests Counter64,
- ipSystemStatsOutNoRoutes Counter32,
- ipSystemStatsOutForwDatagrams Counter32,
- ipSystemStatsHCOutForwDatagrams Counter64,
- ipSystemStatsOutDiscards Counter32,
- ipSystemStatsOutFragReqds Counter32,
- ipSystemStatsOutFragOKs Counter32,
- ipSystemStatsOutFragFails Counter32,
- ipSystemStatsOutFragCreates Counter32,
- ipSystemStatsOutTransmits Counter32,
- ipSystemStatsHCOutTransmits Counter64,
- ipSystemStatsOutOctets Counter32,
- ipSystemStatsHCOutOctets Counter64,
- ipSystemStatsInMcastPkts Counter32,
- ipSystemStatsHCInMcastPkts Counter64,
- ipSystemStatsInMcastOctets Counter32,
- ipSystemStatsHCInMcastOctets Counter64,
- ipSystemStatsOutMcastPkts Counter32,
- ipSystemStatsHCOutMcastPkts Counter64,
- ipSystemStatsOutMcastOctets Counter32,
- ipSystemStatsHCOutMcastOctets Counter64,
- ipSystemStatsInBcastPkts Counter32,
- ipSystemStatsHCInBcastPkts Counter64,
- ipSystemStatsOutBcastPkts Counter32,
- ipSystemStatsHCOutBcastPkts Counter64,
- ipSystemStatsDiscontinuityTime TimeStamp,
- ipSystemStatsRefreshRate Unsigned32
- }
-
-ipSystemStatsIPVersion OBJECT-TYPE
- SYNTAX InetVersion
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP version of this row."
- ::= { ipSystemStatsEntry 1 }
-
--- This object ID is reserved to allow the IDs for this table's objects
--- to align with the objects in the ipIfStatsTable.
--- ::= { ipSystemStatsEntry 2 }
-
-ipSystemStatsInReceives OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
-
-
-
- "The total number of input IP datagrams received, including
- those received in error.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 3 }
-
-ipSystemStatsHCInReceives OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of input IP datagrams received, including
- those received in error. This object counts the same
- datagrams as ipSystemStatsInReceives, but allows for larger
- values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 4 }
-
-ipSystemStatsInOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in input IP datagrams,
- including those received in error. Octets from datagrams
- counted in ipSystemStatsInReceives MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 5 }
-
-ipSystemStatsHCInOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in input IP datagrams,
- including those received in error. This object counts the
- same octets as ipSystemStatsInOctets, but allows for larger
-
-
-
- values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 6 }
-
-ipSystemStatsInHdrErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded due to errors in
- their IP headers, including version number mismatch, other
- format errors, hop count exceeded, errors discovered in
- processing their IP options, etc.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 7 }
-
-ipSystemStatsInNoRoutes OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded because no route
- could be found to transmit them to their destination.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 8 }
-
-ipSystemStatsInAddrErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded because the IP
- address in their IP header's destination field was not a
- valid address to be received at this entity. This count
- includes invalid addresses (e.g., ::0). For entities
- that are not IP routers and therefore do not forward
-
-
-
- datagrams, this counter includes datagrams discarded
- because the destination address was not a local address.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 9 }
-
-ipSystemStatsInUnknownProtos OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of locally-addressed IP datagrams received
- successfully but discarded because of an unknown or
- unsupported protocol.
-
- When tracking interface statistics, the counter of the
- interface to which these datagrams were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the datagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 10 }
-
-ipSystemStatsInTruncatedPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded because the
- datagram frame didn't carry enough data.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 11 }
-
-ipSystemStatsInForwDatagrams OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
-
-
-
- "The number of input datagrams for which this entity was not
- their final IP destination and for which this entity
- attempted to find a route to forward them to that final
- destination. In entities that do not act as IP routers,
- this counter will include only those datagrams that were
- Source-Routed via this entity, and the Source-Route
- processing was successful.
-
- When tracking interface statistics, the counter of the
- incoming interface is incremented for each datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 12 }
-
-ipSystemStatsHCInForwDatagrams OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input datagrams for which this entity was not
- their final IP destination and for which this entity
- attempted to find a route to forward them to that final
- destination. This object counts the same packets as
- ipSystemStatsInForwDatagrams, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 13 }
-
-ipSystemStatsReasmReqds OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP fragments received that needed to be
- reassembled at this interface.
-
- When tracking interface statistics, the counter of the
- interface to which these fragments were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the fragments.
-
- Discontinuities in the value of this counter can occur at
-
-
-
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 14 }
-
-ipSystemStatsReasmOKs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP datagrams successfully reassembled.
-
- When tracking interface statistics, the counter of the
- interface to which these datagrams were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the datagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 15 }
-
-ipSystemStatsReasmFails OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of failures detected by the IP re-assembly
- algorithm (for whatever reason: timed out, errors, etc.).
- Note that this is not necessarily a count of discarded IP
- fragments since some algorithms (notably the algorithm in
- RFC 815) can lose track of the number of fragments by
- combining them as they are received.
-
- When tracking interface statistics, the counter of the
- interface to which these fragments were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the fragments.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 16 }
-
-ipSystemStatsInDiscards OBJECT-TYPE
- SYNTAX Counter32
-
-
-
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams for which no problems were
- encountered to prevent their continued processing, but
- were discarded (e.g., for lack of buffer space). Note that
- this counter does not include any datagrams discarded while
- awaiting re-assembly.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 17 }
-
-ipSystemStatsInDelivers OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of datagrams successfully delivered to IP
- user-protocols (including ICMP).
-
- When tracking interface statistics, the counter of the
- interface to which these datagrams were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the datagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 18 }
-
-ipSystemStatsHCInDelivers OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of datagrams successfully delivered to IP
- user-protocols (including ICMP). This object counts the
- same packets as ipSystemStatsInDelivers, but allows for
- larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
-
-
-
- ::= { ipSystemStatsEntry 19 }
-
-ipSystemStatsOutRequests OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that local IP user-
- protocols (including ICMP) supplied to IP in requests for
- transmission. Note that this counter does not include any
- datagrams counted in ipSystemStatsOutForwDatagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 20 }
-
-ipSystemStatsHCOutRequests OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that local IP user-
- protocols (including ICMP) supplied to IP in requests for
- transmission. This object counts the same packets as
- ipSystemStatsOutRequests, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 21 }
-
-ipSystemStatsOutNoRoutes OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of locally generated IP datagrams discarded
- because no route could be found to transmit them to their
- destination.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 22 }
-
-
-
-ipSystemStatsOutForwDatagrams OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of datagrams for which this entity was not their
- final IP destination and for which it was successful in
- finding a path to their final destination. In entities
- that do not act as IP routers, this counter will include
- only those datagrams that were Source-Routed via this
- entity, and the Source-Route processing was successful.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for a successfully
- forwarded datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 23 }
-
-ipSystemStatsHCOutForwDatagrams OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of datagrams for which this entity was not their
- final IP destination and for which it was successful in
- finding a path to their final destination. This object
- counts the same packets as ipSystemStatsOutForwDatagrams,
- but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 24 }
-
-ipSystemStatsOutDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of output IP datagrams for which no problem was
- encountered to prevent their transmission to their
- destination, but were discarded (e.g., for lack of
- buffer space). Note that this counter would include
-
-
-
- datagrams counted in ipSystemStatsOutForwDatagrams if any
- such datagrams met this (discretionary) discard criterion.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 25 }
-
-ipSystemStatsOutFragReqds OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP datagrams that would require fragmentation
- in order to be transmitted.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for a successfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 26 }
-
-ipSystemStatsOutFragOKs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP datagrams that have been successfully
- fragmented.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for a successfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 27 }
-
-ipSystemStatsOutFragFails OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
-
-
-
- STATUS current
- DESCRIPTION
- "The number of IP datagrams that have been discarded because
- they needed to be fragmented but could not be. This
- includes IPv4 packets that have the DF bit set and IPv6
- packets that are being forwarded and exceed the outgoing
- link MTU.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for an unsuccessfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 28 }
-
-ipSystemStatsOutFragCreates OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of output datagram fragments that have been
- generated as a result of IP fragmentation.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for a successfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 29 }
-
-ipSystemStatsOutTransmits OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that this entity supplied
- to the lower layers for transmission. This includes
- datagrams generated locally and those forwarded by this
- entity.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
-
-
-
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 30 }
-
-ipSystemStatsHCOutTransmits OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that this entity supplied
- to the lower layers for transmission. This object counts
- the same datagrams as ipSystemStatsOutTransmits, but allows
- for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 31 }
-
-ipSystemStatsOutOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets in IP datagrams delivered to the
- lower layers for transmission. Octets from datagrams
- counted in ipSystemStatsOutTransmits MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 32 }
-
-ipSystemStatsHCOutOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets in IP datagrams delivered to the
- lower layers for transmission. This objects counts the same
- octets as ipSystemStatsOutOctets, but allows for larger
- values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
-
-
-
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 33 }
-
-ipSystemStatsInMcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams received.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 34 }
-
-ipSystemStatsHCInMcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams received. This object
- counts the same datagrams as ipSystemStatsInMcastPkts but
- allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 35 }
-
-ipSystemStatsInMcastOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in IP multicast
- datagrams. Octets from datagrams counted in
- ipSystemStatsInMcastPkts MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 36 }
-
-ipSystemStatsHCInMcastOctets OBJECT-TYPE
- SYNTAX Counter64
-
-
-
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in IP multicast
- datagrams. This object counts the same octets as
- ipSystemStatsInMcastOctets, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 37 }
-
-ipSystemStatsOutMcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams transmitted.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 38 }
-
-ipSystemStatsHCOutMcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams transmitted. This
- object counts the same datagrams as
- ipSystemStatsOutMcastPkts, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 39 }
-
-ipSystemStatsOutMcastOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets transmitted in IP multicast
- datagrams. Octets from datagrams counted in
-
-
-
- ipSystemStatsOutMcastPkts MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 40 }
-
-ipSystemStatsHCOutMcastOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets transmitted in IP multicast
- datagrams. This object counts the same octets as
- ipSystemStatsOutMcastOctets, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 41 }
-
-ipSystemStatsInBcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams received.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 42 }
-
-ipSystemStatsHCInBcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams received. This object
- counts the same datagrams as ipSystemStatsInBcastPkts but
- allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
-
-
-
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 43 }
-
-ipSystemStatsOutBcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams transmitted.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 44 }
-
-ipSystemStatsHCOutBcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams transmitted. This
- object counts the same datagrams as
- ipSystemStatsOutBcastPkts, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipSystemStatsDiscontinuityTime."
- ::= { ipSystemStatsEntry 45 }
-
-ipSystemStatsDiscontinuityTime OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime on the most recent occasion at which
- any one or more of this entry's counters suffered a
- discontinuity.
-
- If no such discontinuities have occurred since the last re-
- initialization of the local management subsystem, then this
- object contains a zero value."
- ::= { ipSystemStatsEntry 46 }
-
-ipSystemStatsRefreshRate OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "milli-seconds"
-
-
-
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The minimum reasonable polling interval for this entry.
- This object provides an indication of the minimum amount of
- time required to update the counters in this entry."
- ::= { ipSystemStatsEntry 47 }
-
-ipIfStatsTableLastChange OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime on the most recent occasion at which
- a row in the ipIfStatsTable was added or deleted.
-
- If new objects are added to the ipIfStatsTable that require
- the ipIfStatsTableLastChange to be updated when they are
- modified, they must specify that requirement in their
- description clause."
- ::= { ipTrafficStats 2 }
-
-ipIfStatsTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpIfStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table containing per-interface traffic statistics. This
- table and the ipSystemStatsTable contain similar objects
- whose difference is in their granularity. Where this table
- contains per-interface statistics, the ipSystemStatsTable
- contains the same statistics, but counted on a system wide
- basis."
- ::= { ipTrafficStats 3 }
-
-ipIfStatsEntry OBJECT-TYPE
- SYNTAX IpIfStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An interface statistics entry containing objects for a
- particular interface and version of IP."
- INDEX { ipIfStatsIPVersion, ipIfStatsIfIndex }
- ::= { ipIfStatsTable 1 }
-
-IpIfStatsEntry ::= SEQUENCE {
- ipIfStatsIPVersion InetVersion,
- ipIfStatsIfIndex InterfaceIndex,
-
-
-
- ipIfStatsInReceives Counter32,
- ipIfStatsHCInReceives Counter64,
- ipIfStatsInOctets Counter32,
- ipIfStatsHCInOctets Counter64,
- ipIfStatsInHdrErrors Counter32,
- ipIfStatsInNoRoutes Counter32,
- ipIfStatsInAddrErrors Counter32,
- ipIfStatsInUnknownProtos Counter32,
- ipIfStatsInTruncatedPkts Counter32,
- ipIfStatsInForwDatagrams Counter32,
- ipIfStatsHCInForwDatagrams Counter64,
- ipIfStatsReasmReqds Counter32,
- ipIfStatsReasmOKs Counter32,
- ipIfStatsReasmFails Counter32,
- ipIfStatsInDiscards Counter32,
- ipIfStatsInDelivers Counter32,
- ipIfStatsHCInDelivers Counter64,
- ipIfStatsOutRequests Counter32,
- ipIfStatsHCOutRequests Counter64,
- ipIfStatsOutForwDatagrams Counter32,
- ipIfStatsHCOutForwDatagrams Counter64,
- ipIfStatsOutDiscards Counter32,
- ipIfStatsOutFragReqds Counter32,
- ipIfStatsOutFragOKs Counter32,
- ipIfStatsOutFragFails Counter32,
- ipIfStatsOutFragCreates Counter32,
- ipIfStatsOutTransmits Counter32,
- ipIfStatsHCOutTransmits Counter64,
- ipIfStatsOutOctets Counter32,
- ipIfStatsHCOutOctets Counter64,
- ipIfStatsInMcastPkts Counter32,
- ipIfStatsHCInMcastPkts Counter64,
- ipIfStatsInMcastOctets Counter32,
- ipIfStatsHCInMcastOctets Counter64,
- ipIfStatsOutMcastPkts Counter32,
- ipIfStatsHCOutMcastPkts Counter64,
- ipIfStatsOutMcastOctets Counter32,
- ipIfStatsHCOutMcastOctets Counter64,
- ipIfStatsInBcastPkts Counter32,
- ipIfStatsHCInBcastPkts Counter64,
- ipIfStatsOutBcastPkts Counter32,
- ipIfStatsHCOutBcastPkts Counter64,
- ipIfStatsDiscontinuityTime TimeStamp,
- ipIfStatsRefreshRate Unsigned32
- }
-
-ipIfStatsIPVersion OBJECT-TYPE
- SYNTAX InetVersion
-
-
-
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP version of this row."
- ::= { ipIfStatsEntry 1 }
-
-ipIfStatsIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface to
- which this entry is applicable. The interface identified by
- a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipIfStatsEntry 2 }
-
-ipIfStatsInReceives OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of input IP datagrams received, including
- those received in error.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 3 }
-
-ipIfStatsHCInReceives OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of input IP datagrams received, including
- those received in error. This object counts the same
- datagrams as ipIfStatsInReceives, but allows for larger
- values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 4 }
-
-ipIfStatsInOctets OBJECT-TYPE
-
-
-
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in input IP datagrams,
- including those received in error. Octets from datagrams
- counted in ipIfStatsInReceives MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 5 }
-
-ipIfStatsHCInOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in input IP datagrams,
- including those received in error. This object counts the
- same octets as ipIfStatsInOctets, but allows for larger
- values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 6 }
-
-ipIfStatsInHdrErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded due to errors in
- their IP headers, including version number mismatch, other
- format errors, hop count exceeded, errors discovered in
- processing their IP options, etc.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 7 }
-
-ipIfStatsInNoRoutes OBJECT-TYPE
- SYNTAX Counter32
-
-
-
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded because no route
- could be found to transmit them to their destination.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 8 }
-
-ipIfStatsInAddrErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded because the IP
- address in their IP header's destination field was not a
- valid address to be received at this entity. This count
- includes invalid addresses (e.g., ::0). For entities that
- are not IP routers and therefore do not forward datagrams,
- this counter includes datagrams discarded because the
- destination address was not a local address.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 9 }
-
-ipIfStatsInUnknownProtos OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of locally-addressed IP datagrams received
- successfully but discarded because of an unknown or
- unsupported protocol.
-
- When tracking interface statistics, the counter of the
- interface to which these datagrams were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the datagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
-
-
-
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 10 }
-
-ipIfStatsInTruncatedPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams discarded because the
- datagram frame didn't carry enough data.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 11 }
-
-ipIfStatsInForwDatagrams OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input datagrams for which this entity was not
- their final IP destination and for which this entity
- attempted to find a route to forward them to that final
- destination. In entities that do not act as IP routers,
- this counter will include only those datagrams that were
- Source-Routed via this entity, and the Source-Route
- processing was successful.
-
- When tracking interface statistics, the counter of the
- incoming interface is incremented for each datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 12 }
-
-ipIfStatsHCInForwDatagrams OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input datagrams for which this entity was not
- their final IP destination and for which this entity
- attempted to find a route to forward them to that final
- destination. This object counts the same packets as
-
-
-
- ipIfStatsInForwDatagrams, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 13 }
-
-ipIfStatsReasmReqds OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP fragments received that needed to be
- reassembled at this interface.
-
- When tracking interface statistics, the counter of the
- interface to which these fragments were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the fragments.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 14 }
-
-ipIfStatsReasmOKs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP datagrams successfully reassembled.
-
- When tracking interface statistics, the counter of the
- interface to which these datagrams were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the datagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 15 }
-
-ipIfStatsReasmFails OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
-
-
-
- STATUS current
- DESCRIPTION
- "The number of failures detected by the IP re-assembly
- algorithm (for whatever reason: timed out, errors, etc.).
- Note that this is not necessarily a count of discarded IP
- fragments since some algorithms (notably the algorithm in
- RFC 815) can lose track of the number of fragments by
- combining them as they are received.
-
- When tracking interface statistics, the counter of the
- interface to which these fragments were addressed is
- incremented. This interface might not be the same as the
- input interface for some of the fragments.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 16 }
-
-ipIfStatsInDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input IP datagrams for which no problems were
- encountered to prevent their continued processing, but
- were discarded (e.g., for lack of buffer space). Note that
- this counter does not include any datagrams discarded while
- awaiting re-assembly.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 17 }
-
-ipIfStatsInDelivers OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of datagrams successfully delivered to IP
- user-protocols (including ICMP).
-
- When tracking interface statistics, the counter of the
- interface to which these datagrams were addressed is
- incremented. This interface might not be the same as the
-
-
-
- input interface for some of the datagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 18 }
-
-ipIfStatsHCInDelivers OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of datagrams successfully delivered to IP
- user-protocols (including ICMP). This object counts the
- same packets as ipIfStatsInDelivers, but allows for larger
- values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 19 }
-
-ipIfStatsOutRequests OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that local IP user-
- protocols (including ICMP) supplied to IP in requests for
- transmission. Note that this counter does not include any
- datagrams counted in ipIfStatsOutForwDatagrams.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 20 }
-
-ipIfStatsHCOutRequests OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that local IP user-
- protocols (including ICMP) supplied to IP in requests for
- transmission. This object counts the same packets as
-
-
-
- ipIfStatsOutRequests, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 21 }
-
--- This object ID is reserved to allow the IDs for this table's objects
--- to align with the objects in the ipSystemStatsTable.
--- ::= {ipIfStatsEntry 22}
-
-ipIfStatsOutForwDatagrams OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of datagrams for which this entity was not their
- final IP destination and for which it was successful in
- finding a path to their final destination. In entities
- that do not act as IP routers, this counter will include
- only those datagrams that were Source-Routed via this
- entity, and the Source-Route processing was successful.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for a successfully
- forwarded datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 23 }
-
-ipIfStatsHCOutForwDatagrams OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of datagrams for which this entity was not their
- final IP destination and for which it was successful in
- finding a path to their final destination. This object
- counts the same packets as ipIfStatsOutForwDatagrams, but
- allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
-
-
-
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 24 }
-
-ipIfStatsOutDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of output IP datagrams for which no problem was
- encountered to prevent their transmission to their
- destination, but were discarded (e.g., for lack of
- buffer space). Note that this counter would include
- datagrams counted in ipIfStatsOutForwDatagrams if any such
- datagrams met this (discretionary) discard criterion.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 25 }
-
-ipIfStatsOutFragReqds OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP datagrams that would require fragmentation
- in order to be transmitted.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for a successfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 26 }
-
-ipIfStatsOutFragOKs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP datagrams that have been successfully
- fragmented.
-
- When tracking interface statistics, the counter of the
-
-
-
- outgoing interface is incremented for a successfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 27 }
-
-ipIfStatsOutFragFails OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP datagrams that have been discarded because
- they needed to be fragmented but could not be. This
- includes IPv4 packets that have the DF bit set and IPv6
- packets that are being forwarded and exceed the outgoing
- link MTU.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for an unsuccessfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 28 }
-
-ipIfStatsOutFragCreates OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of output datagram fragments that have been
- generated as a result of IP fragmentation.
-
- When tracking interface statistics, the counter of the
- outgoing interface is incremented for a successfully
- fragmented datagram.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 29 }
-
-
-
-
-ipIfStatsOutTransmits OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that this entity supplied
- to the lower layers for transmission. This includes
- datagrams generated locally and those forwarded by this
- entity.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 30 }
-
-ipIfStatsHCOutTransmits OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of IP datagrams that this entity supplied
- to the lower layers for transmission. This object counts
- the same datagrams as ipIfStatsOutTransmits, but allows for
- larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 31 }
-
-ipIfStatsOutOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets in IP datagrams delivered to the
- lower layers for transmission. Octets from datagrams
- counted in ipIfStatsOutTransmits MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 32 }
-
-ipIfStatsHCOutOctets OBJECT-TYPE
-
-
-
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets in IP datagrams delivered to the
- lower layers for transmission. This objects counts the same
- octets as ipIfStatsOutOctets, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 33 }
-
-ipIfStatsInMcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams received.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 34 }
-
-ipIfStatsHCInMcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams received. This object
- counts the same datagrams as ipIfStatsInMcastPkts, but
- allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 35 }
-
-ipIfStatsInMcastOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in IP multicast
-
-
-
- datagrams. Octets from datagrams counted in
- ipIfStatsInMcastPkts MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 36 }
-
-ipIfStatsHCInMcastOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets received in IP multicast
- datagrams. This object counts the same octets as
- ipIfStatsInMcastOctets, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 37 }
-
-ipIfStatsOutMcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams transmitted.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 38 }
-
-ipIfStatsHCOutMcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP multicast datagrams transmitted. This
- object counts the same datagrams as ipIfStatsOutMcastPkts,
- but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
-
-
-
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 39 }
-
-ipIfStatsOutMcastOctets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets transmitted in IP multicast
- datagrams. Octets from datagrams counted in
- ipIfStatsOutMcastPkts MUST be counted here.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 40 }
-
-ipIfStatsHCOutMcastOctets OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of octets transmitted in IP multicast
- datagrams. This object counts the same octets as
- ipIfStatsOutMcastOctets, but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 41 }
-
-ipIfStatsInBcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams received.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 42 }
-
-ipIfStatsHCInBcastPkts OBJECT-TYPE
-
-
-
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams received. This object
- counts the same datagrams as ipIfStatsInBcastPkts, but
- allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 43 }
-
-ipIfStatsOutBcastPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams transmitted.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 44 }
-
-ipIfStatsHCOutBcastPkts OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of IP broadcast datagrams transmitted. This
- object counts the same datagrams as ipIfStatsOutBcastPkts,
- but allows for larger values.
-
- Discontinuities in the value of this counter can occur at
- re-initialization of the management system, and at other
- times as indicated by the value of
- ipIfStatsDiscontinuityTime."
- ::= { ipIfStatsEntry 45 }
-
-ipIfStatsDiscontinuityTime OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime on the most recent occasion at which
-
-
-
- any one or more of this entry's counters suffered a
- discontinuity.
-
- If no such discontinuities have occurred since the last re-
- initialization of the local management subsystem, then this
- object contains a zero value."
- ::= { ipIfStatsEntry 46 }
-
-ipIfStatsRefreshRate OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "milli-seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The minimum reasonable polling interval for this entry.
- This object provides an indication of the minimum amount of
- time required to update the counters in this entry."
- ::= { ipIfStatsEntry 47 }
-
---
--- Internet Address Prefix table
---
-
-ipAddressPrefixTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpAddressPrefixEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "This table allows the user to determine the source of an IP
- address or set of IP addresses, and allows other tables to
- share the information via pointer rather than by copying.
-
- For example, when the node configures both a unicast and
- anycast address for a prefix, the ipAddressPrefix objects
- for those addresses will point to a single row in this
- table.
-
- This table primarily provides support for IPv6 prefixes, and
- several of the objects are less meaningful for IPv4. The
- table continues to allow IPv4 addresses to allow future
- flexibility. In order to promote a common configuration,
- this document includes suggestions for default values for
- IPv4 prefixes. Each of these values may be overridden if an
- object is meaningful to the node.
-
- All prefixes used by this entity should be included in this
- table independent of how the entity learned the prefix.
- (This table isn't limited to prefixes learned from router
-
-
-
- advertisements.)"
- ::= { ip 32 }
-
-ipAddressPrefixEntry OBJECT-TYPE
- SYNTAX IpAddressPrefixEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry in the ipAddressPrefixTable."
- INDEX { ipAddressPrefixIfIndex, ipAddressPrefixType,
- ipAddressPrefixPrefix, ipAddressPrefixLength }
- ::= { ipAddressPrefixTable 1 }
-
-IpAddressPrefixEntry ::= SEQUENCE {
- ipAddressPrefixIfIndex InterfaceIndex,
- ipAddressPrefixType InetAddressType,
- ipAddressPrefixPrefix InetAddress,
- ipAddressPrefixLength InetAddressPrefixLength,
- ipAddressPrefixOrigin IpAddressPrefixOriginTC,
- ipAddressPrefixOnLinkFlag TruthValue,
- ipAddressPrefixAutonomousFlag TruthValue,
- ipAddressPrefixAdvPreferredLifetime Unsigned32,
- ipAddressPrefixAdvValidLifetime Unsigned32
- }
-
-ipAddressPrefixIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface on
- which this prefix is configured. The interface identified
- by a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipAddressPrefixEntry 1 }
-
-ipAddressPrefixType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The address type of ipAddressPrefix."
- ::= { ipAddressPrefixEntry 2 }
-
-ipAddressPrefixPrefix OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
-
-
-
- DESCRIPTION
- "The address prefix. The address type of this object is
- specified in ipAddressPrefixType. The length of this object
- is the standard length for objects of that type (4 or 16
- bytes). Any bits after ipAddressPrefixLength must be zero.
-
- Implementors need to be aware that, if the size of
- ipAddressPrefixPrefix exceeds 114 octets, then OIDS of
- instances of columns in this row will have more than 128
- sub-identifiers and cannot be accessed using SNMPv1,
- SNMPv2c, or SNMPv3."
- ::= { ipAddressPrefixEntry 3 }
-
-ipAddressPrefixLength OBJECT-TYPE
- SYNTAX InetAddressPrefixLength
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The prefix length associated with this prefix.
-
- The value 0 has no special meaning for this object. It
- simply refers to address '::/0'."
- ::= { ipAddressPrefixEntry 4 }
-
-ipAddressPrefixOrigin OBJECT-TYPE
- SYNTAX IpAddressPrefixOriginTC
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The origin of this prefix."
- ::= { ipAddressPrefixEntry 5 }
-
-ipAddressPrefixOnLinkFlag OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "This object has the value 'true(1)', if this prefix can be
- used for on-link determination; otherwise, the value is
- 'false(2)'.
-
- The default for IPv4 prefixes is 'true(1)'."
- REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
- RFC 2462"
- ::= { ipAddressPrefixEntry 6 }
-
-ipAddressPrefixAutonomousFlag OBJECT-TYPE
- SYNTAX TruthValue
-
-
-
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Autonomous address configuration flag. When true(1),
- indicates that this prefix can be used for autonomous
- address configuration (i.e., can be used to form a local
- interface address). If false(2), it is not used to auto-
- configure a local interface address.
-
- The default for IPv4 prefixes is 'false(2)'."
- REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
- RFC 2462"
- ::= { ipAddressPrefixEntry 7 }
-
-ipAddressPrefixAdvPreferredLifetime OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The remaining length of time, in seconds, that this prefix
- will continue to be preferred, i.e., time until deprecation.
-
- A value of 4,294,967,295 represents infinity.
-
- The address generated from a deprecated prefix should no
- longer be used as a source address in new communications,
- but packets received on such an interface are processed as
- expected.
-
- The default for IPv4 prefixes is 4,294,967,295 (infinity)."
- REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
- RFC 2462"
- ::= { ipAddressPrefixEntry 8 }
-
-ipAddressPrefixAdvValidLifetime OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The remaining length of time, in seconds, that this prefix
- will continue to be valid, i.e., time until invalidation. A
- value of 4,294,967,295 represents infinity.
-
- The address generated from an invalidated prefix should not
- appear as the destination or source address of a packet.
-
-
-
-
- The default for IPv4 prefixes is 4,294,967,295 (infinity)."
- REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
- RFC 2462"
- ::= { ipAddressPrefixEntry 9 }
-
---
--- Internet Address Table
---
-
-ipAddressSpinLock OBJECT-TYPE
- SYNTAX TestAndIncr
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "An advisory lock used to allow cooperating SNMP managers to
- coordinate their use of the set operation in creating or
- modifying rows within this table.
-
- In order to use this lock to coordinate the use of set
- operations, managers should first retrieve
- ipAddressTableSpinLock. They should then determine the
- appropriate row to create or modify. Finally, they should
- issue the appropriate set command, including the retrieved
- value of ipAddressSpinLock. If another manager has altered
- the table in the meantime, then the value of
- ipAddressSpinLock will have changed, and the creation will
- fail as it will be specifying an incorrect value for
- ipAddressSpinLock. It is suggested, but not required, that
- the ipAddressSpinLock be the first var bind for each set of
- objects representing a 'row' in a PDU."
- ::= { ip 33 }
-
-ipAddressTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpAddressEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "This table contains addressing information relevant to the
- entity's interfaces.
-
- This table does not contain multicast address information.
- Tables for such information should be contained in multicast
- specific MIBs, such as RFC 3019.
-
- While this table is writable, the user will note that
- several objects, such as ipAddressOrigin, are not. The
- intention in allowing a user to write to this table is to
- allow them to add or remove any entry that isn't
-
-
-
- permanent. The user should be allowed to modify objects
- and entries when that would not cause inconsistencies
- within the table. Allowing write access to objects, such
- as ipAddressOrigin, could allow a user to insert an entry
- and then label it incorrectly.
-
- Note well: When including IPv6 link-local addresses in this
- table, the entry must use an InetAddressType of 'ipv6z' in
- order to differentiate between the possible interfaces."
- ::= { ip 34 }
-
-ipAddressEntry OBJECT-TYPE
- SYNTAX IpAddressEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An address mapping for a particular interface."
- INDEX { ipAddressAddrType, ipAddressAddr }
- ::= { ipAddressTable 1 }
-
-IpAddressEntry ::= SEQUENCE {
- ipAddressAddrType InetAddressType,
- ipAddressAddr InetAddress,
- ipAddressIfIndex InterfaceIndex,
- ipAddressType INTEGER,
- ipAddressPrefix RowPointer,
- ipAddressOrigin IpAddressOriginTC,
- ipAddressStatus IpAddressStatusTC,
- ipAddressCreated TimeStamp,
- ipAddressLastChanged TimeStamp,
- ipAddressRowStatus RowStatus,
- ipAddressStorageType StorageType
- }
-
-ipAddressAddrType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The address type of ipAddressAddr."
- ::= { ipAddressEntry 1 }
-
-ipAddressAddr OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP address to which this entry's addressing information
-
-
-
- pertains. The address type of this object is specified in
- ipAddressAddrType.
-
- Implementors need to be aware that if the size of
- ipAddressAddr exceeds 116 octets, then OIDS of instances of
- columns in this row will have more than 128 sub-identifiers
- and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
- ::= { ipAddressEntry 2 }
-
-ipAddressIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface to
- which this entry is applicable. The interface identified by
- a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipAddressEntry 3 }
-
-ipAddressType OBJECT-TYPE
- SYNTAX INTEGER {
- unicast(1),
- anycast(2),
- broadcast(3)
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The type of address. broadcast(3) is not a valid value for
- IPv6 addresses (RFC 3513)."
- DEFVAL { unicast }
- ::= { ipAddressEntry 4 }
-
-ipAddressPrefix OBJECT-TYPE
- SYNTAX RowPointer
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A pointer to the row in the prefix table to which this
- address belongs. May be { 0 0 } if there is no such row."
- DEFVAL { zeroDotZero }
- ::= { ipAddressEntry 5 }
-
-ipAddressOrigin OBJECT-TYPE
- SYNTAX IpAddressOriginTC
- MAX-ACCESS read-only
- STATUS current
-
-
-
- DESCRIPTION
- "The origin of the address."
- ::= { ipAddressEntry 6 }
-
-ipAddressStatus OBJECT-TYPE
- SYNTAX IpAddressStatusTC
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The status of the address, describing if the address can be
- used for communication.
-
- In the absence of other information, an IPv4 address is
- always preferred(1)."
- DEFVAL { preferred }
- ::= { ipAddressEntry 7 }
-
-ipAddressCreated OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time this entry was created.
- If this entry was created prior to the last re-
- initialization of the local network management subsystem,
- then this object contains a zero value."
- ::= { ipAddressEntry 8 }
-
-ipAddressLastChanged OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time this entry was last
- updated. If this entry was updated prior to the last re-
- initialization of the local network management subsystem,
- then this object contains a zero value."
- ::= { ipAddressEntry 9 }
-
-ipAddressRowStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The status of this conceptual row.
-
- The RowStatus TC requires that this DESCRIPTION clause
- states under which circumstances other objects in this row
-
-
-
- can be modified. The value of this object has no effect on
- whether other objects in this conceptual row can be
- modified.
-
- A conceptual row can not be made active until the
- ipAddressIfIndex has been set to a valid index."
- ::= { ipAddressEntry 10 }
-
-ipAddressStorageType OBJECT-TYPE
- SYNTAX StorageType
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The storage type for this conceptual row. If this object
- has a value of 'permanent', then no other objects are
- required to be able to be modified."
- DEFVAL { volatile }
- ::= { ipAddressEntry 11 }
-
---
--- the Internet Address Translation table
---
-
-ipNetToPhysicalTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpNetToPhysicalEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP Address Translation table used for mapping from IP
- addresses to physical addresses.
-
- The Address Translation tables contain the IP address to
- 'physical' address equivalences. Some interfaces do not use
- translation tables for determining address equivalences
- (e.g., DDN-X.25 has an algorithmic method); if all
- interfaces are of this type, then the Address Translation
- table is empty, i.e., has zero entries.
-
- While many protocols may be used to populate this table, ARP
- and Neighbor Discovery are the most likely
- options."
- REFERENCE "RFC 826 and RFC 2461"
- ::= { ip 35 }
-
-ipNetToPhysicalEntry OBJECT-TYPE
- SYNTAX IpNetToPhysicalEntry
- MAX-ACCESS not-accessible
- STATUS current
-
-
-
- DESCRIPTION
- "Each entry contains one IP address to `physical' address
- equivalence."
- INDEX { ipNetToPhysicalIfIndex,
- ipNetToPhysicalNetAddressType,
- ipNetToPhysicalNetAddress }
- ::= { ipNetToPhysicalTable 1 }
-
-IpNetToPhysicalEntry ::= SEQUENCE {
- ipNetToPhysicalIfIndex InterfaceIndex,
- ipNetToPhysicalNetAddressType InetAddressType,
- ipNetToPhysicalNetAddress InetAddress,
- ipNetToPhysicalPhysAddress PhysAddress,
- ipNetToPhysicalLastUpdated TimeStamp,
- ipNetToPhysicalType INTEGER,
- ipNetToPhysicalState INTEGER,
- ipNetToPhysicalRowStatus RowStatus
- }
-
-ipNetToPhysicalIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface to
- which this entry is applicable. The interface identified by
- a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipNetToPhysicalEntry 1 }
-
-ipNetToPhysicalNetAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The type of ipNetToPhysicalNetAddress."
- ::= { ipNetToPhysicalEntry 2 }
-
-ipNetToPhysicalNetAddress OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP Address corresponding to the media-dependent
- `physical' address. The address type of this object is
- specified in ipNetToPhysicalAddressType.
-
- Implementors need to be aware that if the size of
-
-
-
- ipNetToPhysicalNetAddress exceeds 115 octets, then OIDS of
- instances of columns in this row will have more than 128
- sub-identifiers and cannot be accessed using SNMPv1,
- SNMPv2c, or SNMPv3."
- ::= { ipNetToPhysicalEntry 3 }
-
-ipNetToPhysicalPhysAddress OBJECT-TYPE
- SYNTAX PhysAddress (SIZE(0..65535))
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The media-dependent `physical' address.
-
- As the entries in this table are typically not persistent
- when this object is written the entity SHOULD NOT save the
- change to non-volatile storage."
- ::= { ipNetToPhysicalEntry 4 }
-
-ipNetToPhysicalLastUpdated OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time this entry was last
- updated. If this entry was updated prior to the last re-
- initialization of the local network management subsystem,
- then this object contains a zero value."
- ::= { ipNetToPhysicalEntry 5 }
-
-ipNetToPhysicalType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
- invalid(2), -- an invalidated mapping
- dynamic(3),
- static(4),
- local(5) -- local interface
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The type of mapping.
-
- Setting this object to the value invalid(2) has the effect
- of invalidating the corresponding entry in the
- ipNetToPhysicalTable. That is, it effectively dis-
- associates the interface identified with said entry from the
- mapping identified with said entry. It is an
- implementation-specific matter as to whether the agent
-
-
-
- removes an invalidated entry from the table. Accordingly,
- management stations must be prepared to receive tabular
- information from agents that corresponds to entries not
- currently in use. Proper interpretation of such entries
- requires examination of the relevant ipNetToPhysicalType
- object.
-
- The 'dynamic(3)' type indicates that the IP address to
- physical addresses mapping has been dynamically resolved
- using e.g., IPv4 ARP or the IPv6 Neighbor Discovery
- protocol.
-
- The 'static(4)' type indicates that the mapping has been
- statically configured. Both of these refer to entries that
- provide mappings for other entities addresses.
-
- The 'local(5)' type indicates that the mapping is provided
- for an entity's own interface address.
-
- As the entries in this table are typically not persistent
- when this object is written the entity SHOULD NOT save the
- change to non-volatile storage."
- DEFVAL { static }
- ::= { ipNetToPhysicalEntry 6 }
-
-ipNetToPhysicalState OBJECT-TYPE
- SYNTAX INTEGER {
- reachable(1), -- confirmed reachability
-
- stale(2), -- unconfirmed reachability
-
- delay(3), -- waiting for reachability
- -- confirmation before entering
- -- the probe state
-
- probe(4), -- actively probing
-
- invalid(5), -- an invalidated mapping
-
- unknown(6), -- state can not be determined
- -- for some reason.
-
- incomplete(7) -- address resolution is being
- -- performed.
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
-
-
-
- "The Neighbor Unreachability Detection state for the
- interface when the address mapping in this entry is used.
- If Neighbor Unreachability Detection is not in use (e.g. for
- IPv4), this object is always unknown(6)."
- REFERENCE "RFC 2461"
- ::= { ipNetToPhysicalEntry 7 }
-
-ipNetToPhysicalRowStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The status of this conceptual row.
-
- The RowStatus TC requires that this DESCRIPTION clause
- states under which circumstances other objects in this row
- can be modified. The value of this object has no effect on
- whether other objects in this conceptual row can be
- modified.
-
- A conceptual row can not be made active until the
- ipNetToPhysicalPhysAddress object has been set.
-
- Note that if the ipNetToPhysicalType is set to 'invalid',
- the managed node may delete the entry independent of the
- state of this object."
- ::= { ipNetToPhysicalEntry 8 }
-
---
--- The IPv6 Scope Zone Index Table.
---
-
-ipv6ScopeZoneIndexTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ipv6ScopeZoneIndexEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table used to describe IPv6 unicast and multicast scope
- zones.
-
- For those objects that have names rather than numbers, the
- names were chosen to coincide with the names used in the
- IPv6 address architecture document. "
- REFERENCE "Section 2.7 of RFC 4291"
- ::= { ip 36 }
-
-ipv6ScopeZoneIndexEntry OBJECT-TYPE
- SYNTAX Ipv6ScopeZoneIndexEntry
-
-
-
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Each entry contains the list of scope identifiers on a given
- interface."
- INDEX { ipv6ScopeZoneIndexIfIndex }
- ::= { ipv6ScopeZoneIndexTable 1 }
-
-Ipv6ScopeZoneIndexEntry ::= SEQUENCE {
- ipv6ScopeZoneIndexIfIndex InterfaceIndex,
- ipv6ScopeZoneIndexLinkLocal InetZoneIndex,
- ipv6ScopeZoneIndex3 InetZoneIndex,
- ipv6ScopeZoneIndexAdminLocal InetZoneIndex,
- ipv6ScopeZoneIndexSiteLocal InetZoneIndex,
- ipv6ScopeZoneIndex6 InetZoneIndex,
- ipv6ScopeZoneIndex7 InetZoneIndex,
- ipv6ScopeZoneIndexOrganizationLocal InetZoneIndex,
- ipv6ScopeZoneIndex9 InetZoneIndex,
- ipv6ScopeZoneIndexA InetZoneIndex,
- ipv6ScopeZoneIndexB InetZoneIndex,
- ipv6ScopeZoneIndexC InetZoneIndex,
- ipv6ScopeZoneIndexD InetZoneIndex
- }
-
-ipv6ScopeZoneIndexIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface to
- which these scopes belong. The interface identified by a
- particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipv6ScopeZoneIndexEntry 1 }
-
-ipv6ScopeZoneIndexLinkLocal OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for the link-local scope on this interface."
- ::= { ipv6ScopeZoneIndexEntry 2 }
-
-ipv6ScopeZoneIndex3 OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
-
-
-
- "The zone index for scope 3 on this interface."
- ::= { ipv6ScopeZoneIndexEntry 3 }
-
-ipv6ScopeZoneIndexAdminLocal OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for the admin-local scope on this interface."
- ::= { ipv6ScopeZoneIndexEntry 4 }
-
-ipv6ScopeZoneIndexSiteLocal OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for the site-local scope on this interface."
- ::= { ipv6ScopeZoneIndexEntry 5 }
-
-ipv6ScopeZoneIndex6 OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for scope 6 on this interface."
- ::= { ipv6ScopeZoneIndexEntry 6 }
-
-ipv6ScopeZoneIndex7 OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for scope 7 on this interface."
- ::= { ipv6ScopeZoneIndexEntry 7 }
-
-ipv6ScopeZoneIndexOrganizationLocal OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for the organization-local scope on this
- interface."
- ::= { ipv6ScopeZoneIndexEntry 8 }
-
-ipv6ScopeZoneIndex9 OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
-
-
-
- DESCRIPTION
- "The zone index for scope 9 on this interface."
- ::= { ipv6ScopeZoneIndexEntry 9 }
-
-ipv6ScopeZoneIndexA OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for scope A on this interface."
- ::= { ipv6ScopeZoneIndexEntry 10 }
-
-ipv6ScopeZoneIndexB OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for scope B on this interface."
- ::= { ipv6ScopeZoneIndexEntry 11 }
-
-ipv6ScopeZoneIndexC OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for scope C on this interface."
- ::= { ipv6ScopeZoneIndexEntry 12 }
-
-ipv6ScopeZoneIndexD OBJECT-TYPE
- SYNTAX InetZoneIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The zone index for scope D on this interface."
- ::= { ipv6ScopeZoneIndexEntry 13 }
-
---
--- The Default Router Table
--- This table simply lists the default routers; for more information
--- about routing tables, see the routing MIBs
---
-
-ipDefaultRouterTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpDefaultRouterEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table used to describe the default routers known to this
-
-
-
- entity."
- ::= { ip 37 }
-
-ipDefaultRouterEntry OBJECT-TYPE
- SYNTAX IpDefaultRouterEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Each entry contains information about a default router known
- to this entity."
- INDEX {ipDefaultRouterAddressType, ipDefaultRouterAddress,
- ipDefaultRouterIfIndex}
- ::= { ipDefaultRouterTable 1 }
-
-IpDefaultRouterEntry ::= SEQUENCE {
- ipDefaultRouterAddressType InetAddressType,
- ipDefaultRouterAddress InetAddress,
- ipDefaultRouterIfIndex InterfaceIndex,
- ipDefaultRouterLifetime Unsigned32,
- ipDefaultRouterPreference INTEGER
- }
-
-ipDefaultRouterAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The address type for this row."
- ::= { ipDefaultRouterEntry 1 }
-
-ipDefaultRouterAddress OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP address of the default router represented by this
- row. The address type of this object is specified in
- ipDefaultRouterAddressType.
-
- Implementers need to be aware that if the size of
- ipDefaultRouterAddress exceeds 115 octets, then OIDS of
- instances of columns in this row will have more than 128
- sub-identifiers and cannot be accessed using SNMPv1,
- SNMPv2c, or SNMPv3."
- ::= { ipDefaultRouterEntry 2 }
-
-ipDefaultRouterIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
-
-
-
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface by
- which the router can be reached. The interface identified
- by a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipDefaultRouterEntry 3 }
-
-ipDefaultRouterLifetime OBJECT-TYPE
- SYNTAX Unsigned32 (0..65535)
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The remaining length of time, in seconds, that this router
- will continue to be useful as a default router. A value of
- zero indicates that it is no longer useful as a default
- router. It is left to the implementer of the MIB as to
- whether a router with a lifetime of zero is removed from the
- list.
-
- For IPv6, this value should be extracted from the router
- advertisement messages."
- REFERENCE "For IPv6 RFC 2462 sections 4.2 and 6.3.4"
- ::= { ipDefaultRouterEntry 4 }
-
-ipDefaultRouterPreference OBJECT-TYPE
- SYNTAX INTEGER {
- reserved (-2),
- low (-1),
- medium (0),
- high (1)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "An indication of preference given to this router as a
- default router as described in he Default Router
- Preferences document. Treating the value as a
- 2 bit signed integer allows for simple arithmetic
- comparisons.
-
- For IPv4 routers or IPv6 routers that are not using the
- updated router advertisement format, this object is set to
- medium (0)."
- REFERENCE "RFC 4291, section 2.1"
- ::= { ipDefaultRouterEntry 5 }
-
-
-
---
--- Configuration information for constructing router advertisements
---
-
-ipv6RouterAdvertSpinLock OBJECT-TYPE
- SYNTAX TestAndIncr
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "An advisory lock used to allow cooperating SNMP managers to
- coordinate their use of the set operation in creating or
- modifying rows within this table.
-
- In order to use this lock to coordinate the use of set
- operations, managers should first retrieve
- ipv6RouterAdvertSpinLock. They should then determine the
- appropriate row to create or modify. Finally, they should
- issue the appropriate set command including the retrieved
- value of ipv6RouterAdvertSpinLock. If another manager has
- altered the table in the meantime, then the value of
- ipv6RouterAdvertSpinLock will have changed and the creation
- will fail as it will be specifying an incorrect value for
- ipv6RouterAdvertSpinLock. It is suggested, but not
- required, that the ipv6RouterAdvertSpinLock be the first var
- bind for each set of objects representing a 'row' in a PDU."
- ::= { ip 38 }
-
-ipv6RouterAdvertTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ipv6RouterAdvertEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table containing information used to construct router
- advertisements."
- ::= { ip 39 }
-
-ipv6RouterAdvertEntry OBJECT-TYPE
- SYNTAX Ipv6RouterAdvertEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry containing information used to construct router
- advertisements.
-
- Information in this table is persistent, and when this
- object is written, the entity SHOULD save the change to
- non-volatile storage."
- INDEX { ipv6RouterAdvertIfIndex }
-
-
-
- ::= { ipv6RouterAdvertTable 1 }
-
-Ipv6RouterAdvertEntry ::= SEQUENCE {
- ipv6RouterAdvertIfIndex InterfaceIndex,
- ipv6RouterAdvertSendAdverts TruthValue,
- ipv6RouterAdvertMaxInterval Unsigned32,
- ipv6RouterAdvertMinInterval Unsigned32,
- ipv6RouterAdvertManagedFlag TruthValue,
- ipv6RouterAdvertOtherConfigFlag TruthValue,
- ipv6RouterAdvertLinkMTU Unsigned32,
- ipv6RouterAdvertReachableTime Unsigned32,
- ipv6RouterAdvertRetransmitTime Unsigned32,
- ipv6RouterAdvertCurHopLimit Unsigned32,
- ipv6RouterAdvertDefaultLifetime Unsigned32,
- ipv6RouterAdvertRowStatus RowStatus
- }
-
-ipv6RouterAdvertIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The index value that uniquely identifies the interface on
- which router advertisements constructed with this
- information will be transmitted. The interface identified
- by a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipv6RouterAdvertEntry 1 }
-
-ipv6RouterAdvertSendAdverts OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "A flag indicating whether the router sends periodic
- router advertisements and responds to router solicitations
- on this interface."
- REFERENCE "RFC 2461 Section 6.2.1"
- DEFVAL { false }
- ::= { ipv6RouterAdvertEntry 2 }
-
-ipv6RouterAdvertMaxInterval OBJECT-TYPE
- SYNTAX Unsigned32 (4..1800)
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The maximum time allowed between sending unsolicited router
-
-
-
- advertisements from this interface."
- REFERENCE "RFC 2461 Section 6.2.1"
- DEFVAL { 600 }
- ::= { ipv6RouterAdvertEntry 3 }
-
-ipv6RouterAdvertMinInterval OBJECT-TYPE
- SYNTAX Unsigned32 (3..1350)
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The minimum time allowed between sending unsolicited router
- advertisements from this interface.
-
- The default is 0.33 * ipv6RouterAdvertMaxInterval, however,
- in the case of a low value for ipv6RouterAdvertMaxInterval,
- the minimum value for this object is restricted to 3."
- REFERENCE "RFC 2461 Section 6.2.1"
- ::= { ipv6RouterAdvertEntry 4 }
-
-ipv6RouterAdvertManagedFlag OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The true/false value to be placed into the 'managed address
- configuration' flag field in router advertisements sent from
- this interface."
- REFERENCE "RFC 2461 Section 6.2.1"
- DEFVAL { false }
- ::= { ipv6RouterAdvertEntry 5 }
-
-ipv6RouterAdvertOtherConfigFlag OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The true/false value to be placed into the 'other stateful
- configuration' flag field in router advertisements sent from
- this interface."
- REFERENCE "RFC 2461 Section 6.2.1"
- DEFVAL { false }
- ::= { ipv6RouterAdvertEntry 6 }
-
-ipv6RouterAdvertLinkMTU OBJECT-TYPE
- SYNTAX Unsigned32
- MAX-ACCESS read-create
- STATUS current
-
-
-
- DESCRIPTION
- "The value to be placed in MTU options sent by the router on
- this interface.
-
- A value of zero indicates that no MTU options are sent."
- REFERENCE "RFC 2461 Section 6.2.1"
- DEFVAL { 0 }
- ::= { ipv6RouterAdvertEntry 7 }
-
-ipv6RouterAdvertReachableTime OBJECT-TYPE
- SYNTAX Unsigned32 (0..3600000)
- UNITS "milliseconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The value to be placed in the reachable time field in router
- advertisement messages sent from this interface.
-
- A value of zero in the router advertisement indicates that
- the advertisement isn't specifying a value for reachable
- time."
- REFERENCE "RFC 2461 Section 6.2.1"
- DEFVAL { 0 }
- ::= { ipv6RouterAdvertEntry 8 }
-
-ipv6RouterAdvertRetransmitTime OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "milliseconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The value to be placed in the retransmit timer field in
- router advertisements sent from this interface.
-
- A value of zero in the router advertisement indicates that
- the advertisement isn't specifying a value for retrans
- time."
- REFERENCE "RFC 2461 Section 6.2.1"
- DEFVAL { 0 }
- ::= { ipv6RouterAdvertEntry 9 }
-
-ipv6RouterAdvertCurHopLimit OBJECT-TYPE
- SYNTAX Unsigned32 (0..255)
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The default value to be placed in the current hop limit
- field in router advertisements sent from this interface.
-
-
-
- The value should be set to the current diameter of the
- Internet.
-
- A value of zero in the router advertisement indicates that
- the advertisement isn't specifying a value for curHopLimit.
-
- The default should be set to the value specified in the IANA
- web pages (www.iana.org) at the time of implementation."
- REFERENCE "RFC 2461 Section 6.2.1"
- ::= { ipv6RouterAdvertEntry 10 }
-
-ipv6RouterAdvertDefaultLifetime OBJECT-TYPE
- SYNTAX Unsigned32 (0|4..9000)
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The value to be placed in the router lifetime field of
- router advertisements sent from this interface. This value
- MUST be either 0 or between ipv6RouterAdvertMaxInterval and
- 9000 seconds.
-
- A value of zero indicates that the router is not to be used
- as a default router.
-
- The default is 3 * ipv6RouterAdvertMaxInterval."
- REFERENCE "RFC 2461 Section 6.2.1"
- ::= { ipv6RouterAdvertEntry 11 }
-
-ipv6RouterAdvertRowStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The status of this conceptual row.
-
- As all objects in this conceptual row have default values, a
- row can be created and made active by setting this object
- appropriately.
-
- The RowStatus TC requires that this DESCRIPTION clause
- states under which circumstances other objects in this row
- can be modified. The value of this object has no effect on
- whether other objects in this conceptual row can be
- modified."
- ::= { ipv6RouterAdvertEntry 12 }
-
---
-
-
-
--- ICMP section
---
-
-icmp OBJECT IDENTIFIER ::= { mib-2 5 }
-
---
--- ICMP non-message-specific counters
---
-
--- These object IDs are reserved, as they were used in earlier
--- versions of the MIB module. In theory, OIDs are not assigned
--- until the specification is released as an RFC; however, as some
--- companies may have shipped code based on earlier versions of
--- the MIB, it seems best to reserve these OIDs.
--- ::= { icmp 27 }
--- ::= { icmp 28 }
-
-icmpStatsTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IcmpStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table of generic system-wide ICMP counters."
- ::= { icmp 29 }
-
-icmpStatsEntry OBJECT-TYPE
- SYNTAX IcmpStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A conceptual row in the icmpStatsTable."
- INDEX { icmpStatsIPVersion }
- ::= { icmpStatsTable 1 }
-
-IcmpStatsEntry ::= SEQUENCE {
- icmpStatsIPVersion InetVersion,
- icmpStatsInMsgs Counter32,
- icmpStatsInErrors Counter32,
- icmpStatsOutMsgs Counter32,
- icmpStatsOutErrors Counter32
- }
-
-icmpStatsIPVersion OBJECT-TYPE
- SYNTAX InetVersion
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP version of the statistics."
-
-
-
- ::= { icmpStatsEntry 1 }
-
-icmpStatsInMsgs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of ICMP messages that the entity received.
- Note that this counter includes all those counted by
- icmpStatsInErrors."
- ::= { icmpStatsEntry 2 }
-
-icmpStatsInErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of ICMP messages that the entity received but
- determined as having ICMP-specific errors (bad ICMP
- checksums, bad length, etc.)."
- ::= { icmpStatsEntry 3 }
-
-icmpStatsOutMsgs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of ICMP messages that the entity attempted
- to send. Note that this counter includes all those counted
- by icmpStatsOutErrors."
- ::= { icmpStatsEntry 4 }
-
-icmpStatsOutErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of ICMP messages that this entity did not send
- due to problems discovered within ICMP, such as a lack of
- buffers. This value should not include errors discovered
- outside the ICMP layer, such as the inability of IP to route
- the resultant datagram. In some implementations, there may
- be no types of error that contribute to this counter's
- value."
- ::= { icmpStatsEntry 5 }
-
---
--- per-version, per-message type ICMP counters
-
-
-
---
-
-icmpMsgStatsTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IcmpMsgStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The table of system-wide per-version, per-message type ICMP
- counters."
- ::= { icmp 30 }
-
-icmpMsgStatsEntry OBJECT-TYPE
- SYNTAX IcmpMsgStatsEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A conceptual row in the icmpMsgStatsTable.
-
- The system should track each ICMP type value, even if that
- ICMP type is not supported by the system. However, a
- given row need not be instantiated unless a message of that
- type has been processed, i.e., the row for
- icmpMsgStatsType=X MAY be instantiated before but MUST be
- instantiated after the first message with Type=X is
- received or transmitted. After receiving or transmitting
- any succeeding messages with Type=X, the relevant counter
- must be incremented."
- INDEX { icmpMsgStatsIPVersion, icmpMsgStatsType }
- ::= { icmpMsgStatsTable 1 }
-
-IcmpMsgStatsEntry ::= SEQUENCE {
- icmpMsgStatsIPVersion InetVersion,
- icmpMsgStatsType Integer32,
- icmpMsgStatsInPkts Counter32,
- icmpMsgStatsOutPkts Counter32
- }
-
-icmpMsgStatsIPVersion OBJECT-TYPE
- SYNTAX InetVersion
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The IP version of the statistics."
- ::= { icmpMsgStatsEntry 1 }
-
-icmpMsgStatsType OBJECT-TYPE
- SYNTAX Integer32 (0..255)
- MAX-ACCESS not-accessible
-
-
-
- STATUS current
- DESCRIPTION
- "The ICMP type field of the message type being counted by
- this row.
-
- Note that ICMP message types are scoped by the address type
- in use."
- REFERENCE "http://www.iana.org/assignments/icmp-parameters and
- http://www.iana.org/assignments/icmpv6-parameters"
- ::= { icmpMsgStatsEntry 2 }
-
-icmpMsgStatsInPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of input packets for this AF and type."
- ::= { icmpMsgStatsEntry 3 }
-
-icmpMsgStatsOutPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of output packets for this AF and type."
- ::= { icmpMsgStatsEntry 4 }
---
--- conformance information
---
-
-ipMIBConformance OBJECT IDENTIFIER ::= { ipMIB 2 }
-
-ipMIBCompliances OBJECT IDENTIFIER ::= { ipMIBConformance 1 }
-ipMIBGroups OBJECT IDENTIFIER ::= { ipMIBConformance 2 }
-
--- compliance statements
-ipMIBCompliance2 MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION
- "The compliance statement for systems that implement IP -
- either IPv4 or IPv6.
-
- There are a number of INDEX objects that cannot be
- represented in the form of OBJECT clauses in SMIv2, but
- for which we have the following compliance requirements,
- expressed in OBJECT clause form in this description
- clause:
-
-
-
-
- -- OBJECT ipSystemStatsIPVersion
- -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
- -- DESCRIPTION
- -- This MIB requires support for only IPv4 and IPv6
- -- versions.
- --
- -- OBJECT ipIfStatsIPVersion
- -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
- -- DESCRIPTION
- -- This MIB requires support for only IPv4 and IPv6
- -- versions.
- --
- -- OBJECT icmpStatsIPVersion
- -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
- -- DESCRIPTION
- -- This MIB requires support for only IPv4 and IPv6
- -- versions.
- --
- -- OBJECT icmpMsgStatsIPVersion
- -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
- -- DESCRIPTION
- -- This MIB requires support for only IPv4 and IPv6
- -- versions.
- --
- -- OBJECT ipAddressPrefixType
- -- SYNTAX InetAddressType {ipv4(1), ipv6(2)}
- -- DESCRIPTION
- -- This MIB requires support for only global IPv4 and
- -- IPv6 address types.
- --
- -- OBJECT ipAddressPrefixPrefix
- -- SYNTAX InetAddress (Size(4 | 16))
- -- DESCRIPTION
- -- This MIB requires support for only global IPv4 and
- -- IPv6 addresses and so the size can be either 4 or
- -- 16 bytes.
- --
- -- OBJECT ipAddressAddrType
- -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
- -- ipv4z(3), ipv6z(4)}
- -- DESCRIPTION
- -- This MIB requires support for only global and
- -- non-global IPv4 and IPv6 address types.
- --
- -- OBJECT ipAddressAddr
- -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
- -- DESCRIPTION
- -- This MIB requires support for only global and
-
-
-
- -- non-global IPv4 and IPv6 addresses and so the size
- -- can be 4, 8, 16, or 20 bytes.
- --
- -- OBJECT ipNetToPhysicalNetAddressType
- -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
- -- ipv4z(3), ipv6z(4)}
- -- DESCRIPTION
- -- This MIB requires support for only global and
- -- non-global IPv4 and IPv6 address types.
- --
- -- OBJECT ipNetToPhysicalNetAddress
- -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
- -- DESCRIPTION
- -- This MIB requires support for only global and
- -- non-global IPv4 and IPv6 addresses and so the size
- -- can be 4, 8, 16, or 20 bytes.
- --
- -- OBJECT ipDefaultRouterAddressType
- -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
- -- ipv4z(3), ipv6z(4)}
- -- DESCRIPTION
- -- This MIB requires support for only global and
- -- non-global IPv4 and IPv6 address types.
- --
- -- OBJECT ipDefaultRouterAddress
- -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
- -- DESCRIPTION
- -- This MIB requires support for only global and
- -- non-global IPv4 and IPv6 addresses and so the size
- -- can be 4, 8, 16, or 20 bytes."
-
- MODULE -- this module
-
- MANDATORY-GROUPS { ipSystemStatsGroup, ipAddressGroup,
- ipNetToPhysicalGroup, ipDefaultRouterGroup,
- icmpStatsGroup }
-
- GROUP ipSystemStatsHCOctetGroup
- DESCRIPTION
- "This group is mandatory for systems that have an aggregate
- bandwidth of greater than 20MB. Including this group does
- not allow an entity to neglect the 32 bit versions of these
- objects."
-
- GROUP ipSystemStatsHCPacketGroup
- DESCRIPTION
- "This group is mandatory for systems that have an aggregate
- bandwidth of greater than 650MB. Including this group
-
-
-
- does not allow an entity to neglect the 32 bit versions of
- these objects."
-
- GROUP ipIfStatsGroup
- DESCRIPTION
- "This group is optional for all systems."
-
- GROUP ipIfStatsHCOctetGroup
- DESCRIPTION
- "This group is mandatory for systems that include the
- ipIfStatsGroup and include links with bandwidths of greater
- than 20MB. Including this group does not allow an entity to
- neglect the 32 bit versions of these objects."
-
- GROUP ipIfStatsHCPacketGroup
- DESCRIPTION
- "This group is mandatory for systems that include the
- ipIfStatsGroup and include links with bandwidths of greater
- than 650MB. Including this group does not allow an entity
- to neglect the 32 bit versions of these objects."
-
- GROUP ipv4GeneralGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv4."
-
- GROUP ipv4IfGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv4."
-
- GROUP ipv4SystemStatsGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv4."
-
- GROUP ipv4SystemStatsHCPacketGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv4 and
- that have an aggregate bandwidth of greater than 650MB.
- Including this group does not allow an entity to neglect the
- 32 bit versions of these objects."
-
- GROUP ipv4IfStatsGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv4 and
- including the ipIfStatsGroup."
-
- GROUP ipv4IfStatsHCPacketGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv4 and
-
-
-
- including the ipIfStatsHCPacketGroup. Including this group
- does not allow an entity to neglect the 32 bit versions of
- these objects."
-
- GROUP ipv6GeneralGroup2
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv6."
-
- GROUP ipv6IfGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv6."
-
- GROUP ipAddressPrefixGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv6."
-
- GROUP ipv6ScopeGroup
- DESCRIPTION
- "This group is mandatory for all systems supporting IPv6."
-
- GROUP ipv6RouterAdvertGroup
- DESCRIPTION
- "This group is mandatory for all IPv6 routers."
-
- GROUP ipLastChangeGroup
- DESCRIPTION
- "This group is optional for all agents."
-
- OBJECT ipv6IpForwarding
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6IpDefaultHopLimit
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv4InterfaceEnableStatus
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6InterfaceEnableStatus
- MIN-ACCESS read-only
-
-
-
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6InterfaceForwarding
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipAddressSpinLock
- MIN-ACCESS not-accessible
- DESCRIPTION
- "An agent is not required to provide write access to this
- object. However, if an agent provides write access to any
- of the other objects in the ipAddressGroup, it SHOULD
- provide write access to this object as well."
-
- OBJECT ipAddressIfIndex
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object."
-
- OBJECT ipAddressType
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object."
-
- OBJECT ipAddressStatus
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object."
-
- OBJECT ipAddressRowStatus
- SYNTAX RowStatus { active(1) }
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object."
-
- OBJECT ipAddressStorageType
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object.
-
-
-
- If an agent allows this object to be written or created, it
- is not required to allow this object to be set to readOnly,
- permanent, or nonVolatile."
-
- OBJECT ipNetToPhysicalPhysAddress
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object."
-
- OBJECT ipNetToPhysicalType
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object."
-
- OBJECT ipv6RouterAdvertSpinLock
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object. However, if an agent provides write access to
- any of the other objects in the ipv6RouterAdvertGroup, it
- SHOULD provide write access to this object as well."
-
- OBJECT ipv6RouterAdvertSendAdverts
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertMaxInterval
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertMinInterval
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertManagedFlag
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
-
-
-
- OBJECT ipv6RouterAdvertOtherConfigFlag
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertLinkMTU
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertReachableTime
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertRetransmitTime
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertCurHopLimit
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertDefaultLifetime
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write access to this
- object."
-
- OBJECT ipv6RouterAdvertRowStatus
- MIN-ACCESS read-only
- DESCRIPTION
- "An agent is not required to provide write or create access
- to this object."
-
- ::= { ipMIBCompliances 2 }
-
--- units of conformance
-
-ipv4GeneralGroup OBJECT-GROUP
- OBJECTS { ipForwarding, ipDefaultTTL, ipReasmTimeout }
-
-
-
- STATUS current
- DESCRIPTION
- "The group of IPv4-specific objects for basic management of
- IPv4 entities."
- ::= { ipMIBGroups 3 }
-
-ipv4IfGroup OBJECT-GROUP
- OBJECTS { ipv4InterfaceReasmMaxSize, ipv4InterfaceEnableStatus,
- ipv4InterfaceRetransmitTime }
- STATUS current
- DESCRIPTION
- "The group of IPv4-specific objects for basic management of
- IPv4 interfaces."
- ::= { ipMIBGroups 4 }
-
-ipv6GeneralGroup2 OBJECT-GROUP
- OBJECTS { ipv6IpForwarding, ipv6IpDefaultHopLimit }
- STATUS current
- DESCRIPTION
- "The IPv6 group of objects providing for basic management of
- IPv6 entities."
- ::= { ipMIBGroups 5 }
-
-ipv6IfGroup OBJECT-GROUP
- OBJECTS { ipv6InterfaceReasmMaxSize, ipv6InterfaceIdentifier,
- ipv6InterfaceEnableStatus, ipv6InterfaceReachableTime,
- ipv6InterfaceRetransmitTime, ipv6InterfaceForwarding }
- STATUS current
- DESCRIPTION
- "The group of IPv6-specific objects for basic management of
- IPv6 interfaces."
- ::= { ipMIBGroups 6 }
-
-ipLastChangeGroup OBJECT-GROUP
- OBJECTS { ipv4InterfaceTableLastChange,
- ipv6InterfaceTableLastChange,
- ipIfStatsTableLastChange }
- STATUS current
- DESCRIPTION
- "The last change objects associated with this MIB. These
- objects are optional for all agents. They SHOULD be
- implemented on agents where it is possible to determine the
- proper values. Where it is not possible to determine the
- proper values, for example when the tables are split amongst
- several sub-agents using AgentX, the agent MUST NOT
- implement these objects to return an incorrect or static
- value."
- ::= { ipMIBGroups 7 }
-
-
-
-ipSystemStatsGroup OBJECT-GROUP
- OBJECTS { ipSystemStatsInReceives,
- ipSystemStatsInOctets,
- ipSystemStatsInHdrErrors,
- ipSystemStatsInNoRoutes,
- ipSystemStatsInAddrErrors,
- ipSystemStatsInUnknownProtos,
- ipSystemStatsInTruncatedPkts,
- ipSystemStatsInForwDatagrams,
- ipSystemStatsReasmReqds,
- ipSystemStatsReasmOKs,
- ipSystemStatsReasmFails,
- ipSystemStatsInDiscards,
- ipSystemStatsInDelivers,
- ipSystemStatsOutRequests,
- ipSystemStatsOutNoRoutes,
- ipSystemStatsOutForwDatagrams,
- ipSystemStatsOutDiscards,
- ipSystemStatsOutFragReqds,
- ipSystemStatsOutFragOKs,
- ipSystemStatsOutFragFails,
- ipSystemStatsOutFragCreates,
- ipSystemStatsOutTransmits,
- ipSystemStatsOutOctets,
- ipSystemStatsInMcastPkts,
- ipSystemStatsInMcastOctets,
- ipSystemStatsOutMcastPkts,
- ipSystemStatsOutMcastOctets,
- ipSystemStatsDiscontinuityTime,
- ipSystemStatsRefreshRate }
- STATUS current
- DESCRIPTION
- "IP system wide statistics."
- ::= { ipMIBGroups 8 }
-
-ipv4SystemStatsGroup OBJECT-GROUP
- OBJECTS { ipSystemStatsInBcastPkts, ipSystemStatsOutBcastPkts }
- STATUS current
- DESCRIPTION
- "IPv4 only system wide statistics."
- ::= { ipMIBGroups 9 }
-
-ipSystemStatsHCOctetGroup OBJECT-GROUP
- OBJECTS { ipSystemStatsHCInOctets,
- ipSystemStatsHCOutOctets,
- ipSystemStatsHCInMcastOctets,
- ipSystemStatsHCOutMcastOctets
-}
-
-
-
- STATUS current
- DESCRIPTION
- "IP system wide statistics for systems that may overflow the
- standard octet counters within 1 hour."
- ::= { ipMIBGroups 10 }
-
-ipSystemStatsHCPacketGroup OBJECT-GROUP
- OBJECTS { ipSystemStatsHCInReceives,
- ipSystemStatsHCInForwDatagrams,
- ipSystemStatsHCInDelivers,
- ipSystemStatsHCOutRequests,
- ipSystemStatsHCOutForwDatagrams,
- ipSystemStatsHCOutTransmits,
- ipSystemStatsHCInMcastPkts,
- ipSystemStatsHCOutMcastPkts
-}
- STATUS current
- DESCRIPTION
- "IP system wide statistics for systems that may overflow the
- standard packet counters within 1 hour."
- ::= { ipMIBGroups 11 }
-
-ipv4SystemStatsHCPacketGroup OBJECT-GROUP
- OBJECTS { ipSystemStatsHCInBcastPkts,
- ipSystemStatsHCOutBcastPkts }
- STATUS current
- DESCRIPTION
- "IPv4 only system wide statistics for systems that may
- overflow the standard packet counters within 1 hour."
- ::= { ipMIBGroups 12 }
-
-ipIfStatsGroup OBJECT-GROUP
- OBJECTS { ipIfStatsInReceives, ipIfStatsInOctets,
- ipIfStatsInHdrErrors, ipIfStatsInNoRoutes,
- ipIfStatsInAddrErrors, ipIfStatsInUnknownProtos,
- ipIfStatsInTruncatedPkts, ipIfStatsInForwDatagrams,
- ipIfStatsReasmReqds, ipIfStatsReasmOKs,
- ipIfStatsReasmFails, ipIfStatsInDiscards,
- ipIfStatsInDelivers, ipIfStatsOutRequests,
- ipIfStatsOutForwDatagrams, ipIfStatsOutDiscards,
- ipIfStatsOutFragReqds, ipIfStatsOutFragOKs,
- ipIfStatsOutFragFails, ipIfStatsOutFragCreates,
- ipIfStatsOutTransmits, ipIfStatsOutOctets,
- ipIfStatsInMcastPkts, ipIfStatsInMcastOctets,
- ipIfStatsOutMcastPkts, ipIfStatsOutMcastOctets,
- ipIfStatsDiscontinuityTime, ipIfStatsRefreshRate }
- STATUS current
- DESCRIPTION
-
-
-
- "IP per-interface statistics."
- ::= { ipMIBGroups 13 }
-
-ipv4IfStatsGroup OBJECT-GROUP
- OBJECTS { ipIfStatsInBcastPkts, ipIfStatsOutBcastPkts }
- STATUS current
- DESCRIPTION
- "IPv4 only per-interface statistics."
- ::= { ipMIBGroups 14 }
-
-ipIfStatsHCOctetGroup OBJECT-GROUP
- OBJECTS { ipIfStatsHCInOctets, ipIfStatsHCOutOctets,
- ipIfStatsHCInMcastOctets, ipIfStatsHCOutMcastOctets }
- STATUS current
- DESCRIPTION
- "IP per-interfaces statistics for systems that include
- interfaces that may overflow the standard octet
- counters within 1 hour."
- ::= { ipMIBGroups 15 }
-
-ipIfStatsHCPacketGroup OBJECT-GROUP
- OBJECTS { ipIfStatsHCInReceives, ipIfStatsHCInForwDatagrams,
- ipIfStatsHCInDelivers, ipIfStatsHCOutRequests,
- ipIfStatsHCOutForwDatagrams, ipIfStatsHCOutTransmits,
- ipIfStatsHCInMcastPkts, ipIfStatsHCOutMcastPkts }
- STATUS current
- DESCRIPTION
- "IP per-interfaces statistics for systems that include
- interfaces that may overflow the standard packet counters
- within 1 hour."
- ::= { ipMIBGroups 16 }
-
-ipv4IfStatsHCPacketGroup OBJECT-GROUP
- OBJECTS { ipIfStatsHCInBcastPkts, ipIfStatsHCOutBcastPkts }
- STATUS current
- DESCRIPTION
- "IPv4 only per-interface statistics for systems that include
- interfaces that may overflow the standard packet counters
- within 1 hour."
- ::= { ipMIBGroups 17 }
-
-ipAddressPrefixGroup OBJECT-GROUP
- OBJECTS { ipAddressPrefixOrigin,
- ipAddressPrefixOnLinkFlag,
- ipAddressPrefixAutonomousFlag,
- ipAddressPrefixAdvPreferredLifetime,
- ipAddressPrefixAdvValidLifetime }
- STATUS current
-
-
-
- DESCRIPTION
- "The group of objects for providing information about address
- prefixes used by this node."
- ::= { ipMIBGroups 18 }
-
-ipAddressGroup OBJECT-GROUP
- OBJECTS { ipAddressSpinLock, ipAddressIfIndex,
- ipAddressType, ipAddressPrefix,
- ipAddressOrigin, ipAddressStatus,
- ipAddressCreated, ipAddressLastChanged,
- ipAddressRowStatus, ipAddressStorageType }
- STATUS current
- DESCRIPTION
- "The group of objects for providing information about the
- addresses relevant to this entity's interfaces."
- ::= { ipMIBGroups 19 }
-
-ipNetToPhysicalGroup OBJECT-GROUP
- OBJECTS { ipNetToPhysicalPhysAddress, ipNetToPhysicalLastUpdated,
- ipNetToPhysicalType, ipNetToPhysicalState,
- ipNetToPhysicalRowStatus }
- STATUS current
- DESCRIPTION
- "The group of objects for providing information about the
- mappings of network address to physical address known to
- this node."
- ::= { ipMIBGroups 20 }
-
-ipv6ScopeGroup OBJECT-GROUP
- OBJECTS { ipv6ScopeZoneIndexLinkLocal,
- ipv6ScopeZoneIndex3,
- ipv6ScopeZoneIndexAdminLocal,
- ipv6ScopeZoneIndexSiteLocal,
- ipv6ScopeZoneIndex6,
- ipv6ScopeZoneIndex7,
- ipv6ScopeZoneIndexOrganizationLocal,
- ipv6ScopeZoneIndex9,
- ipv6ScopeZoneIndexA,
- ipv6ScopeZoneIndexB,
- ipv6ScopeZoneIndexC,
- ipv6ScopeZoneIndexD }
- STATUS current
- DESCRIPTION
- "The group of objects for managing IPv6 scope zones."
- ::= { ipMIBGroups 21 }
-
-ipDefaultRouterGroup OBJECT-GROUP
- OBJECTS { ipDefaultRouterLifetime, ipDefaultRouterPreference }
-
-
-
- STATUS current
- DESCRIPTION
- "The group of objects for providing information about default
- routers known to this node."
- ::= { ipMIBGroups 22 }
-
-ipv6RouterAdvertGroup OBJECT-GROUP
- OBJECTS { ipv6RouterAdvertSpinLock,
- ipv6RouterAdvertSendAdverts,
- ipv6RouterAdvertMaxInterval,
- ipv6RouterAdvertMinInterval,
- ipv6RouterAdvertManagedFlag,
- ipv6RouterAdvertOtherConfigFlag,
- ipv6RouterAdvertLinkMTU,
- ipv6RouterAdvertReachableTime,
- ipv6RouterAdvertRetransmitTime,
- ipv6RouterAdvertCurHopLimit,
- ipv6RouterAdvertDefaultLifetime,
- ipv6RouterAdvertRowStatus
-}
- STATUS current
- DESCRIPTION
- "The group of objects for controlling information advertised
- by IPv6 routers."
- ::= { ipMIBGroups 23 }
-
-icmpStatsGroup OBJECT-GROUP
- OBJECTS {icmpStatsInMsgs, icmpStatsInErrors,
- icmpStatsOutMsgs, icmpStatsOutErrors,
- icmpMsgStatsInPkts, icmpMsgStatsOutPkts }
- STATUS current
- DESCRIPTION
- "The group of objects providing ICMP statistics."
- ::= { ipMIBGroups 24 }
-
---
--- Deprecated objects
---
-
-ipInReceives OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The total number of input datagrams received from
- interfaces, including those received in error.
-
- This object has been deprecated, as a new IP version-neutral
-
-
-
- table has been added. It is loosely replaced by
- ipSystemStatsInRecieves."
- ::= { ip 3 }
-
-ipInHdrErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of input datagrams discarded due to errors in
- their IPv4 headers, including bad checksums, version number
- mismatch, other format errors, time-to-live exceeded, errors
- discovered in processing their IPv4 options, etc.
-
- This object has been deprecated as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsInHdrErrors."
- ::= { ip 4 }
-
-ipInAddrErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of input datagrams discarded because the IPv4
- address in their IPv4 header's destination field was not a
- valid address to be received at this entity. This count
- includes invalid addresses (e.g., 0.0.0.0) and addresses of
- unsupported Classes (e.g., Class E). For entities which are
- not IPv4 routers, and therefore do not forward datagrams,
- this counter includes datagrams discarded because the
- destination address was not a local address.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsInAddrErrors."
- ::= { ip 5 }
-
-ipForwDatagrams OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of input datagrams for which this entity was not
- their final IPv4 destination, as a result of which an
- attempt was made to find a route to forward them to that
- final destination. In entities which do not act as IPv4
- routers, this counter will include only those packets which
-
-
-
- were Source-Routed via this entity, and the Source-Route
- option processing was successful.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsInForwDatagrams."
- ::= { ip 6 }
-
-ipInUnknownProtos OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of locally-addressed datagrams received
- successfully but discarded because of an unknown or
- unsupported protocol.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsInUnknownProtos."
- ::= { ip 7 }
-
-ipInDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of input IPv4 datagrams for which no problems
- were encountered to prevent their continued processing, but
- which were discarded (e.g., for lack of buffer space). Note
- that this counter does not include any datagrams discarded
- while awaiting re-assembly.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsInDiscards."
- ::= { ip 8 }
-
-ipInDelivers OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The total number of input datagrams successfully delivered
- to IPv4 user-protocols (including ICMP).
-
- This object has been deprecated as a new IP version neutral
- table has been added. It is loosely replaced by
-
-
-
- ipSystemStatsIndelivers."
- ::= { ip 9 }
-
-ipOutRequests OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The total number of IPv4 datagrams which local IPv4 user
- protocols (including ICMP) supplied to IPv4 in requests for
- transmission. Note that this counter does not include any
- datagrams counted in ipForwDatagrams.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsOutRequests."
- ::= { ip 10 }
-
-ipOutDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of output IPv4 datagrams for which no problem was
- encountered to prevent their transmission to their
- destination, but which were discarded (e.g., for lack of
- buffer space). Note that this counter would include
- datagrams counted in ipForwDatagrams if any such packets met
- this (discretionary) discard criterion.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsOutDiscards."
- ::= { ip 11 }
-
-ipOutNoRoutes OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of IPv4 datagrams discarded because no route
- could be found to transmit them to their destination. Note
- that this counter includes any packets counted in
- ipForwDatagrams which meet this `no-route' criterion. Note
- that this includes any datagrams which a host cannot route
- because all of its default routers are down.
-
- This object has been deprecated, as a new IP version-neutral
-
-
-
- table has been added. It is loosely replaced by
- ipSystemStatsOutNoRoutes."
- ::= { ip 12 }
-
-ipReasmReqds OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of IPv4 fragments received which needed to be
- reassembled at this entity.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsReasmReqds."
- ::= { ip 14 }
-
-ipReasmOKs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of IPv4 datagrams successfully re-assembled.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsReasmOKs."
- ::= { ip 15 }
-
-ipReasmFails OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of failures detected by the IPv4 re-assembly
- algorithm (for whatever reason: timed out, errors, etc).
- Note that this is not necessarily a count of discarded IPv4
- fragments since some algorithms (notably the algorithm in
- RFC 815) can lose track of the number of fragments by
- combining them as they are received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsReasmFails."
- ::= { ip 16 }
-
-ipFragOKs OBJECT-TYPE
- SYNTAX Counter32
-
-
-
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of IPv4 datagrams that have been successfully
- fragmented at this entity.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsOutFragOKs."
- ::= { ip 17 }
-
-ipFragFails OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of IPv4 datagrams that have been discarded
- because they needed to be fragmented at this entity but
- could not be, e.g., because their Don't Fragment flag was
- set.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- ipSystemStatsOutFragFails."
- ::= { ip 18 }
-
-ipFragCreates OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of IPv4 datagram fragments that have been
- generated as a result of fragmentation at this entity.
-
- This object has been deprecated as a new IP version neutral
- table has been added. It is loosely replaced by
- ipSystemStatsOutFragCreates."
- ::= { ip 19 }
-
-ipRoutingDiscards OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of routing entries which were chosen to be
- discarded even though they are valid. One possible reason
- for discarding such an entry could be to free-up buffer
- space for other routing entries.
-
-
-
- This object was defined in pre-IPv6 versions of the IP MIB.
- It was implicitly IPv4 only, but the original specifications
- did not indicate this protocol restriction. In order to
- clarify the specifications, this object has been deprecated
- and a similar, but more thoroughly clarified, object has
- been added to the IP-FORWARD-MIB."
- ::= { ip 23 }
-
--- the deprecated IPv4 address table
-
-ipAddrTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpAddrEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "The table of addressing information relevant to this
- entity's IPv4 addresses.
-
- This table has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by the
- ipAddressTable although several objects that weren't deemed
- useful weren't carried forward while another
- (ipAdEntReasmMaxSize) was moved to the ipv4InterfaceTable."
- ::= { ip 20 }
-
-ipAddrEntry OBJECT-TYPE
- SYNTAX IpAddrEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "The addressing information for one of this entity's IPv4
- addresses."
- INDEX { ipAdEntAddr }
- ::= { ipAddrTable 1 }
-
-IpAddrEntry ::= SEQUENCE {
- ipAdEntAddr IpAddress,
- ipAdEntIfIndex INTEGER,
- ipAdEntNetMask IpAddress,
- ipAdEntBcastAddr INTEGER,
- ipAdEntReasmMaxSize INTEGER
- }
-
-ipAdEntAddr OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
-
-
-
- "The IPv4 address to which this entry's addressing
- information pertains."
- ::= { ipAddrEntry 1 }
-
-ipAdEntIfIndex OBJECT-TYPE
- SYNTAX INTEGER (1..2147483647)
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The index value which uniquely identifies the interface to
- which this entry is applicable. The interface identified by
- a particular value of this index is the same interface as
- identified by the same value of the IF-MIB's ifIndex."
- ::= { ipAddrEntry 2 }
-
-ipAdEntNetMask OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The subnet mask associated with the IPv4 address of this
- entry. The value of the mask is an IPv4 address with all
- the network bits set to 1 and all the hosts bits set to 0."
- ::= { ipAddrEntry 3 }
-
-ipAdEntBcastAddr OBJECT-TYPE
- SYNTAX INTEGER (0..1)
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The value of the least-significant bit in the IPv4 broadcast
- address used for sending datagrams on the (logical)
- interface associated with the IPv4 address of this entry.
- For example, when the Internet standard all-ones broadcast
- address is used, the value will be 1. This value applies to
- both the subnet and network broadcast addresses used by the
- entity on this (logical) interface."
- ::= { ipAddrEntry 4 }
-
-ipAdEntReasmMaxSize OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The size of the largest IPv4 datagram which this entity can
- re-assemble from incoming IPv4 fragmented datagrams received
- on this interface."
- ::= { ipAddrEntry 5 }
-
-
-
--- the deprecated IPv4 Address Translation table
-
--- The Address Translation tables contain the IpAddress to
--- "physical" address equivalences. Some interfaces do not
--- use translation tables for determining address
--- equivalences (e.g., DDN-X.25 has an algorithmic method);
--- if all interfaces are of this type, then the Address
--- Translation table is empty, i.e., has zero entries.
-
-ipNetToMediaTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpNetToMediaEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "The IPv4 Address Translation table used for mapping from
- IPv4 addresses to physical addresses.
-
- This table has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by the
- ipNetToPhysicalTable."
- ::= { ip 22 }
-
-ipNetToMediaEntry OBJECT-TYPE
- SYNTAX IpNetToMediaEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "Each entry contains one IpAddress to `physical' address
- equivalence."
- INDEX { ipNetToMediaIfIndex,
- ipNetToMediaNetAddress }
- ::= { ipNetToMediaTable 1 }
-
-IpNetToMediaEntry ::= SEQUENCE {
- ipNetToMediaIfIndex INTEGER,
- ipNetToMediaPhysAddress PhysAddress,
- ipNetToMediaNetAddress IpAddress,
- ipNetToMediaType INTEGER
- }
-
-ipNetToMediaIfIndex OBJECT-TYPE
- SYNTAX INTEGER (1..2147483647)
- MAX-ACCESS read-create
- STATUS deprecated
- DESCRIPTION
- "The interface on which this entry's equivalence is
- effective. The interface identified by a particular value
- of this index is the same interface as identified by the
-
-
-
- same value of the IF-MIB's ifIndex.
-
- This object predates the rule limiting index objects to a
- max access value of 'not-accessible' and so continues to use
- a value of 'read-create'."
- ::= { ipNetToMediaEntry 1 }
-
-ipNetToMediaPhysAddress OBJECT-TYPE
- SYNTAX PhysAddress (SIZE(0..65535))
- MAX-ACCESS read-create
- STATUS deprecated
- DESCRIPTION
- "The media-dependent `physical' address. This object should
- return 0 when this entry is in the 'incomplete' state.
-
- As the entries in this table are typically not persistent
- when this object is written the entity should not save the
- change to non-volatile storage. Note: a stronger
- requirement is not used because this object was previously
- defined."
- ::= { ipNetToMediaEntry 2 }
-
-ipNetToMediaNetAddress OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-create
- STATUS deprecated
- DESCRIPTION
- "The IpAddress corresponding to the media-dependent
- `physical' address.
-
- This object predates the rule limiting index objects to a
- max access value of 'not-accessible' and so continues to use
- a value of 'read-create'."
- ::= { ipNetToMediaEntry 3 }
-
-ipNetToMediaType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
- invalid(2), -- an invalidated mapping
- dynamic(3),
- static(4)
- }
- MAX-ACCESS read-create
- STATUS deprecated
- DESCRIPTION
- "The type of mapping.
-
- Setting this object to the value invalid(2) has the effect
-
-
-
- of invalidating the corresponding entry in the
- ipNetToMediaTable. That is, it effectively dis-associates
- the interface identified with said entry from the mapping
- identified with said entry. It is an implementation-
- specific matter as to whether the agent removes an
- invalidated entry from the table. Accordingly, management
- stations must be prepared to receive tabular information
- from agents that corresponds to entries not currently in
- use. Proper interpretation of such entries requires
- examination of the relevant ipNetToMediaType object.
-
- As the entries in this table are typically not persistent
- when this object is written the entity should not save the
- change to non-volatile storage. Note: a stronger
- requirement is not used because this object was previously
- defined."
- ::= { ipNetToMediaEntry 4 }
-
--- the deprecated ICMP group
-
-icmpInMsgs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The total number of ICMP messages which the entity received.
- Note that this counter includes all those counted by
- icmpInErrors.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- icmpStatsInMsgs."
- ::= { icmp 1 }
-
-icmpInErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP messages which the entity received but
- determined as having ICMP-specific errors (bad ICMP
- checksums, bad length, etc.).
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- icmpStatsInErrors."
- ::= { icmp 2 }
-
-
-
-
-icmpInDestUnreachs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Destination Unreachable messages
- received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 3 }
-
-icmpInTimeExcds OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Time Exceeded messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 4 }
-
-icmpInParmProbs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Parameter Problem messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 5 }
-
-icmpInSrcQuenchs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Source Quench messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 6 }
-
-
-
-icmpInRedirects OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Redirect messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 7 }
-
-icmpInEchos OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Echo (request) messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 8 }
-
-icmpInEchoReps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Echo Reply messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 9 }
-
-icmpInTimestamps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Timestamp (request) messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 10 }
-
-
-
-
-icmpInTimestampReps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Timestamp Reply messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 11 }
-
-icmpInAddrMasks OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Address Mask Request messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 12 }
-
-icmpInAddrMaskReps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Address Mask Reply messages received.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 13 }
-
-icmpOutMsgs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The total number of ICMP messages which this entity
- attempted to send. Note that this counter includes all
- those counted by icmpOutErrors.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- icmpStatsOutMsgs."
-
-
-
- ::= { icmp 14 }
-
-icmpOutErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP messages which this entity did not send
- due to problems discovered within ICMP, such as a lack of
- buffers. This value should not include errors discovered
- outside the ICMP layer, such as the inability of IP to route
- the resultant datagram. In some implementations, there may
- be no types of error which contribute to this counter's
- value.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by
- icmpStatsOutErrors."
- ::= { icmp 15 }
-
-icmpOutDestUnreachs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Destination Unreachable messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 16 }
-
-icmpOutTimeExcds OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Time Exceeded messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 17 }
-
-icmpOutParmProbs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
-
-
-
- DESCRIPTION
- "The number of ICMP Parameter Problem messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 18 }
-
-icmpOutSrcQuenchs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Source Quench messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 19 }
-
-icmpOutRedirects OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Redirect messages sent. For a host, this
- object will always be zero, since hosts do not send
- redirects.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 20 }
-
-icmpOutEchos OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Echo (request) messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 21 }
-
-icmpOutEchoReps OBJECT-TYPE
- SYNTAX Counter32
-
-
-
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Echo Reply messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 22 }
-
-icmpOutTimestamps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Timestamp (request) messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 23 }
-
-icmpOutTimestampReps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Timestamp Reply messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 24 }
-
-icmpOutAddrMasks OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Address Mask Request messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 25 }
-
-icmpOutAddrMaskReps OBJECT-TYPE
- SYNTAX Counter32
-
-
-
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The number of ICMP Address Mask Reply messages sent.
-
- This object has been deprecated, as a new IP version-neutral
- table has been added. It is loosely replaced by a column in
- the icmpMsgStatsTable."
- ::= { icmp 26 }
-
--- deprecated conformance information
--- deprecated compliance statements
-
-ipMIBCompliance MODULE-COMPLIANCE
- STATUS deprecated
- DESCRIPTION
- "The compliance statement for systems that implement only
- IPv4. For version-independence, this compliance statement
- is deprecated in favor of ipMIBCompliance2."
- MODULE -- this module
- MANDATORY-GROUPS { ipGroup,
- icmpGroup }
- ::= { ipMIBCompliances 1 }
-
--- deprecated units of conformance
-
-ipGroup OBJECT-GROUP
- OBJECTS { ipForwarding, ipDefaultTTL,
- ipInReceives, ipInHdrErrors,
- ipInAddrErrors, ipForwDatagrams,
- ipInUnknownProtos, ipInDiscards,
- ipInDelivers, ipOutRequests,
- ipOutDiscards, ipOutNoRoutes,
- ipReasmTimeout, ipReasmReqds,
- ipReasmOKs, ipReasmFails,
- ipFragOKs, ipFragFails,
- ipFragCreates, ipAdEntAddr,
- ipAdEntIfIndex, ipAdEntNetMask,
- ipAdEntBcastAddr, ipAdEntReasmMaxSize,
- ipNetToMediaIfIndex, ipNetToMediaPhysAddress,
- ipNetToMediaNetAddress, ipNetToMediaType,
- ipRoutingDiscards
-}
- STATUS deprecated
- DESCRIPTION
- "The ip group of objects providing for basic management of IP
- entities, exclusive of the management of IP routes.
-
-
-
-
- As part of the version independence, this group has been
- deprecated. "
- ::= { ipMIBGroups 1 }
-
-icmpGroup OBJECT-GROUP
- OBJECTS { icmpInMsgs, icmpInErrors,
- icmpInDestUnreachs, icmpInTimeExcds,
- icmpInParmProbs, icmpInSrcQuenchs,
- icmpInRedirects, icmpInEchos,
- icmpInEchoReps, icmpInTimestamps,
- icmpInTimestampReps, icmpInAddrMasks,
- icmpInAddrMaskReps, icmpOutMsgs,
- icmpOutErrors, icmpOutDestUnreachs,
- icmpOutTimeExcds, icmpOutParmProbs,
- icmpOutSrcQuenchs, icmpOutRedirects,
- icmpOutEchos, icmpOutEchoReps,
- icmpOutTimestamps, icmpOutTimestampReps,
- icmpOutAddrMasks, icmpOutAddrMaskReps }
- STATUS deprecated
- DESCRIPTION
- "The icmp group of objects providing ICMP statistics.
-
- As part of the version independence, this group has been
- deprecated. "
- ::= { ipMIBGroups 2 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/RFC-1212 b/src/apps/snmp/LwipMibCompiler/Mibs/RFC-1212
deleted file mode 100644
index 4b1bdcfd..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/RFC-1212
+++ /dev/null
@@ -1,75 +0,0 @@
-RFC-1212 DEFINITIONS ::= BEGIN
-
- IMPORTS
- ObjectName
- FROM RFC1155-SMI;
--- DisplayString
--- FROM RFC1158-MIB;
-
- OBJECT-TYPE MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- -- must conform to
- -- RFC1155's ObjectSyntax
- "SYNTAX" type(ObjectSyntax)
- "ACCESS" Access
- "STATUS" Status
- DescrPart
- ReferPart
- IndexPart
- DefValPart
- VALUE NOTATION ::= value (VALUE ObjectName)
-
- Access ::= "read-only"
- | "read-write"
- | "write-only"
- | "not-accessible"
- Status ::= "mandatory"
- | "optional"
- | "obsolete"
- | "deprecated"
-
- DescrPart ::=
- "DESCRIPTION" value (description DisplayString)
- | empty
-
- ReferPart ::=
- "REFERENCE" value (reference DisplayString)
- | empty
-
- IndexPart ::=
- "INDEX" "{" IndexTypes "}"
- | empty
- IndexTypes ::=
- IndexType | IndexTypes "," IndexType
- IndexType ::=
- -- if indexobject, use the SYNTAX
- -- value of the correspondent
- -- OBJECT-TYPE invocation
- value (indexobject ObjectName)
- -- otherwise use named SMI type
- -- must conform to IndexSyntax below
- | type (indextype)
-
- DefValPart ::=
- "DEFVAL" "{" value (defvalue ObjectSyntax) "}"
- | empty
-
- END
-
- IndexSyntax ::=
- CHOICE {
- number
- INTEGER (0..MAX),
- string
- OCTET STRING,
- object
- OBJECT IDENTIFIER,
- address
- NetworkAddress,
- ipAddress
- IpAddress
- }
-
-END
-
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/RFC-1215 b/src/apps/snmp/LwipMibCompiler/Mibs/RFC-1215
deleted file mode 100644
index 3cdcfdf3..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/RFC-1215
+++ /dev/null
@@ -1,34 +0,0 @@
-RFC-1215 DEFINITIONS ::= BEGIN
-
- IMPORTS
- ObjectName
- FROM RFC1155-SMI;
-
- TRAP-TYPE MACRO ::=
- BEGIN
- TYPE NOTATION ::= "ENTERPRISE" value
- (enterprise OBJECT IDENTIFIER)
- VarPart
- DescrPart
- ReferPart
- VALUE NOTATION ::= value (VALUE INTEGER)
-
- VarPart ::=
- "VARIABLES" "{" VarTypes "}"
- | empty
- VarTypes ::=
- VarType | VarTypes "," VarType
- VarType ::=
- value (vartype ObjectName)
-
- DescrPart ::=
- "DESCRIPTION" value (description DisplayString)
- | empty
-
- ReferPart ::=
- "REFERENCE" value (reference DisplayString)
- | empty
-
- END
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1065-SMI b/src/apps/snmp/LwipMibCompiler/Mibs/RFC1065-SMI
deleted file mode 100644
index 40e55d70..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1065-SMI
+++ /dev/null
@@ -1,132 +0,0 @@
-RFC1065-SMI DEFINITIONS ::= BEGIN
-
-EXPORTS -- EVERYTHING
- internet, directory, mgmt,
- experimental, private, enterprises,
- OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
- ApplicationSyntax, NetworkAddress, IpAddress,
- Counter, Gauge, TimeTicks, Opaque;
-
- -- the path to the root
-
- internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
-
- directory OBJECT IDENTIFIER ::= { internet 1 }
-
- mgmt OBJECT IDENTIFIER ::= { internet 2 }
-
- experimental OBJECT IDENTIFIER ::= { internet 3 }
-
- private OBJECT IDENTIFIER ::= { internet 4 }
- enterprises OBJECT IDENTIFIER ::= { private 1 }
-
-
- -- definition of object types
-
- OBJECT-TYPE MACRO ::=
- BEGIN
- TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
- "ACCESS" Access
- "STATUS" Status
- VALUE NOTATION ::= value (VALUE ObjectName)
-
- Access ::= "read-only"
- | "read-write"
- | "write-only"
- | "not-accessible"
- Status ::= "mandatory"
- | "optional"
- | "obsolete"
- END
-
- -- names of objects in the MIB
-
- ObjectName ::=
- OBJECT IDENTIFIER
-
-
-
- -- syntax of objects in the MIB
-
- ObjectSyntax ::=
- CHOICE {
- simple
- SimpleSyntax,
-
- -- note that simple SEQUENCEs are not directly
- -- mentioned here to keep things simple (i.e.,
- -- prevent mis-use). However, application-wide
- -- types which are IMPLICITly encoded simple
- -- SEQUENCEs may appear in the following CHOICE
-
- application-wide
- ApplicationSyntax
- }
-
- SimpleSyntax ::=
- CHOICE {
- number
- INTEGER,
-
- string
- OCTET STRING,
-
- object
- OBJECT IDENTIFIER,
-
- empty
- NULL
- }
-
- ApplicationSyntax ::=
- CHOICE {
- address
- NetworkAddress,
-
- counter
- Counter,
-
- gauge
- Gauge,
-
- ticks
- TimeTicks,
-
- arbitrary
- Opaque
-
-
- -- other application-wide types, as they are
- -- defined, will be added here
- }
-
-
- -- application-wide types
-
- NetworkAddress ::=
- CHOICE {
- internet
- IpAddress
- }
-
- IpAddress ::=
- [APPLICATION 0] -- in network-byte order
- IMPLICIT OCTET STRING (SIZE (4))
-
- Counter ::=
- [APPLICATION 1]
- IMPLICIT INTEGER (0..4294967295)
-
- Gauge ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
- TimeTicks ::=
- [APPLICATION 3]
- IMPLICIT INTEGER
-
- Opaque ::=
- [APPLICATION 4] -- arbitrary ASN.1 value,
- IMPLICIT OCTET STRING -- "double-wrapped"
-
- END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1155-SMI b/src/apps/snmp/LwipMibCompiler/Mibs/RFC1155-SMI
deleted file mode 100644
index a6c3bf62..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1155-SMI
+++ /dev/null
@@ -1,129 +0,0 @@
-RFC1155-SMI DEFINITIONS ::= BEGIN
-
-EXPORTS -- EVERYTHING
- internet, directory, mgmt,
- experimental, private, enterprises,
- OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
- ApplicationSyntax, NetworkAddress, IpAddress,
- Counter, Gauge, TimeTicks, Opaque;
-
- -- the path to the root
-
- internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
-
- directory OBJECT IDENTIFIER ::= { internet 1 }
-
- mgmt OBJECT IDENTIFIER ::= { internet 2 }
-
- experimental OBJECT IDENTIFIER ::= { internet 3 }
-
- private OBJECT IDENTIFIER ::= { internet 4 }
- enterprises OBJECT IDENTIFIER ::= { private 1 }
-
-
- -- definition of object types
-
- OBJECT-TYPE MACRO ::=
- BEGIN
- TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
- "ACCESS" Access
- "STATUS" Status
- VALUE NOTATION ::= value (VALUE ObjectName)
-
- Access ::= "read-only"
- | "read-write"
- | "write-only"
- | "not-accessible"
- Status ::= "mandatory"
- | "optional"
- | "obsolete"
- END
-
- -- names of objects in the MIB
-
- ObjectName ::=
- OBJECT IDENTIFIER
-
- -- syntax of objects in the MIB
-
- ObjectSyntax ::=
- CHOICE {
- simple
- SimpleSyntax,
-
- -- note that simple SEQUENCEs are not directly
- -- mentioned here to keep things simple (i.e.,
- -- prevent mis-use). However, application-wide
- -- types which are IMPLICITly encoded simple
- -- SEQUENCEs may appear in the following CHOICE
-
- application-wide
- ApplicationSyntax
- }
-
- SimpleSyntax ::=
- CHOICE {
- number
- INTEGER,
-
- string
- OCTET STRING,
-
- object
- OBJECT IDENTIFIER,
-
- empty
- NULL
- }
-
- ApplicationSyntax ::=
- CHOICE {
- address
- NetworkAddress,
-
- counter
- Counter,
-
- gauge
- Gauge,
-
- ticks
- TimeTicks,
-
- arbitrary
- Opaque
-
- -- other application-wide types, as they are
- -- defined, will be added here
- }
-
-
- -- application-wide types
-
- NetworkAddress ::=
- CHOICE {
- internet
- IpAddress
- }
-
- IpAddress ::=
- [APPLICATION 0] -- in network-byte order
- IMPLICIT OCTET STRING (SIZE (4))
-
- Counter ::=
- [APPLICATION 1]
- IMPLICIT INTEGER (0..4294967295)
-
- Gauge ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
- TimeTicks ::=
- [APPLICATION 3]
- IMPLICIT INTEGER (0..4294967295)
-
- Opaque ::=
- [APPLICATION 4] -- arbitrary ASN.1 value,
- IMPLICIT OCTET STRING -- "double-wrapped"
-
- END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1158-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/RFC1158-MIB
deleted file mode 100644
index 4acf34a0..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1158-MIB
+++ /dev/null
@@ -1,1493 +0,0 @@
-RFC1158-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- mgmt, OBJECT-TYPE, NetworkAddress, IpAddress,
- Counter, Gauge, TimeTicks
- FROM RFC1155-SMI;
-
-DisplayString ::=
- OCTET STRING
-
-mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } -- MIB-II
- -- (same prefix as MIB-I)
-
-system OBJECT IDENTIFIER ::= { mib-2 1 }
-interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
-at OBJECT IDENTIFIER ::= { mib-2 3 }
-ip OBJECT IDENTIFIER ::= { mib-2 4 }
-icmp OBJECT IDENTIFIER ::= { mib-2 5 }
-tcp OBJECT IDENTIFIER ::= { mib-2 6 }
-udp OBJECT IDENTIFIER ::= { mib-2 7 }
-egp OBJECT IDENTIFIER ::= { mib-2 8 }
--- cmot OBJECT IDENTIFIER ::= { mib-2 9 }
-transmission OBJECT IDENTIFIER ::= { mib-2 10 }
-snmp OBJECT IDENTIFIER ::= { mib-2 11 }
-
-
--- object types
-
--- the System group
-
-sysDescr OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-only
- STATUS mandatory
- ::= { system 1 }
-
-sysObjectID OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- ACCESS read-only
- STATUS mandatory
- ::= { system 2 }
-
-sysUpTime OBJECT-TYPE
- SYNTAX TimeTicks
- ACCESS read-only
- STATUS mandatory
- ::= { system 3 }
-
-sysContact OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-write
- STATUS mandatory
- ::= { system 4 }
-
-sysName OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-write
- STATUS mandatory
- ::= { system 5 }
-
-sysLocation OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-only
- STATUS mandatory
- ::= { system 6 }
-
-sysServices OBJECT-TYPE
- SYNTAX INTEGER (0..127)
- ACCESS read-only
- STATUS mandatory
- ::= { system 7 }
-
-
--- the Interfaces group
-
-ifNumber OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { interfaces 1 }
-
--- the Interfaces table
-
-ifTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IfEntry
- ACCESS read-only
- STATUS mandatory
- ::= { interfaces 2 }
-
-ifEntry OBJECT-TYPE
- SYNTAX IfEntry
- ACCESS read-only
- STATUS mandatory
- ::= { ifTable 1 }
-
-IfEntry ::= SEQUENCE {
- ifIndex
- INTEGER,
- ifDescr
- DisplayString,
- ifType
- INTEGER,
- ifMtu
- INTEGER,
- ifSpeed
- Gauge,
- ifPhysAddress
- OCTET STRING,
- ifAdminStatus
- INTEGER,
- ifOperStatus
- INTEGER,
- ifLastChange
- TimeTicks,
- ifInOctets
- Counter,
- ifInUcastPkts
- Counter,
- ifInNUcastPkts
- Counter,
- ifInDiscards
- Counter,
- ifInErrors
- Counter,
- ifInUnknownProtos
- Counter,
- ifOutOctets
- Counter,
- ifOutUcastPkts
- Counter,
- ifOutNUcastPkts
- Counter,
- ifOutDiscards
- Counter,
- ifOutErrors
- Counter,
- ifOutQLen
- Gauge,
- ifSpecific
- OBJECT IDENTIFIER
-}
-
-ifIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 1 }
-
-ifDescr OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 2 }
-
-ifType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the
- -- following
- regular1822(2),
- hdh1822(3),
- ddn-x25(4),
- rfc877-x25(5),
- ethernet-csmacd(6),
- iso88023-csmacd(7),
- iso88024-tokenBus(8),
- iso88025-tokenRing(9),
- iso88026-man(10),
- starLan(11),
- proteon-10Mbit(12),
- proteon-80Mbit(13),
- hyperchannel(14),
- fddi(15),
- lapb(16),
- sdlc(17),
- t1-carrier(18),
- cept(19), -- european
- --equivalent of T-1
- basicISDN(20),
- primaryISDN(21),
- -- proprietary
- -- serial
- propPointToPointSerial(22),
- terminalServer-asyncPort(23),
- softwareLoopback(24),
- eon(25), -- CLNP over IP
- ethernet-3Mbit(26),
- nsip(27), -- XNS over IP
- slip(28) -- generic SLIP
- }
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 3 }
-
-ifMtu OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 4 }
-
-ifSpeed OBJECT-TYPE
- SYNTAX Gauge
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 5 }
-
-ifPhysAddress OBJECT-TYPE
- SYNTAX OCTET STRING
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 6 }
-
-ifAdminStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1), -- ready to pass packets
- down(2),
- testing(3) -- in some test mode
- }
- ACCESS read-write
- STATUS mandatory
- ::= { ifEntry 7 }
-
-ifOperStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1), -- ready to pass packets
- down(2),
- testing(3) -- in some test mode
- }
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 8 }
-
-ifLastChange OBJECT-TYPE
- SYNTAX TimeTicks
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 9 }
-
-ifInOctets OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 10 }
-
-ifInUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 11 }
-
-ifInNUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 12 }
-
-ifInDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 13 }
-
-ifInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 14 }
-
-ifInUnknownProtos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 15 }
-
-ifOutOctets OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 16 }
-
-ifOutUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 17 }
-
-ifOutNUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 18 }
-
-ifOutDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 19 }
-
-ifOutErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 20 }
-
-ifOutQLen OBJECT-TYPE
- SYNTAX Gauge
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 21 }
-
-ifSpecific OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- ACCESS read-only
- STATUS mandatory
- ::= { ifEntry 22 }
-
-nullSpecific OBJECT IDENTIFIER ::= { 0 0 }
-
--- the Address Translation group (deprecated)
-
-atTable OBJECT-TYPE
- SYNTAX SEQUENCE OF AtEntry
- ACCESS read-write
- STATUS deprecated
- ::= { at 1 }
-
-atEntry OBJECT-TYPE
- SYNTAX AtEntry
- ACCESS read-write
- STATUS deprecated
- ::= { atTable 1 }
-
-AtEntry ::= SEQUENCE {
- atIfIndex
- INTEGER,
- atPhysAddress
- OCTET STRING,
- atNetAddress
- NetworkAddress
-}
-
-atIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS deprecated
- ::= { atEntry 1 }
-
-atPhysAddress OBJECT-TYPE
- SYNTAX OCTET STRING
- ACCESS read-write
- STATUS deprecated
- ::= { atEntry 2 }
-
-atNetAddress OBJECT-TYPE
- SYNTAX NetworkAddress
- ACCESS read-write
- STATUS deprecated
- ::= { atEntry 3 }
-
-
--- the IP group
-
-ipForwarding OBJECT-TYPE
- SYNTAX INTEGER {
- gateway(1), -- entity forwards
- -- datagrams
- host(2) -- entity does NOT
- -- forward datagrams
- }
- ACCESS read-write
- STATUS mandatory
- ::= { ip 1 }
-
-ipDefaultTTL OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ip 2 }
-
-ipInReceives OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 3 }
-
-ipInHdrErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 4 }
-
-ipInAddrErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 5 }
-
-ipForwDatagrams OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 6 }
-
-ipInUnknownProtos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 7 }
-
-ipInDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 8 }
-
-ipInDelivers OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 9 }
-
-ipOutRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 10 }
-
-ipOutDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 11 }
-
-ipOutNoRoutes OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 12 }
-
-ipReasmTimeout OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { ip 13 }
-
-ipReasmReqds OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 14 }
-
-ipReasmOKs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 15 }
-
-ipReasmFails OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 16 }
-
-ipFragOKs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 17 }
-
-ipFragFails OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 18 }
-
-ipFragCreates OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { ip 19 }
-
--- the IP Interface table
-
-ipAddrTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpAddrEntry
- ACCESS read-only
- STATUS mandatory
- ::= { ip 20 }
-
-ipAddrEntry OBJECT-TYPE
- SYNTAX IpAddrEntry
- ACCESS read-only
- STATUS mandatory
- ::= { ipAddrTable 1 }
-
-IpAddrEntry ::= SEQUENCE {
- ipAdEntAddr
- IpAddress,
- ipAdEntIfIndex
- INTEGER,
- ipAdEntNetMask
- IpAddress,
- ipAdEntBcastAddr
- INTEGER,
- ipAdEntReasmMaxSize
- INTEGER (0..65535)
-}
-
-ipAdEntAddr OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- ::= { ipAddrEntry 1 }
-
-ipAdEntIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { ipAddrEntry 2 }
-
-ipAdEntNetMask OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- ::= { ipAddrEntry 3 }
-
-ipAdEntBcastAddr OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { ipAddrEntry 4 }
-
-ipAdEntReasmMaxSize OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- ::= { ipAddrEntry 5 }
-
--- the IP Routing table
-
-ipRoutingTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpRouteEntry
- ACCESS read-write
- STATUS mandatory
- ::= { ip 21 }
-
-ipRouteEntry OBJECT-TYPE
- SYNTAX IpRouteEntry
- ACCESS read-write
- STATUS mandatory
- ::= { ipRoutingTable 1 }
-
-IpRouteEntry ::= SEQUENCE {
- ipRouteDest
- IpAddress,
- ipRouteIfIndex
- INTEGER,
- ipRouteMetric1
- INTEGER,
- ipRouteMetric2
- INTEGER,
- ipRouteMetric3
- INTEGER,
- ipRouteMetric4
- INTEGER,
- ipRouteNextHop
- IpAddress,
- ipRouteType
- INTEGER,
- ipRouteProto
- INTEGER,
- ipRouteAge
- INTEGER,
- ipRouteMask
- IpAddress
-}
-
-ipRouteDest OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 1 }
-
-ipRouteIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 2 }
-
-ipRouteMetric1 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 3 }
-
-ipRouteMetric2 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 4 }
-
-ipRouteMetric3 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 5 }
-
-ipRouteMetric4 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 6 }
-
-ipRouteNextHop OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 7 }
-
-ipRouteType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
-
- invalid(2), -- an invalidated route
-
- -- route to directly
- direct(3), -- connected
- -- (sub-)network
-
- -- route to a non-local
- remote(4) -- host/network/
- -- sub-network
- }
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 8 }
-
-ipRouteProto OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
-
- -- non-protocol
- -- information
-
- -- e.g., manually
- local(2), -- configured entries
-
- -- set via a network
- netmgmt(3), -- management protocol
-
- -- obtained via ICMP,
- icmp(4), -- e.g., Redirect
-
- -- the following are
- -- gateway routing
- -- protocols
- egp(5),
- ggp(6),
- hello(7),
- rip(8),
- is-is(9),
- es-is(10),
- ciscoIgrp(11),
- bbnSpfIgp(12),
- ospf(13),
- bgp(14)
- }
- ACCESS read-only
- STATUS mandatory
- ::= { ipRouteEntry 9 }
-
-ipRouteAge OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 10 }
-
-ipRouteMask OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- ::= { ipRouteEntry 11 }
-
--- the IP Address Translation tables
-
-ipNetToMediaTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpNetToMediaEntry
- ACCESS read-write
- STATUS mandatory
- ::= { ip 22 }
-
-ipNetToMediaEntry OBJECT-TYPE
- SYNTAX IpNetToMediaEntry
- ACCESS read-write
- STATUS mandatory
- ::= { ipNetToMediaTable 1 }
-
-IpNetToMediaEntry ::= SEQUENCE {
- ipNetToMediaIfIndex
- INTEGER,
- ipNetToMediaPhysAddress
- OCTET STRING,
- ipNetToMediaNetAddress
- IpAddress,
- ipNetToMediaType
- INTEGER
-}
-
-ipNetToMediaIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- ::= { ipNetToMediaEntry 1 }
-
-ipNetToMediaPhysAddress OBJECT-TYPE
- SYNTAX OCTET STRING
- ACCESS read-write
- STATUS mandatory
- ::= { ipNetToMediaEntry 2 }
-
-ipNetToMediaNetAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- ::= { ipNetToMediaEntry 3 }
-
-ipNetToMediaType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
-
- invalid(2), -- an invalidated mapping
- dynamic(3), -- connected (sub-)network
-
- static(4)
- }
- ACCESS read-write
- STATUS mandatory
- ::= { ipNetToMediaEntry 4 }
-
--- the ICMP group
-
-icmpInMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 1 }
-
-icmpInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 2 }
-
-icmpInDestUnreachs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 3 }
-
-icmpInTimeExcds OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 4 }
-
-icmpInParmProbs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 5 }
-
-icmpInSrcQuenchs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 6 }
-
-icmpInRedirects OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 7 }
-
-icmpInEchos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 8 }
-
-icmpInEchoReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 9 }
-
-icmpInTimestamps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 10 }
-
-icmpInTimestampReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 11 }
-
-icmpInAddrMasks OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 12 }
-
-icmpInAddrMaskReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 13 }
-
-icmpOutMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 14 }
-
-icmpOutErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 15 }
-
-icmpOutDestUnreachs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 16 }
-
-icmpOutTimeExcds OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 17 }
-
-icmpOutParmProbs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 18 }
-
-icmpOutSrcQuenchs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 19 }
-
-icmpOutRedirects OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 20 }
-
-icmpOutEchos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 21 }
-
-icmpOutEchoReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 22 }
-
-icmpOutTimestamps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 23 }
-
-icmpOutTimestampReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 24 }
-
-icmpOutAddrMasks OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 25 }
-
-icmpOutAddrMaskReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { icmp 26 }
-
-
--- the TCP group
-
-tcpRtoAlgorithm OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
- constant(2), -- a constant rto
- rsre(3), -- MIL-STD-1778,
- -- Appendix B
- vanj(4) -- Van Jacobson's
- -- algorithm
- }
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 1 }
-
-tcpRtoMin OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 2 }
-
-tcpRtoMax OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 3 }
-
-tcpMaxConn OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 4 }
-
-tcpActiveOpens OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 5 }
-
-tcpPassiveOpens OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 6 }
-
-tcpAttemptFails OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 7 }
-
-tcpEstabResets OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 8 }
-
-tcpCurrEstab OBJECT-TYPE
- SYNTAX Gauge
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 9 }
-
-tcpInSegs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 10 }
-
-tcpOutSegs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 11 }
-
-tcpRetransSegs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 12 }
-
--- the TCP connections table
-
-tcpConnTable OBJECT-TYPE
- SYNTAX SEQUENCE OF TcpConnEntry
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 13 }
-
-tcpConnEntry OBJECT-TYPE
- SYNTAX TcpConnEntry
- ACCESS read-only
- STATUS mandatory
- ::= { tcpConnTable 1 }
-
-TcpConnEntry ::= SEQUENCE {
- tcpConnState
- INTEGER,
- tcpConnLocalAddress
- IpAddress,
- tcpConnLocalPort
- INTEGER (0..65535),
- tcpConnRemAddress
- IpAddress,
- tcpConnRemPort
- INTEGER (0..65535)
-}
-
-tcpConnState OBJECT-TYPE
- SYNTAX INTEGER {
- closed(1),
- listen(2),
- synSent(3),
- synReceived(4),
- established(5),
- finWait1(6),
- finWait2(7),
- closeWait(8),
- lastAck(9),
- closing(10),
- timeWait(11)
- }
- ACCESS read-only
- STATUS mandatory
- ::= { tcpConnEntry 1 }
-
-tcpConnLocalAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- ::= { tcpConnEntry 2 }
-
-tcpConnLocalPort OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- ::= { tcpConnEntry 3 }
-
-tcpConnRemAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- ::= { tcpConnEntry 4 }
-
-tcpConnRemPort OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- ::= { tcpConnEntry 5 }
-
--- additional TCP variables
-
-tcpInErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 14 }
-
-tcpOutRsts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { tcp 15 }
-
-
--- the UDP group
-
-udpInDatagrams OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { udp 1 }
-
-udpNoPorts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { udp 2 }
-
-udpInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { udp 3 }
-
-udpOutDatagrams OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { udp 4 }
-
--- the UDP listener table
-
-udpTable OBJECT-TYPE
- SYNTAX SEQUENCE OF UdpEntry
- ACCESS read-only
- STATUS mandatory
- ::= { udp 5 }
-
-udpEntry OBJECT-TYPE
- SYNTAX UdpEntry
- ACCESS read-only
- STATUS mandatory
- ::= { udpTable 1 }
-
-UdpEntry ::= SEQUENCE {
- udpLocalAddress
- IpAddress,
- udpLocalPort
- INTEGER (0..65535)
-}
-
-udpLocalAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- ::= { udpEntry 1 }
-
-udpLocalPort OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- ::= { udpEntry 2 }
-
--- the EGP group
-
-egpInMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egp 1 }
-
-egpInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egp 2 }
-
-egpOutMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egp 3 }
-
-egpOutErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egp 4 }
-
--- the EGP Neighbor table
-
-egpNeighTable OBJECT-TYPE
- SYNTAX SEQUENCE OF EgpNeighEntry
- ACCESS read-only
- STATUS mandatory
- ::= { egp 5 }
-
-egpNeighEntry OBJECT-TYPE
- SYNTAX EgpNeighEntry
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighTable 1 }
-
-EgpNeighEntry ::= SEQUENCE {
- egpNeighState
- INTEGER,
- egpNeighAddr
- IpAddress,
- egpNeighAs
- INTEGER,
- egpNeighInMsgs
- Counter,
- egpNeighInErrs
- Counter,
- egpNeighOutMsgs
- Counter,
- egpNeighOutErrs
- Counter,
- egpNeighInErrMsgs
- Counter,
- egpNeighOutErrMsgs
- Counter,
- egpNeighStateUps
- Counter,
- egpNeighStateDowns
- Counter,
- egpNeighIntervalHello
- INTEGER,
- egpNeighIntervalPoll
- INTEGER,
- egpNeighMode
- INTEGER,
- egpNeighEventTrigger
- INTEGER
-}
-
-egpNeighState OBJECT-TYPE
- SYNTAX INTEGER {
- idle(1),
- acquisition(2),
- down(3),
- up(4),
- cease(5)
- }
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 1 }
-
-egpNeighAddr OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 2 }
-
-egpNeighAs OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 3 }
-
-egpNeighInMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 4 }
-
-egpNeighInErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 5 }
-
-egpNeighOutMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 6 }
-
-egpNeighOutErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 7 }
-
-egpNeighInErrMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 8 }
-
-egpNeighOutErrMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 9 }
-
-egpNeighStateUps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 10 }
-
-egpNeighStateDowns OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 11 }
-
-egpNeighIntervalHello OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 12 }
-
-egpNeighIntervalPoll OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 13 }
-
-egpNeighMode OBJECT-TYPE
- SYNTAX INTEGER {
- active(1),
- passive(2)
- }
- ACCESS read-only
- STATUS mandatory
- ::= { egpNeighEntry 14 }
-
-egpNeighEventTrigger OBJECT-TYPE
- SYNTAX INTEGER {
- start(1),
- stop(2)
- }
- ACCESS read-write
- STATUS mandatory
- ::= { egpNeighEntry 15 }
-
--- additional EGP variables
-
-egpAs OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- ::= { egp 6 }
-
-
--- the Transmission group (empty at present)
-
--- the SNMP group
-
-snmpInPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 1 }
-
-snmpOutPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 2 }
-
-snmpInBadVersions OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 3 }
-
-snmpInBadCommunityNames OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 4 }
-
-snmpInBadCommunityUses OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 5 }
-
-snmpInASNParseErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 6 }
-
-snmpInBadTypes OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 7 }
-
-snmpInTooBigs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 8 }
-
-snmpInNoSuchNames OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 9 }
-
-snmpInBadValues OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 10 }
-
-snmpInReadOnlys OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 11 }
-
-snmpInGenErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 12 }
-
-snmpInTotalReqVars OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 13 }
-
-snmpInTotalSetVars OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 14 }
-
-snmpInGetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 15 }
-
-snmpInGetNexts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 16 }
-
-snmpInSetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 17 }
-
-snmpInGetResponses OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 18 }
-
-snmpInTraps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 19 }
-
-snmpOutTooBigs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 20 }
-
-snmpOutNoSuchNames OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 21 }
-
-snmpOutBadValues OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 22 }
-
-snmpOutReadOnlys OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 23 }
-
-snmpOutGenErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 24 }
-
-snmpOutGetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 25 }
-
-snmpOutGetNexts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 26 }
-
-snmpOutSetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 27 }
-
-snmpOutGetResponses OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 28 }
-
-snmpOutTraps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- ::= { snmp 29 }
-
-snmpEnableAuthTraps OBJECT-TYPE
- SYNTAX INTEGER {
- enabled(1),
- disabled(2)
- }
- ACCESS read-write
- STATUS mandatory
- ::= { snmp 30 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1213-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/RFC1213-MIB
deleted file mode 100644
index 2a849ded..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/RFC1213-MIB
+++ /dev/null
@@ -1,2621 +0,0 @@
-RFC1213-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- mgmt, NetworkAddress, IpAddress, Counter, Gauge,
- TimeTicks
- FROM RFC1155-SMI
- OBJECT-TYPE
- FROM RFC-1212;
-
--- This MIB module uses the extended OBJECT-TYPE macro as
--- defined in [14];
-
-
--- MIB-II (same prefix as MIB-I)
-
-mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
-
--- textual conventions
-
-DisplayString ::=
- OCTET STRING
--- This data type is used to model textual information taken
--- from the NVT ASCII character set. By convention, objects
--- with this syntax are declared as having
-
---
--- SIZE (0..255)
-
-PhysAddress ::=
- OCTET STRING
--- This data type is used to model media addresses. For many
--- types of media, this will be in a binary representation.
--- For example, an ethernet address would be represented as
--- a string of 6 octets.
-
-
--- groups in MIB-II
-
-system OBJECT IDENTIFIER ::= { mib-2 1 }
-
-interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
-
-at OBJECT IDENTIFIER ::= { mib-2 3 }
-
-ip OBJECT IDENTIFIER ::= { mib-2 4 }
-
-icmp OBJECT IDENTIFIER ::= { mib-2 5 }
-
-tcp OBJECT IDENTIFIER ::= { mib-2 6 }
-
-udp OBJECT IDENTIFIER ::= { mib-2 7 }
-
-egp OBJECT IDENTIFIER ::= { mib-2 8 }
-
--- historical (some say hysterical)
--- cmot OBJECT IDENTIFIER ::= { mib-2 9 }
-
-transmission OBJECT IDENTIFIER ::= { mib-2 10 }
-
-snmp OBJECT IDENTIFIER ::= { mib-2 11 }
-
-
--- the System group
-
--- Implementation of the System group is mandatory for all
--- systems. If an agent is not configured to have a value
--- for any of these variables, a string of length 0 is
--- returned.
-
-sysDescr OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "A textual description of the entity. This value
- should include the full name and version
- identification of the system's hardware type,
- software operating-system, and networking
- software. It is mandatory that this only contain
- printable ASCII characters."
- ::= { system 1 }
-
-sysObjectID OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The vendor's authoritative identification of the
- network management subsystem contained in the
- entity. This value is allocated within the SMI
- enterprises subtree (1.3.6.1.4.1) and provides an
- easy and unambiguous means for determining `what
- kind of box' is being managed. For example, if
- vendor `Flintstones, Inc.' was assigned the
- subtree 1.3.6.1.4.1.4242, it could assign the
- identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
- Router'."
- ::= { system 2 }
-
-sysUpTime OBJECT-TYPE
- SYNTAX TimeTicks
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The time (in hundredths of a second) since the
- network management portion of the system was last
- re-initialized."
- ::= { system 3 }
-
-sysContact OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The textual identification of the contact person
- for this managed node, together with information
- on how to contact this person."
- ::= { system 4 }
-
-sysName OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "An administratively-assigned name for this
- managed node. By convention, this is the node's
- fully-qualified domain name."
- ::= { system 5 }
-
-sysLocation OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The physical location of this node (e.g.,
- `telephone closet, 3rd floor')."
- ::= { system 6 }
-
-sysServices OBJECT-TYPE
- SYNTAX INTEGER (0..127)
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "A value which indicates the set of services that
- this entity primarily offers.
-
- The value is a sum. This sum initially takes the
- value zero, Then, for each layer, L, in the range
- 1 through 7, that this node performs transactions
- for, 2 raised to (L - 1) is added to the sum. For
- example, a node which performs primarily routing
- functions would have a value of 4 (2^(3-1)). In
- contrast, a node which is a host offering
- application services would have a value of 72
- (2^(4-1) + 2^(7-1)). Note that in the context of
- the Internet suite of protocols, values should be
- calculated accordingly:
-
- layer functionality
- 1 physical (e.g., repeaters)
- 2 datalink/subnetwork (e.g., bridges)
- 3 internet (e.g., IP gateways)
- 4 end-to-end (e.g., IP hosts)
- 7 applications (e.g., mail relays)
-
- For systems including OSI protocols, layers 5 and
- 6 may also be counted."
- ::= { system 7 }
-
--- the Interfaces group
-
--- Implementation of the Interfaces group is mandatory for
--- all systems.
-
-ifNumber OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of network interfaces (regardless of
- their current state) present on this system."
- ::= { interfaces 1 }
-
-
--- the Interfaces table
-
--- The Interfaces table contains information on the entity's
--- interfaces. Each interface is thought of as being
--- attached to a `subnetwork'. Note that this term should
--- not be confused with `subnet' which refers to an
--- addressing partitioning scheme used in the Internet suite
--- of protocols.
-
-ifTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IfEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "A list of interface entries. The number of
- entries is given by the value of ifNumber."
- ::= { interfaces 2 }
-
-ifEntry OBJECT-TYPE
- SYNTAX IfEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "An interface entry containing objects at the
- subnetwork layer and below for a particular
- interface."
- INDEX { ifIndex }
- ::= { ifTable 1 }
-
-IfEntry ::=
- SEQUENCE {
- ifIndex
- INTEGER,
- ifDescr
- DisplayString,
- ifType
- INTEGER,
- ifMtu
- INTEGER,
- ifSpeed
- Gauge,
- ifPhysAddress
- PhysAddress,
- ifAdminStatus
- INTEGER,
- ifOperStatus
- INTEGER,
- ifLastChange
- TimeTicks,
- ifInOctets
- Counter,
- ifInUcastPkts
- Counter,
- ifInNUcastPkts
- Counter,
- ifInDiscards
- Counter,
- ifInErrors
- Counter,
- ifInUnknownProtos
- Counter,
- ifOutOctets
- Counter,
- ifOutUcastPkts
- Counter,
- ifOutNUcastPkts
- Counter,
- ifOutDiscards
- Counter,
- ifOutErrors
- Counter,
- ifOutQLen
- Gauge,
- ifSpecific
- OBJECT IDENTIFIER
- }
-
-ifIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "A unique value for each interface. Its value
- ranges between 1 and the value of ifNumber. The
- value for each interface must remain constant at
- least from one re-initialization of the entity's
- network management system to the next re-
- initialization."
- ::= { ifEntry 1 }
-
-ifDescr OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "A textual string containing information about the
- interface. This string should include the name of
- the manufacturer, the product name and the version
- of the hardware interface."
- ::= { ifEntry 2 }
-
-ifType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
- regular1822(2),
- hdh1822(3),
- ddn-x25(4),
- rfc877-x25(5),
- ethernet-csmacd(6),
- iso88023-csmacd(7),
- iso88024-tokenBus(8),
- iso88025-tokenRing(9),
- iso88026-man(10),
- starLan(11),
- proteon-10Mbit(12),
- proteon-80Mbit(13),
- hyperchannel(14),
- fddi(15),
- lapb(16),
- sdlc(17),
- ds1(18), -- T-1
- e1(19), -- european equiv. of T-1
- basicISDN(20),
- primaryISDN(21), -- proprietary serial
- propPointToPointSerial(22),
- ppp(23),
- softwareLoopback(24),
- eon(25), -- CLNP over IP [11]
- ethernet-3Mbit(26),
- nsip(27), -- XNS over IP
- slip(28), -- generic SLIP
- ultra(29), -- ULTRA technologies
- ds3(30), -- T-3
- sip(31), -- SMDS
- frame-relay(32)
- }
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The type of interface, distinguished according to
- the physical/link protocol(s) immediately `below'
- the network layer in the protocol stack."
- ::= { ifEntry 3 }
-
-ifMtu OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The size of the largest datagram which can be
- sent/received on the interface, specified in
- octets. For interfaces that are used for
- transmitting network datagrams, this is the size
- of the largest network datagram that can be sent
- on the interface."
- ::= { ifEntry 4 }
-
-ifSpeed OBJECT-TYPE
- SYNTAX Gauge
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "An estimate of the interface's current bandwidth
- in bits per second. For interfaces which do not
- vary in bandwidth or for those where no accurate
- estimation can be made, this object should contain
- the nominal bandwidth."
- ::= { ifEntry 5 }
-
-ifPhysAddress OBJECT-TYPE
- SYNTAX PhysAddress
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The interface's address at the protocol layer
- immediately `below' the network layer in the
- protocol stack. For interfaces which do not have
- such an address (e.g., a serial line), this object
- should contain an octet string of zero length."
- ::= { ifEntry 6 }
-
-ifAdminStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1), -- ready to pass packets
- down(2),
- testing(3) -- in some test mode
- }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The desired state of the interface. The
- testing(3) state indicates that no operational
- packets can be passed."
- ::= { ifEntry 7 }
-
-ifOperStatus OBJECT-TYPE
- SYNTAX INTEGER {
- up(1), -- ready to pass packets
- down(2),
- testing(3) -- in some test mode
- }
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The current operational state of the interface.
- The testing(3) state indicates that no operational
- packets can be passed."
- ::= { ifEntry 8 }
-
-ifLastChange OBJECT-TYPE
- SYNTAX TimeTicks
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The value of sysUpTime at the time the interface
- entered its current operational state. If the
- current state was entered prior to the last re-
- initialization of the local network management
- subsystem, then this object contains a zero
- value."
- ::= { ifEntry 9 }
-
-ifInOctets OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of octets received on the
- interface, including framing characters."
- ::= { ifEntry 10 }
-
-ifInUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of subnetwork-unicast packets
- delivered to a higher-layer protocol."
- ::= { ifEntry 11 }
-
-ifInNUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of non-unicast (i.e., subnetwork-
- broadcast or subnetwork-multicast) packets
- delivered to a higher-layer protocol."
- ::= { ifEntry 12 }
-
-ifInDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of inbound packets which were chosen
- to be discarded even though no errors had been
- detected to prevent their being deliverable to a
- higher-layer protocol. One possible reason for
- discarding such a packet could be to free up
- buffer space."
- ::= { ifEntry 13 }
-
-ifInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of inbound packets that contained
- errors preventing them from being deliverable to a
- higher-layer protocol."
- ::= { ifEntry 14 }
-
-ifInUnknownProtos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of packets received via the interface
- which were discarded because of an unknown or
- unsupported protocol."
- ::= { ifEntry 15 }
-
-ifOutOctets OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of octets transmitted out of the
- interface, including framing characters."
- ::= { ifEntry 16 }
-
-ifOutUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of packets that higher-level
- protocols requested be transmitted to a
- subnetwork-unicast address, including those that
- were discarded or not sent."
- ::= { ifEntry 17 }
-
-ifOutNUcastPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of packets that higher-level
- protocols requested be transmitted to a non-
- unicast (i.e., a subnetwork-broadcast or
- subnetwork-multicast) address, including those
- that were discarded or not sent."
- ::= { ifEntry 18 }
-
-ifOutDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of outbound packets which were chosen
- to be discarded even though no errors had been
- detected to prevent their being transmitted. One
- possible reason for discarding such a packet could
- be to free up buffer space."
- ::= { ifEntry 19 }
-
-ifOutErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of outbound packets that could not be
- transmitted because of errors."
- ::= { ifEntry 20 }
-
-ifOutQLen OBJECT-TYPE
- SYNTAX Gauge
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The length of the output packet queue (in
- packets)."
- ::= { ifEntry 21 }
-
-ifSpecific OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "A reference to MIB definitions specific to the
- particular media being used to realize the
- interface. For example, if the interface is
- realized by an ethernet, then the value of this
- object refers to a document defining objects
- specific to ethernet. If this information is not
- present, its value should be set to the OBJECT
- IDENTIFIER { 0 0 }, which is a syntatically valid
- object identifier, and any conformant
- implementation of ASN.1 and BER must be able to
- generate and recognize this value."
- ::= { ifEntry 22 }
-
-
--- the Address Translation group
-
--- Implementation of the Address Translation group is
--- mandatory for all systems. Note however that this group
--- is deprecated by MIB-II. That is, it is being included
-
--- solely for compatibility with MIB-I nodes, and will most
--- likely be excluded from MIB-III nodes. From MIB-II and
--- onwards, each network protocol group contains its own
--- address translation tables.
-
--- The Address Translation group contains one table which is
--- the union across all interfaces of the translation tables
--- for converting a NetworkAddress (e.g., an IP address) into
--- a subnetwork-specific address. For lack of a better term,
--- this document refers to such a subnetwork-specific address
--- as a `physical' address.
-
--- Examples of such translation tables are: for broadcast
--- media where ARP is in use, the translation table is
--- equivalent to the ARP cache; or, on an X.25 network where
--- non-algorithmic translation to X.121 addresses is
--- required, the translation table contains the
--- NetworkAddress to X.121 address equivalences.
-
-atTable OBJECT-TYPE
- SYNTAX SEQUENCE OF AtEntry
- ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "The Address Translation tables contain the
- NetworkAddress to `physical' address equivalences.
- Some interfaces do not use translation tables for
- determining address equivalences (e.g., DDN-X.25
- has an algorithmic method); if all interfaces are
- of this type, then the Address Translation table
- is empty, i.e., has zero entries."
- ::= { at 1 }
-
-atEntry OBJECT-TYPE
- SYNTAX AtEntry
- ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "Each entry contains one NetworkAddress to
- `physical' address equivalence."
- INDEX { atIfIndex,
- atNetAddress }
- ::= { atTable 1 }
-
-AtEntry ::=
- SEQUENCE {
- atIfIndex
- INTEGER,
- atPhysAddress
- PhysAddress,
- atNetAddress
- NetworkAddress
- }
-
-atIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "The interface on which this entry's equivalence
- is effective. The interface identified by a
- particular value of this index is the same
- interface as identified by the same value of
- ifIndex."
- ::= { atEntry 1 }
-
-atPhysAddress OBJECT-TYPE
- SYNTAX PhysAddress
- ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "The media-dependent `physical' address.
-
- Setting this object to a null string (one of zero
- length) has the effect of invaliding the
- corresponding entry in the atTable object. That
- is, it effectively dissasociates the interface
- identified with said entry from the mapping
- identified with said entry. It is an
- implementation-specific matter as to whether the
- agent removes an invalidated entry from the table.
- Accordingly, management stations must be prepared
- to receive tabular information from agents that
- corresponds to entries not currently in use.
- Proper interpretation of such entries requires
- examination of the relevant atPhysAddress object."
- ::= { atEntry 2 }
-
-atNetAddress OBJECT-TYPE
- SYNTAX NetworkAddress
- ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "The NetworkAddress (e.g., the IP address)
- corresponding to the media-dependent `physical'
- address."
- ::= { atEntry 3 }
-
-
--- the IP group
-
--- Implementation of the IP group is mandatory for all
--- systems.
-
-ipForwarding OBJECT-TYPE
- SYNTAX INTEGER {
- forwarding(1), -- acting as a gateway
- not-forwarding(2) -- NOT acting as a gateway
- }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The indication of whether this entity is acting
- as an IP gateway in respect to the forwarding of
- datagrams received by, but not addressed to, this
- entity. IP gateways forward datagrams. IP hosts
- do not (except those source-routed via the host).
-
- Note that for some managed nodes, this object may
- take on only a subset of the values possible.
- Accordingly, it is appropriate for an agent to
- return a `badValue' response if a management
- station attempts to change this object to an
- inappropriate value."
- ::= { ip 1 }
-
-ipDefaultTTL OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The default value inserted into the Time-To-Live
- field of the IP header of datagrams originated at
- this entity, whenever a TTL value is not supplied
- by the transport layer protocol."
- ::= { ip 2 }
-
-ipInReceives OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of input datagrams received from
- interfaces, including those received in error."
- ::= { ip 3 }
-
-ipInHdrErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of input datagrams discarded due to
- errors in their IP headers, including bad
- checksums, version number mismatch, other format
- errors, time-to-live exceeded, errors discovered
- in processing their IP options, etc."
- ::= { ip 4 }
-
-ipInAddrErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of input datagrams discarded because
- the IP address in their IP header's destination
- field was not a valid address to be received at
- this entity. This count includes invalid
- addresses (e.g., 0.0.0.0) and addresses of
- unsupported Classes (e.g., Class E). For entities
- which are not IP Gateways and therefore do not
- forward datagrams, this counter includes datagrams
- discarded because the destination address was not
- a local address."
- ::= { ip 5 }
-
-ipForwDatagrams OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of input datagrams for which this
- entity was not their final IP destination, as a
- result of which an attempt was made to find a
- route to forward them to that final destination.
- In entities which do not act as IP Gateways, this
- counter will include only those packets which were
- Source-Routed via this entity, and the Source-
- Route option processing was successful."
- ::= { ip 6 }
-
-ipInUnknownProtos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of locally-addressed datagrams
- received successfully but discarded because of an
- unknown or unsupported protocol."
- ::= { ip 7 }
-
-ipInDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of input IP datagrams for which no
- problems were encountered to prevent their
- continued processing, but which were discarded
- (e.g., for lack of buffer space). Note that this
- counter does not include any datagrams discarded
- while awaiting re-assembly."
- ::= { ip 8 }
-
-ipInDelivers OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of input datagrams successfully
- delivered to IP user-protocols (including ICMP)."
- ::= { ip 9 }
-
-ipOutRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of IP datagrams which local IP
- user-protocols (including ICMP) supplied to IP in
- requests for transmission. Note that this counter
- does not include any datagrams counted in
- ipForwDatagrams."
- ::= { ip 10 }
-
-ipOutDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of output IP datagrams for which no
- problem was encountered to prevent their
- transmission to their destination, but which were
- discarded (e.g., for lack of buffer space). Note
- that this counter would include datagrams counted
- in ipForwDatagrams if any such packets met this
- (discretionary) discard criterion."
- ::= { ip 11 }
-
-ipOutNoRoutes OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of IP datagrams discarded because no
- route could be found to transmit them to their
- destination. Note that this counter includes any
- packets counted in ipForwDatagrams which meet this
- `no-route' criterion. Note that this includes any
- datagarms which a host cannot route because all of
- its default gateways are down."
- ::= { ip 12 }
-
-ipReasmTimeout OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The maximum number of seconds which received
- fragments are held while they are awaiting
- reassembly at this entity."
- ::= { ip 13 }
-
-ipReasmReqds OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of IP fragments received which needed
- to be reassembled at this entity."
- ::= { ip 14 }
-
-ipReasmOKs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of IP datagrams successfully re-
- assembled."
- ::= { ip 15 }
-
-ipReasmFails OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of failures detected by the IP re-
- assembly algorithm (for whatever reason: timed
- out, errors, etc). Note that this is not
- necessarily a count of discarded IP fragments
- since some algorithms (notably the algorithm in
- RFC 815) can lose track of the number of fragments
- by combining them as they are received."
- ::= { ip 16 }
-
-ipFragOKs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of IP datagrams that have been
- successfully fragmented at this entity."
- ::= { ip 17 }
-
-ipFragFails OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of IP datagrams that have been
- discarded because they needed to be fragmented at
- this entity but could not be, e.g., because their
- Don't Fragment flag was set."
- ::= { ip 18 }
-
-ipFragCreates OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of IP datagram fragments that have
- been generated as a result of fragmentation at
- this entity."
- ::= { ip 19 }
-
--- the IP address table
-
--- The IP address table contains this entity's IP addressing
--- information.
-
-ipAddrTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpAddrEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "The table of addressing information relevant to
- this entity's IP addresses."
- ::= { ip 20 }
-
-ipAddrEntry OBJECT-TYPE
- SYNTAX IpAddrEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "The addressing information for one of this
- entity's IP addresses."
- INDEX { ipAdEntAddr }
- ::= { ipAddrTable 1 }
-
-IpAddrEntry ::=
- SEQUENCE {
- ipAdEntAddr
- IpAddress,
- ipAdEntIfIndex
- INTEGER,
- ipAdEntNetMask
- IpAddress,
- ipAdEntBcastAddr
- INTEGER,
- ipAdEntReasmMaxSize
- INTEGER (0..65535)
- }
-
-ipAdEntAddr OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The IP address to which this entry's addressing
- information pertains."
- ::= { ipAddrEntry 1 }
-
-ipAdEntIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The index value which uniquely identifies the
- interface to which this entry is applicable. The
- interface identified by a particular value of this
- index is the same interface as identified by the
- same value of ifIndex."
- ::= { ipAddrEntry 2 }
-
-ipAdEntNetMask OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The subnet mask associated with the IP address of
- this entry. The value of the mask is an IP
- address with all the network bits set to 1 and all
- the hosts bits set to 0."
- ::= { ipAddrEntry 3 }
-
-ipAdEntBcastAddr OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The value of the least-significant bit in the IP
- broadcast address used for sending datagrams on
- the (logical) interface associated with the IP
- address of this entry. For example, when the
- Internet standard all-ones broadcast address is
- used, the value will be 1. This value applies to
- both the subnet and network broadcasts addresses
- used by the entity on this (logical) interface."
- ::= { ipAddrEntry 4 }
-
-ipAdEntReasmMaxSize OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The size of the largest IP datagram which this
- entity can re-assemble from incoming IP fragmented
- datagrams received on this interface."
- ::= { ipAddrEntry 5 }
-
--- the IP routing table
-
--- The IP routing table contains an entry for each route
--- presently known to this entity.
-
-ipRouteTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpRouteEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "This entity's IP Routing table."
- ::= { ip 21 }
-
-ipRouteEntry OBJECT-TYPE
- SYNTAX IpRouteEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "A route to a particular destination."
- INDEX { ipRouteDest }
- ::= { ipRouteTable 1 }
-
-IpRouteEntry ::=
- SEQUENCE {
- ipRouteDest
- IpAddress,
- ipRouteIfIndex
- INTEGER,
- ipRouteMetric1
- INTEGER,
- ipRouteMetric2
- INTEGER,
- ipRouteMetric3
- INTEGER,
- ipRouteMetric4
- INTEGER,
- ipRouteNextHop
- IpAddress,
- ipRouteType
- INTEGER,
- ipRouteProto
- INTEGER,
- ipRouteAge
- INTEGER,
- ipRouteMask
- IpAddress,
- ipRouteMetric5
- INTEGER,
- ipRouteInfo
- OBJECT IDENTIFIER
- }
-
-ipRouteDest OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The destination IP address of this route. An
- entry with a value of 0.0.0.0 is considered a
- default route. Multiple routes to a single
- destination can appear in the table, but access to
- such multiple entries is dependent on the table-
- access mechanisms defined by the network
- management protocol in use."
- ::= { ipRouteEntry 1 }
-
-ipRouteIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The index value which uniquely identifies the
- local interface through which the next hop of this
- route should be reached. The interface identified
- by a particular value of this index is the same
- interface as identified by the same value of
- ifIndex."
- ::= { ipRouteEntry 2 }
-
-ipRouteMetric1 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The primary routing metric for this route. The
- semantics of this metric are determined by the
- routing-protocol specified in the route's
- ipRouteProto value. If this metric is not used,
- its value should be set to -1."
- ::= { ipRouteEntry 3 }
-
-ipRouteMetric2 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "An alternate routing metric for this route. The
- semantics of this metric are determined by the
- routing-protocol specified in the route's
- ipRouteProto value. If this metric is not used,
- its value should be set to -1."
- ::= { ipRouteEntry 4 }
-
-ipRouteMetric3 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "An alternate routing metric for this route. The
- semantics of this metric are determined by the
- routing-protocol specified in the route's
- ipRouteProto value. If this metric is not used,
- its value should be set to -1."
- ::= { ipRouteEntry 5 }
-
-ipRouteMetric4 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "An alternate routing metric for this route. The
- semantics of this metric are determined by the
- routing-protocol specified in the route's
- ipRouteProto value. If this metric is not used,
- its value should be set to -1."
- ::= { ipRouteEntry 6 }
-
-ipRouteNextHop OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The IP address of the next hop of this route.
- (In the case of a route bound to an interface
- which is realized via a broadcast media, the value
- of this field is the agent's IP address on that
- interface.)"
- ::= { ipRouteEntry 7 }
-
-ipRouteType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
-
- invalid(2), -- an invalidated route
-
- -- route to directly
- direct(3), -- connected (sub-)network
-
- -- route to a non-local
- indirect(4) -- host/network/sub-network
- }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The type of route. Note that the values
- direct(3) and indirect(4) refer to the notion of
- direct and indirect routing in the IP
- architecture.
-
- Setting this object to the value invalid(2) has
- the effect of invalidating the corresponding entry
- in the ipRouteTable object. That is, it
- effectively dissasociates the destination
- identified with said entry from the route
- identified with said entry. It is an
- implementation-specific matter as to whether the
- agent removes an invalidated entry from the table.
- Accordingly, management stations must be prepared
- to receive tabular information from agents that
- corresponds to entries not currently in use.
- Proper interpretation of such entries requires
- examination of the relevant ipRouteType object."
- ::= { ipRouteEntry 8 }
-
-ipRouteProto OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
-
- -- non-protocol information,
- -- e.g., manually configured
- local(2), -- entries
-
- -- set via a network
- netmgmt(3), -- management protocol
-
- -- obtained via ICMP,
- icmp(4), -- e.g., Redirect
-
- -- the remaining values are
- -- all gateway routing
- -- protocols
- egp(5),
- ggp(6),
- hello(7),
- rip(8),
- is-is(9),
- es-is(10),
- ciscoIgrp(11),
- bbnSpfIgp(12),
- ospf(13),
- bgp(14)
- }
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The routing mechanism via which this route was
- learned. Inclusion of values for gateway routing
- protocols is not intended to imply that hosts
- should support those protocols."
- ::= { ipRouteEntry 9 }
-
-ipRouteAge OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The number of seconds since this route was last
- updated or otherwise determined to be correct.
- Note that no semantics of `too old' can be implied
- except through knowledge of the routing protocol
- by which the route was learned."
- ::= { ipRouteEntry 10 }
-
-ipRouteMask OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "Indicate the mask to be logical-ANDed with the
- destination address before being compared to the
- value in the ipRouteDest field. For those systems
- that do not support arbitrary subnet masks, an
- agent constructs the value of the ipRouteMask by
- determining whether the value of the correspondent
- ipRouteDest field belong to a class-A, B, or C
- network, and then using one of:
-
- mask network
- 255.0.0.0 class-A
- 255.255.0.0 class-B
- 255.255.255.0 class-C
- If the value of the ipRouteDest is 0.0.0.0 (a
- default route), then the mask value is also
- 0.0.0.0. It should be noted that all IP routing
- subsystems implicitly use this mechanism."
- ::= { ipRouteEntry 11 }
-
-ipRouteMetric5 OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "An alternate routing metric for this route. The
- semantics of this metric are determined by the
- routing-protocol specified in the route's
- ipRouteProto value. If this metric is not used,
- its value should be set to -1."
- ::= { ipRouteEntry 12 }
-
-ipRouteInfo OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "A reference to MIB definitions specific to the
- particular routing protocol which is responsible
- for this route, as determined by the value
- specified in the route's ipRouteProto value. If
- this information is not present, its value should
- be set to the OBJECT IDENTIFIER { 0 0 }, which is
- a syntatically valid object identifier, and any
- conformant implementation of ASN.1 and BER must be
- able to generate and recognize this value."
- ::= { ipRouteEntry 13 }
-
-
--- the IP Address Translation table
-
--- The IP address translation table contain the IpAddress to
--- `physical' address equivalences. Some interfaces do not
--- use translation tables for determining address
--- equivalences (e.g., DDN-X.25 has an algorithmic method);
--- if all interfaces are of this type, then the Address
--- Translation table is empty, i.e., has zero entries.
-
-ipNetToMediaTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpNetToMediaEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "The IP Address Translation table used for mapping
- from IP addresses to physical addresses."
- ::= { ip 22 }
-
-ipNetToMediaEntry OBJECT-TYPE
- SYNTAX IpNetToMediaEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "Each entry contains one IpAddress to `physical'
- address equivalence."
- INDEX { ipNetToMediaIfIndex,
- ipNetToMediaNetAddress }
- ::= { ipNetToMediaTable 1 }
-
-IpNetToMediaEntry ::=
- SEQUENCE {
- ipNetToMediaIfIndex
- INTEGER,
- ipNetToMediaPhysAddress
- PhysAddress,
- ipNetToMediaNetAddress
- IpAddress,
- ipNetToMediaType
- INTEGER
- }
-
-ipNetToMediaIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The interface on which this entry's equivalence
- is effective. The interface identified by a
- particular value of this index is the same
- interface as identified by the same value of
- ifIndex."
- ::= { ipNetToMediaEntry 1 }
-
-ipNetToMediaPhysAddress OBJECT-TYPE
- SYNTAX PhysAddress
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The media-dependent `physical' address."
- ::= { ipNetToMediaEntry 2 }
-
-ipNetToMediaNetAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The IpAddress corresponding to the media-
- dependent `physical' address."
- ::= { ipNetToMediaEntry 3 }
-
-ipNetToMediaType OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
- invalid(2), -- an invalidated mapping
- dynamic(3),
- static(4)
- }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The type of mapping.
-
- Setting this object to the value invalid(2) has
- the effect of invalidating the corresponding entry
- in the ipNetToMediaTable. That is, it effectively
- dissasociates the interface identified with said
- entry from the mapping identified with said entry.
- It is an implementation-specific matter as to
- whether the agent removes an invalidated entry
- from the table. Accordingly, management stations
- must be prepared to receive tabular information
- from agents that corresponds to entries not
- currently in use. Proper interpretation of such
- entries requires examination of the relevant
- ipNetToMediaType object."
- ::= { ipNetToMediaEntry 4 }
-
-
--- additional IP objects
-
-ipRoutingDiscards OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of routing entries which were chosen
- to be discarded even though they are valid. One
- possible reason for discarding such an entry could
- be to free-up buffer space for other routing
- entries."
- ::= { ip 23 }
-
-
--- the ICMP group
-
--- Implementation of the ICMP group is mandatory for all
--- systems.
-
-icmpInMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of ICMP messages which the
- entity received. Note that this counter includes
- all those counted by icmpInErrors."
- ::= { icmp 1 }
-
-icmpInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP messages which the entity
- received but determined as having ICMP-specific
- errors (bad ICMP checksums, bad length, etc.)."
- ::= { icmp 2 }
-
-icmpInDestUnreachs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Destination Unreachable
- messages received."
- ::= { icmp 3 }
-
-icmpInTimeExcds OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Time Exceeded messages
- received."
- ::= { icmp 4 }
-
-icmpInParmProbs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Parameter Problem messages
- received."
- ::= { icmp 5 }
-
-icmpInSrcQuenchs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Source Quench messages
- received."
- ::= { icmp 6 }
-
-icmpInRedirects OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Redirect messages received."
- ::= { icmp 7 }
-
-icmpInEchos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Echo (request) messages
- received."
- ::= { icmp 8 }
-
-icmpInEchoReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Echo Reply messages received."
- ::= { icmp 9 }
-
-icmpInTimestamps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Timestamp (request) messages
- received."
- ::= { icmp 10 }
-
-icmpInTimestampReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Timestamp Reply messages
- received."
- ::= { icmp 11 }
-
-icmpInAddrMasks OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Address Mask Request messages
- received."
- ::= { icmp 12 }
-
-icmpInAddrMaskReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Address Mask Reply messages
- received."
- ::= { icmp 13 }
-
-icmpOutMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of ICMP messages which this
- entity attempted to send. Note that this counter
- includes all those counted by icmpOutErrors."
- ::= { icmp 14 }
-
-icmpOutErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP messages which this entity did
- not send due to problems discovered within ICMP
- such as a lack of buffers. This value should not
- include errors discovered outside the ICMP layer
- such as the inability of IP to route the resultant
- datagram. In some implementations there may be no
- types of error which contribute to this counter's
- value."
- ::= { icmp 15 }
-
-icmpOutDestUnreachs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Destination Unreachable
- messages sent."
- ::= { icmp 16 }
-
-icmpOutTimeExcds OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Time Exceeded messages sent."
- ::= { icmp 17 }
-
-icmpOutParmProbs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Parameter Problem messages
- sent."
- ::= { icmp 18 }
-
-icmpOutSrcQuenchs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Source Quench messages sent."
- ::= { icmp 19 }
-
-icmpOutRedirects OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Redirect messages sent. For a
- host, this object will always be zero, since hosts
- do not send redirects."
- ::= { icmp 20 }
-
-icmpOutEchos OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Echo (request) messages sent."
- ::= { icmp 21 }
-
-icmpOutEchoReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Echo Reply messages sent."
- ::= { icmp 22 }
-
-icmpOutTimestamps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Timestamp (request) messages
- sent."
- ::= { icmp 23 }
-
-icmpOutTimestampReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Timestamp Reply messages
- sent."
- ::= { icmp 24 }
-
-icmpOutAddrMasks OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Address Mask Request messages
- sent."
- ::= { icmp 25 }
-
-icmpOutAddrMaskReps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of ICMP Address Mask Reply messages
- sent."
- ::= { icmp 26 }
-
-
--- the TCP group
-
--- Implementation of the TCP group is mandatory for all
--- systems that implement the TCP.
-
--- Note that instances of object types that represent
--- information about a particular TCP connection are
--- transient; they persist only as long as the connection
--- in question.
-
-tcpRtoAlgorithm OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
-
- constant(2), -- a constant rto
- rsre(3), -- MIL-STD-1778, Appendix B
- vanj(4) -- Van Jacobson's algorithm [10]
- }
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The algorithm used to determine the timeout value
- used for retransmitting unacknowledged octets."
- ::= { tcp 1 }
-
-tcpRtoMin OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The minimum value permitted by a TCP
- implementation for the retransmission timeout,
- measured in milliseconds. More refined semantics
- for objects of this type depend upon the algorithm
- used to determine the retransmission timeout. In
- particular, when the timeout algorithm is rsre(3),
- an object of this type has the semantics of the
- LBOUND quantity described in RFC 793."
- ::= { tcp 2 }
-
-
-tcpRtoMax OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The maximum value permitted by a TCP
- implementation for the retransmission timeout,
- measured in milliseconds. More refined semantics
- for objects of this type depend upon the algorithm
- used to determine the retransmission timeout. In
- particular, when the timeout algorithm is rsre(3),
- an object of this type has the semantics of the
- UBOUND quantity described in RFC 793."
- ::= { tcp 3 }
-
-tcpMaxConn OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The limit on the total number of TCP connections
- the entity can support. In entities where the
- maximum number of connections is dynamic, this
- object should contain the value -1."
- ::= { tcp 4 }
-
-tcpActiveOpens OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of times TCP connections have made a
- direct transition to the SYN-SENT state from the
- CLOSED state."
- ::= { tcp 5 }
-
-tcpPassiveOpens OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of times TCP connections have made a
- direct transition to the SYN-RCVD state from the
- LISTEN state."
- ::= { tcp 6 }
-
-tcpAttemptFails OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of times TCP connections have made a
- direct transition to the CLOSED state from either
- the SYN-SENT state or the SYN-RCVD state, plus the
- number of times TCP connections have made a direct
- transition to the LISTEN state from the SYN-RCVD
- state."
- ::= { tcp 7 }
-
-tcpEstabResets OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of times TCP connections have made a
- direct transition to the CLOSED state from either
- the ESTABLISHED state or the CLOSE-WAIT state."
- ::= { tcp 8 }
-
-tcpCurrEstab OBJECT-TYPE
- SYNTAX Gauge
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of TCP connections for which the
- current state is either ESTABLISHED or CLOSE-
- WAIT."
- ::= { tcp 9 }
-
-tcpInSegs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of segments received, including
- those received in error. This count includes
- segments received on currently established
- connections."
- ::= { tcp 10 }
-
-tcpOutSegs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of segments sent, including
- those on current connections but excluding those
- containing only retransmitted octets."
- ::= { tcp 11 }
-
-tcpRetransSegs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of segments retransmitted - that
- is, the number of TCP segments transmitted
- containing one or more previously transmitted
- octets."
- ::= { tcp 12 }
-
-
--- the TCP Connection table
-
--- The TCP connection table contains information about this
--- entity's existing TCP connections.
-
-tcpConnTable OBJECT-TYPE
- SYNTAX SEQUENCE OF TcpConnEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "A table containing TCP connection-specific
- information."
- ::= { tcp 13 }
-
-tcpConnEntry OBJECT-TYPE
- SYNTAX TcpConnEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "Information about a particular current TCP
- connection. An object of this type is transient,
- in that it ceases to exist when (or soon after)
- the connection makes the transition to the CLOSED
- state."
- INDEX { tcpConnLocalAddress,
- tcpConnLocalPort,
- tcpConnRemAddress,
- tcpConnRemPort }
- ::= { tcpConnTable 1 }
-
-TcpConnEntry ::=
- SEQUENCE {
- tcpConnState
- INTEGER,
- tcpConnLocalAddress
- IpAddress,
- tcpConnLocalPort
- INTEGER (0..65535),
- tcpConnRemAddress
- IpAddress,
- tcpConnRemPort
- INTEGER (0..65535)
- }
-
-tcpConnState OBJECT-TYPE
- SYNTAX INTEGER {
- closed(1),
- listen(2),
- synSent(3),
- synReceived(4),
- established(5),
- finWait1(6),
- finWait2(7),
- closeWait(8),
- lastAck(9),
- closing(10),
- timeWait(11),
- deleteTCB(12)
- }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The state of this TCP connection.
-
- The only value which may be set by a management
- station is deleteTCB(12). Accordingly, it is
- appropriate for an agent to return a `badValue'
- response if a management station attempts to set
- this object to any other value.
-
- If a management station sets this object to the
- value deleteTCB(12), then this has the effect of
- deleting the TCB (as defined in RFC 793) of the
- corresponding connection on the managed node,
- resulting in immediate termination of the
- connection.
-
- As an implementation-specific option, a RST
- segment may be sent from the managed node to the
- other TCP endpoint (note however that RST segments
- are not sent reliably)."
- ::= { tcpConnEntry 1 }
-
-tcpConnLocalAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The local IP address for this TCP connection. In
- the case of a connection in the listen state which
- is willing to accept connections for any IP
- interface associated with the node, the value
- 0.0.0.0 is used."
- ::= { tcpConnEntry 2 }
-
-tcpConnLocalPort OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The local port number for this TCP connection."
- ::= { tcpConnEntry 3 }
-
-tcpConnRemAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The remote IP address for this TCP connection."
- ::= { tcpConnEntry 4 }
-
-tcpConnRemPort OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The remote port number for this TCP connection."
- ::= { tcpConnEntry 5 }
-
-
--- additional TCP objects
-
-tcpInErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of segments received in error
- (e.g., bad TCP checksums)."
- ::= { tcp 14 }
-
-tcpOutRsts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of TCP segments sent containing the
- RST flag."
- ::= { tcp 15 }
-
-
--- the UDP group
-
--- Implementation of the UDP group is mandatory for all
--- systems which implement the UDP.
-
-udpInDatagrams OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of UDP datagrams delivered to
- UDP users."
- ::= { udp 1 }
-
-udpNoPorts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of received UDP datagrams for
- which there was no application at the destination
- port."
- ::= { udp 2 }
-
-udpInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of received UDP datagrams that could
- not be delivered for reasons other than the lack
- of an application at the destination port."
- ::= { udp 3 }
-
-udpOutDatagrams OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of UDP datagrams sent from this
- entity."
- ::= { udp 4 }
-
-
--- the UDP Listener table
-
--- The UDP listener table contains information about this
--- entity's UDP end-points on which a local application is
--- currently accepting datagrams.
-
-udpTable OBJECT-TYPE
- SYNTAX SEQUENCE OF UdpEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "A table containing UDP listener information."
- ::= { udp 5 }
-
-udpEntry OBJECT-TYPE
- SYNTAX UdpEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "Information about a particular current UDP
- listener."
- INDEX { udpLocalAddress, udpLocalPort }
- ::= { udpTable 1 }
-
-UdpEntry ::=
- SEQUENCE {
- udpLocalAddress
- IpAddress,
- udpLocalPort
- INTEGER (0..65535)
- }
-
-udpLocalAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The local IP address for this UDP listener. In
- the case of a UDP listener which is willing to
- accept datagrams for any IP interface associated
- with the node, the value 0.0.0.0 is used."
- ::= { udpEntry 1 }
-
-udpLocalPort OBJECT-TYPE
- SYNTAX INTEGER (0..65535)
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The local port number for this UDP listener."
- ::= { udpEntry 2 }
-
-
--- the EGP group
-
--- Implementation of the EGP group is mandatory for all
--- systems which implement the EGP.
-
-egpInMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP messages received without
- error."
- ::= { egp 1 }
-
-egpInErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP messages received that proved
- to be in error."
- ::= { egp 2 }
-
-egpOutMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of locally generated EGP
- messages."
- ::= { egp 3 }
-
-egpOutErrors OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of locally generated EGP messages not
- sent due to resource limitations within an EGP
- entity."
- ::= { egp 4 }
-
-
--- the EGP Neighbor table
-
--- The EGP neighbor table contains information about this
--- entity's EGP neighbors.
-
-egpNeighTable OBJECT-TYPE
- SYNTAX SEQUENCE OF EgpNeighEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "The EGP neighbor table."
- ::= { egp 5 }
-
-egpNeighEntry OBJECT-TYPE
- SYNTAX EgpNeighEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "Information about this entity's relationship with
- a particular EGP neighbor."
- INDEX { egpNeighAddr }
- ::= { egpNeighTable 1 }
-
-EgpNeighEntry ::=
- SEQUENCE {
- egpNeighState
- INTEGER,
- egpNeighAddr
- IpAddress,
- egpNeighAs
- INTEGER,
- egpNeighInMsgs
- Counter,
- egpNeighInErrs
- Counter,
- egpNeighOutMsgs
- Counter,
- egpNeighOutErrs
- Counter,
- egpNeighInErrMsgs
- Counter,
- egpNeighOutErrMsgs
- Counter,
- egpNeighStateUps
- Counter,
- egpNeighStateDowns
- Counter,
- egpNeighIntervalHello
- INTEGER,
- egpNeighIntervalPoll
- INTEGER,
- egpNeighMode
- INTEGER,
- egpNeighEventTrigger
- INTEGER
- }
-
-egpNeighState OBJECT-TYPE
- SYNTAX INTEGER {
- idle(1),
- acquisition(2),
- down(3),
- up(4),
- cease(5)
- }
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The EGP state of the local system with respect to
- this entry's EGP neighbor. Each EGP state is
- represented by a value that is one greater than
- the numerical value associated with said state in
- RFC 904."
- ::= { egpNeighEntry 1 }
-
-egpNeighAddr OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The IP address of this entry's EGP neighbor."
- ::= { egpNeighEntry 2 }
-
-egpNeighAs OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The autonomous system of this EGP peer. Zero
- should be specified if the autonomous system
- number of the neighbor is not yet known."
- ::= { egpNeighEntry 3 }
-
-egpNeighInMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP messages received without error
- from this EGP peer."
- ::= { egpNeighEntry 4 }
-
-egpNeighInErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP messages received from this EGP
- peer that proved to be in error (e.g., bad EGP
- checksum)."
- ::= { egpNeighEntry 5 }
-
-egpNeighOutMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of locally generated EGP messages to
- this EGP peer."
- ::= { egpNeighEntry 6 }
-
-egpNeighOutErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of locally generated EGP messages not
- sent to this EGP peer due to resource limitations
- within an EGP entity."
- ::= { egpNeighEntry 7 }
-
-egpNeighInErrMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP-defined error messages received
- from this EGP peer."
- ::= { egpNeighEntry 8 }
-
-egpNeighOutErrMsgs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP-defined error messages sent to
- this EGP peer."
- ::= { egpNeighEntry 9 }
-
-egpNeighStateUps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP state transitions to the UP
- state with this EGP peer."
- ::= { egpNeighEntry 10 }
-
-egpNeighStateDowns OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The number of EGP state transitions from the UP
- state to any other state with this EGP peer."
- ::= { egpNeighEntry 11 }
-
-egpNeighIntervalHello OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The interval between EGP Hello command
- retransmissions (in hundredths of a second). This
- represents the t1 timer as defined in RFC 904."
- ::= { egpNeighEntry 12 }
-
-egpNeighIntervalPoll OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The interval between EGP poll command
- retransmissions (in hundredths of a second). This
- represents the t3 timer as defined in RFC 904."
- ::= { egpNeighEntry 13 }
-
-egpNeighMode OBJECT-TYPE
- SYNTAX INTEGER { active(1), passive(2) }
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The polling mode of this EGP entity, either
- passive or active."
- ::= { egpNeighEntry 14 }
-
-egpNeighEventTrigger OBJECT-TYPE
- SYNTAX INTEGER { start(1), stop(2) }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "A control variable used to trigger operator-
- initiated Start and Stop events. When read, this
- variable always returns the most recent value that
- egpNeighEventTrigger was set to. If it has not
- been set since the last initialization of the
- network management subsystem on the node, it
- returns a value of `stop'.
-
- When set, this variable causes a Start or Stop
- event on the specified neighbor, as specified on
- pages 8-10 of RFC 904. Briefly, a Start event
- causes an Idle peer to begin neighbor acquisition
- and a non-Idle peer to reinitiate neighbor
- acquisition. A stop event causes a non-Idle peer
- to return to the Idle state until a Start event
- occurs, either via egpNeighEventTrigger or
- otherwise."
- ::= { egpNeighEntry 15 }
-
-
--- additional EGP objects
-
-egpAs OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The autonomous system number of this EGP entity."
- ::= { egp 6 }
-
--- the Transmission group
-
--- Based on the transmission media underlying each interface
--- on a system, the corresponding portion of the Transmission
--- group is mandatory for that system.
-
--- When Internet-standard definitions for managing
--- transmission media are defined, the transmission group is
--- used to provide a prefix for the names of those objects.
-
--- Typically, such definitions reside in the experimental
--- portion of the MIB until they are "proven", then as a
--- part of the Internet standardization process, the
--- definitions are accordingly elevated and a new object
--- identifier, under the transmission group is defined. By
--- convention, the name assigned is:
---
--- type OBJECT IDENTIFIER ::= { transmission number }
---
--- where "type" is the symbolic value used for the media in
--- the ifType column of the ifTable object, and "number" is
--- the actual integer value corresponding to the symbol.
-
-
--- the SNMP group
-
--- Implementation of the SNMP group is mandatory for all
--- systems which support an SNMP protocol entity. Some of
--- the objects defined below will be zero-valued in those
--- SNMP implementations that are optimized to support only
--- those functions specific to either a management agent or
--- a management station. In particular, it should be
--- observed that the objects below refer to an SNMP entity,
--- and there may be several SNMP entities residing on a
--- managed node (e.g., if the node is hosting acting as
--- a management station).
-
-snmpInPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of Messages delivered to the
- SNMP entity from the transport service."
- ::= { snmp 1 }
-
-snmpOutPkts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Messages which were
- passed from the SNMP protocol entity to the
- transport service."
- ::= { snmp 2 }
-
-snmpInBadVersions OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Messages which were
- delivered to the SNMP protocol entity and were for
- an unsupported SNMP version."
- ::= { snmp 3 }
-
-snmpInBadCommunityNames OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Messages delivered to
- the SNMP protocol entity which used a SNMP
- community name not known to said entity."
- ::= { snmp 4 }
-
-snmpInBadCommunityUses OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Messages delivered to
- the SNMP protocol entity which represented an SNMP
- operation which was not allowed by the SNMP
- community named in the Message."
- ::= { snmp 5 }
-
-snmpInASNParseErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of ASN.1 or BER errors
- encountered by the SNMP protocol entity when
- decoding received SNMP Messages."
- ::= { snmp 6 }
-
--- { snmp 7 } is not used
-
-snmpInTooBigs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field is
- `tooBig'."
- ::= { snmp 8 }
-
-snmpInNoSuchNames OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field is
- `noSuchName'."
- ::= { snmp 9 }
-
-snmpInBadValues OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field is
- `badValue'."
- ::= { snmp 10 }
-
-snmpInReadOnlys OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number valid SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field is
- `readOnly'. It should be noted that it is a
- protocol error to generate an SNMP PDU which
- contains the value `readOnly' in the error-status
- field, as such this object is provided as a means
- of detecting incorrect implementations of the
- SNMP."
- ::= { snmp 11 }
-
-snmpInGenErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field is
- `genErr'."
- ::= { snmp 12 }
-
-snmpInTotalReqVars OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of MIB objects which have been
- retrieved successfully by the SNMP protocol entity
- as the result of receiving valid SNMP Get-Request
- and Get-Next PDUs."
- ::= { snmp 13 }
-
-snmpInTotalSetVars OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of MIB objects which have been
- altered successfully by the SNMP protocol entity
- as the result of receiving valid SNMP Set-Request
- PDUs."
- ::= { snmp 14 }
-
-snmpInGetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Get-Request PDUs which
- have been accepted and processed by the SNMP
- protocol entity."
- ::= { snmp 15 }
-
-snmpInGetNexts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Get-Next PDUs which have
- been accepted and processed by the SNMP protocol
- entity."
- ::= { snmp 16 }
-
-snmpInSetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Set-Request PDUs which
- have been accepted and processed by the SNMP
- protocol entity."
- ::= { snmp 17 }
-
-snmpInGetResponses OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Get-Response PDUs which
- have been accepted and processed by the SNMP
- protocol entity."
- ::= { snmp 18 }
-
-snmpInTraps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Trap PDUs which have
- been accepted and processed by the SNMP protocol
- entity."
- ::= { snmp 19 }
-
-snmpOutTooBigs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- generated by the SNMP protocol entity and for
- which the value of the error-status field is
- `tooBig.'"
- ::= { snmp 20 }
-
-snmpOutNoSuchNames OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- generated by the SNMP protocol entity and for
- which the value of the error-status is
- `noSuchName'."
- ::= { snmp 21 }
-
-snmpOutBadValues OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- generated by the SNMP protocol entity and for
- which the value of the error-status field is
- `badValue'."
- ::= { snmp 22 }
-
--- { snmp 23 } is not used
-
-snmpOutGenErrs OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP PDUs which were
- generated by the SNMP protocol entity and for
- which the value of the error-status field is
- `genErr'."
- ::= { snmp 24 }
-
-snmpOutGetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Get-Request PDUs which
- have been generated by the SNMP protocol entity."
- ::= { snmp 25 }
-
-snmpOutGetNexts OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Get-Next PDUs which have
- been generated by the SNMP protocol entity."
- ::= { snmp 26 }
-
-snmpOutSetRequests OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Set-Request PDUs which
- have been generated by the SNMP protocol entity."
- ::= { snmp 27 }
-
-snmpOutGetResponses OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Get-Response PDUs which
- have been generated by the SNMP protocol entity."
- ::= { snmp 28 }
-
-snmpOutTraps OBJECT-TYPE
- SYNTAX Counter
- ACCESS read-only
- STATUS mandatory
- DESCRIPTION
- "The total number of SNMP Trap PDUs which have
- been generated by the SNMP protocol entity."
- ::= { snmp 29 }
-
-snmpEnableAuthenTraps OBJECT-TYPE
- SYNTAX INTEGER { enabled(1), disabled(2) }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "Indicates whether the SNMP agent process is
- permitted to generate authentication-failure
- traps. The value of this object overrides any
- configuration information; as such, it provides a
- means whereby all authentication-failure traps may
- be disabled.
-
- Note that it is strongly recommended that this
- object be stored in non-volatile memory so that it
- remains constant between re-initializations of the
- network management system."
- ::= { snmp 30 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-CONF b/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-CONF
deleted file mode 100644
index 904dbbb2..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-CONF
+++ /dev/null
@@ -1,318 +0,0 @@
-SNMPv2-CONF DEFINITIONS ::= BEGIN
-
-IMPORTS ObjectName, NotificationName, ObjectSyntax
- FROM SNMPv2-SMI;
-
--- definitions for conformance groups
-
-OBJECT-GROUP MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- ObjectsPart
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- ObjectsPart ::=
- "OBJECTS" "{" Objects "}"
- Objects ::=
- Object
- | Objects "," Object
- Object ::=
- value(ObjectName)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- a character string as defined in [2]
- Text ::= value(IA5String)
-END
-
--- more definitions for conformance groups
-
-NOTIFICATION-GROUP MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- NotificationsPart
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- NotificationsPart ::=
- "NOTIFICATIONS" "{" Notifications "}"
- Notifications ::=
- Notification
- | Notifications "," Notification
- Notification ::=
- value(NotificationName)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- a character string as defined in [2]
- Text ::= value(IA5String)
-END
-
--- definitions for compliance statements
-
-MODULE-COMPLIANCE MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
- ModulePart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- ModulePart ::=
- Modules
- Modules ::=
- Module
- | Modules Module
- Module ::=
- -- name of module --
- "MODULE" ModuleName
- MandatoryPart
- CompliancePart
-
- ModuleName ::=
- -- identifier must start with uppercase letter
- identifier ModuleIdentifier
- -- must not be empty unless contained
- -- in MIB Module
- | empty
- ModuleIdentifier ::=
- value(OBJECT IDENTIFIER)
- | empty
-
- MandatoryPart ::=
- "MANDATORY-GROUPS" "{" Groups "}"
- | empty
-
- Groups ::=
- Group
- | Groups "," Group
- Group ::=
- value(OBJECT IDENTIFIER)
-
- CompliancePart ::=
- Compliances
- | empty
-
- Compliances ::=
- Compliance
- | Compliances Compliance
- Compliance ::=
- ComplianceGroup
- | Object
-
- ComplianceGroup ::=
- "GROUP" value(OBJECT IDENTIFIER)
- "DESCRIPTION" Text
-
- Object ::=
- "OBJECT" value(ObjectName)
- SyntaxPart
- WriteSyntaxPart
- AccessPart
- "DESCRIPTION" Text
-
- -- must be a refinement for object's SYNTAX clause
- SyntaxPart ::= "SYNTAX" Syntax
- | empty
-
- -- must be a refinement for object's SYNTAX clause
- WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
- | empty
-
- Syntax ::= -- Must be one of the following:
- -- a base type (or its refinement),
- -- a textual convention (or its refinement), or
- -- a BITS pseudo-type
- type
- | "BITS" "{" NamedBits "}"
-
- NamedBits ::= NamedBit
- | NamedBits "," NamedBit
-
- NamedBit ::= identifier "(" number ")" -- number is nonnegative
-
- AccessPart ::=
- "MIN-ACCESS" Access
- | empty
- Access ::=
- "not-accessible"
- | "accessible-for-notify"
- | "read-only"
- | "read-write"
- | "read-create"
-
- -- a character string as defined in [2]
- Text ::= value(IA5String)
-END
-
--- definitions for capabilities statements
-
-AGENT-CAPABILITIES MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- "PRODUCT-RELEASE" Text
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
- ModulePart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- Status ::=
- "current"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- ModulePart ::=
- Modules
- | empty
- Modules ::=
- Module
- | Modules Module
- Module ::=
- -- name of module --
- "SUPPORTS" ModuleName
- "INCLUDES" "{" Groups "}"
- VariationPart
-
- ModuleName ::=
- -- identifier must start with uppercase letter
- identifier ModuleIdentifier
- ModuleIdentifier ::=
- value(OBJECT IDENTIFIER)
- | empty
-
- Groups ::=
- Group
- | Groups "," Group
- Group ::=
- value(OBJECT IDENTIFIER)
-
- VariationPart ::=
- Variations
- | empty
- Variations ::=
- Variation
- | Variations Variation
-
- Variation ::=
- ObjectVariation
- | NotificationVariation
-
- NotificationVariation ::=
- "VARIATION" value(NotificationName)
- AccessPart
- "DESCRIPTION" Text
-
- ObjectVariation ::=
- "VARIATION" value(ObjectName)
- SyntaxPart
- WriteSyntaxPart
- AccessPart
- CreationPart
- DefValPart
- "DESCRIPTION" Text
-
- -- must be a refinement for object's SYNTAX clause
- SyntaxPart ::= "SYNTAX" Syntax
- | empty
-
- WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
- | empty
-
- Syntax ::= -- Must be one of the following:
- -- a base type (or its refinement),
- -- a textual convention (or its refinement), or
- -- a BITS pseudo-type
- type
- | "BITS" "{" NamedBits "}"
-
- NamedBits ::= NamedBit
- | NamedBits "," NamedBit
-
- NamedBit ::= identifier "(" number ")" -- number is nonnegative
-
- AccessPart ::=
- "ACCESS" Access
- | empty
-
- Access ::=
- "not-implemented"
- -- only "not-implemented" for notifications
- | "accessible-for-notify"
- | "read-only"
- | "read-write"
- | "read-create"
- -- following is for backward-compatibility only
- | "write-only"
-
- CreationPart ::=
- "CREATION-REQUIRES" "{" Cells "}"
- | empty
- Cells ::=
- Cell
- | Cells "," Cell
- Cell ::=
- value(ObjectName)
-
- DefValPart ::= "DEFVAL" "{" Defvalue "}"
- | empty
-
- Defvalue ::= -- must be valid for the object's syntax
- -- in this macro's SYNTAX clause, if present,
- -- or if not, in object's OBJECT-TYPE macro
- value(ObjectSyntax)
- | "{" BitsValue "}"
-
- BitsValue ::= BitNames
- | empty
-
- BitNames ::= BitName
- | BitNames "," BitName
-
- BitName ::= identifier
-
- -- a character string as defined in [2]
- Text ::= value(IA5String)
-END
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-MIB
deleted file mode 100644
index 9494e42c..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-MIB
+++ /dev/null
@@ -1,903 +0,0 @@
-SNMPv2-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
- TimeTicks, Counter32, snmpModules, mib-2
- FROM SNMPv2-SMI
- DisplayString, TestAndIncr, TimeStamp
-
-
-
- FROM SNMPv2-TC
- MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
- FROM SNMPv2-CONF;
-
-snmpMIB MODULE-IDENTITY
- LAST-UPDATED "200210160000Z"
- ORGANIZATION "IETF SNMPv3 Working Group"
- CONTACT-INFO
- "WG-EMail: snmpv3@lists.tislabs.com
- Subscribe: snmpv3-request@lists.tislabs.com
-
- Co-Chair: Russ Mundy
- Network Associates Laboratories
- postal: 15204 Omega Drive, Suite 300
- Rockville, MD 20850-4601
- USA
- EMail: mundy@tislabs.com
- phone: +1 301 947-7107
-
- Co-Chair: David Harrington
- Enterasys Networks
- postal: 35 Industrial Way
- P. O. Box 5005
- Rochester, NH 03866-5005
- USA
- EMail: dbh@enterasys.com
- phone: +1 603 337-2614
-
- Editor: Randy Presuhn
- BMC Software, Inc.
- postal: 2141 North First Street
- San Jose, CA 95131
- USA
- EMail: randy_presuhn@bmc.com
- phone: +1 408 546-1006"
- DESCRIPTION
- "The MIB module for SNMP entities.
-
- Copyright (C) The Internet Society (2002). This
- version of this MIB module is part of RFC 3418;
- see the RFC itself for full legal notices.
- "
- REVISION "200210160000Z"
- DESCRIPTION
- "This revision of this MIB module was published as
- RFC 3418."
- REVISION "199511090000Z"
- DESCRIPTION
-
-
-
- "This revision of this MIB module was published as
- RFC 1907."
- REVISION "199304010000Z"
- DESCRIPTION
- "The initial revision of this MIB module was published
- as RFC 1450."
- ::= { snmpModules 1 }
-
-snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
-
--- ::= { snmpMIBObjects 1 } this OID is obsolete
--- ::= { snmpMIBObjects 2 } this OID is obsolete
--- ::= { snmpMIBObjects 3 } this OID is obsolete
-
--- the System group
---
--- a collection of objects common to all managed systems.
-
-system OBJECT IDENTIFIER ::= { mib-2 1 }
-
-sysDescr OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A textual description of the entity. This value should
- include the full name and version identification of
- the system's hardware type, software operating-system,
- and networking software."
- ::= { system 1 }
-
-sysObjectID OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The vendor's authoritative identification of the
- network management subsystem contained in the entity.
- This value is allocated within the SMI enterprises
- subtree (1.3.6.1.4.1) and provides an easy and
- unambiguous means for determining `what kind of box' is
- being managed. For example, if vendor `Flintstones,
- Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
- it could assign the identifier 1.3.6.1.4.1.424242.1.1
- to its `Fred Router'."
- ::= { system 2 }
-
-sysUpTime OBJECT-TYPE
-
-
-
- SYNTAX TimeTicks
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The time (in hundredths of a second) since the
- network management portion of the system was last
- re-initialized."
- ::= { system 3 }
-
-sysContact OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The textual identification of the contact person for
- this managed node, together with information on how
- to contact this person. If no contact information is
- known, the value is the zero-length string."
- ::= { system 4 }
-
-sysName OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "An administratively-assigned name for this managed
- node. By convention, this is the node's fully-qualified
- domain name. If the name is unknown, the value is
- the zero-length string."
- ::= { system 5 }
-
-sysLocation OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The physical location of this node (e.g., 'telephone
- closet, 3rd floor'). If the location is unknown, the
- value is the zero-length string."
- ::= { system 6 }
-
-sysServices OBJECT-TYPE
- SYNTAX INTEGER (0..127)
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A value which indicates the set of services that this
- entity may potentially offer. The value is a sum.
-
-
-
- This sum initially takes the value zero. Then, for
- each layer, L, in the range 1 through 7, that this node
- performs transactions for, 2 raised to (L - 1) is added
- to the sum. For example, a node which performs only
- routing functions would have a value of 4 (2^(3-1)).
- In contrast, a node which is a host offering application
- services would have a value of 72 (2^(4-1) + 2^(7-1)).
- Note that in the context of the Internet suite of
- protocols, values should be calculated accordingly:
-
- layer functionality
- 1 physical (e.g., repeaters)
- 2 datalink/subnetwork (e.g., bridges)
- 3 internet (e.g., supports the IP)
- 4 end-to-end (e.g., supports the TCP)
- 7 applications (e.g., supports the SMTP)
-
- For systems including OSI protocols, layers 5 and 6
- may also be counted."
- ::= { system 7 }
-
--- object resource information
---
--- a collection of objects which describe the SNMP entity's
--- (statically and dynamically configurable) support of
--- various MIB modules.
-
-sysORLastChange OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time of the most recent
- change in state or value of any instance of sysORID."
- ::= { system 8 }
-
-sysORTable OBJECT-TYPE
- SYNTAX SEQUENCE OF SysOREntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The (conceptual) table listing the capabilities of
- the local SNMP application acting as a command
- responder with respect to various MIB modules.
- SNMP entities having dynamically-configurable support
- of MIB modules will have a dynamically-varying number
- of conceptual rows."
- ::= { system 9 }
-
-
-
-sysOREntry OBJECT-TYPE
- SYNTAX SysOREntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry (conceptual row) in the sysORTable."
- INDEX { sysORIndex }
- ::= { sysORTable 1 }
-
-SysOREntry ::= SEQUENCE {
- sysORIndex INTEGER,
- sysORID OBJECT IDENTIFIER,
- sysORDescr DisplayString,
- sysORUpTime TimeStamp
-}
-
-sysORIndex OBJECT-TYPE
- SYNTAX INTEGER (1..2147483647)
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The auxiliary variable used for identifying instances
- of the columnar objects in the sysORTable."
- ::= { sysOREntry 1 }
-
-sysORID OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "An authoritative identification of a capabilities
- statement with respect to various MIB modules supported
- by the local SNMP application acting as a command
- responder."
- ::= { sysOREntry 2 }
-
-sysORDescr OBJECT-TYPE
- SYNTAX DisplayString
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A textual description of the capabilities identified
- by the corresponding instance of sysORID."
- ::= { sysOREntry 3 }
-
-sysORUpTime OBJECT-TYPE
- SYNTAX TimeStamp
- MAX-ACCESS read-only
-
-
-
- STATUS current
- DESCRIPTION
- "The value of sysUpTime at the time this conceptual
- row was last instantiated."
- ::= { sysOREntry 4 }
-
-
--- the SNMP group
---
--- a collection of objects providing basic instrumentation and
--- control of an SNMP entity.
-
-snmp OBJECT IDENTIFIER ::= { mib-2 11 }
-
-snmpInPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of messages delivered to the SNMP
- entity from the transport service."
- ::= { snmp 1 }
-
-snmpInBadVersions OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of SNMP messages which were delivered
- to the SNMP entity and were for an unsupported SNMP
- version."
- ::= { snmp 3 }
-
-snmpInBadCommunityNames OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of community-based SNMP messages (for
- example, SNMPv1) delivered to the SNMP entity which
- used an SNMP community name not known to said entity.
- Also, implementations which authenticate community-based
- SNMP messages using check(s) in addition to matching
- the community name (for example, by also checking
- whether the message originated from a transport address
- allowed to use a specified community name) MAY include
- in this value the number of messages which failed the
- additional check(s). It is strongly RECOMMENDED that
-
-
-
- the documentation for any security model which is used
- to authenticate community-based SNMP messages specify
- the precise conditions that contribute to this value."
- ::= { snmp 4 }
-
-snmpInBadCommunityUses OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of community-based SNMP messages (for
- example, SNMPv1) delivered to the SNMP entity which
- represented an SNMP operation that was not allowed for
- the SNMP community named in the message. The precise
- conditions under which this counter is incremented
- (if at all) depend on how the SNMP entity implements
- its access control mechanism and how its applications
- interact with that access control mechanism. It is
- strongly RECOMMENDED that the documentation for any
- access control mechanism which is used to control access
- to and visibility of MIB instrumentation specify the
- precise conditions that contribute to this value."
- ::= { snmp 5 }
-
-snmpInASNParseErrs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of ASN.1 or BER errors encountered by
- the SNMP entity when decoding received SNMP messages."
- ::= { snmp 6 }
-
-snmpEnableAuthenTraps OBJECT-TYPE
- SYNTAX INTEGER { enabled(1), disabled(2) }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "Indicates whether the SNMP entity is permitted to
- generate authenticationFailure traps. The value of this
- object overrides any configuration information; as such,
- it provides a means whereby all authenticationFailure
- traps may be disabled.
-
- Note that it is strongly recommended that this object
- be stored in non-volatile memory so that it remains
- constant across re-initializations of the network
- management system."
-
-
-
- ::= { snmp 30 }
-
-snmpSilentDrops OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of Confirmed Class PDUs (such as
- GetRequest-PDUs, GetNextRequest-PDUs,
- GetBulkRequest-PDUs, SetRequest-PDUs, and
- InformRequest-PDUs) delivered to the SNMP entity which
- were silently dropped because the size of a reply
- containing an alternate Response Class PDU (such as a
- Response-PDU) with an empty variable-bindings field
- was greater than either a local constraint or the
- maximum message size associated with the originator of
- the request."
- ::= { snmp 31 }
-
-snmpProxyDrops OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of Confirmed Class PDUs
- (such as GetRequest-PDUs, GetNextRequest-PDUs,
- GetBulkRequest-PDUs, SetRequest-PDUs, and
- InformRequest-PDUs) delivered to the SNMP entity which
- were silently dropped because the transmission of
- the (possibly translated) message to a proxy target
- failed in a manner (other than a time-out) such that
- no Response Class PDU (such as a Response-PDU) could
- be returned."
- ::= { snmp 32 }
-
--- information for notifications
---
--- a collection of objects which allow the SNMP entity, when
--- supporting a notification originator application,
--- to be configured to generate SNMPv2-Trap-PDUs.
-
-snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
-
-snmpTrapOID OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS accessible-for-notify
- STATUS current
- DESCRIPTION
-
-
-
- "The authoritative identification of the notification
- currently being sent. This variable occurs as
- the second varbind in every SNMPv2-Trap-PDU and
- InformRequest-PDU."
- ::= { snmpTrap 1 }
-
--- ::= { snmpTrap 2 } this OID is obsolete
-
-snmpTrapEnterprise OBJECT-TYPE
- SYNTAX OBJECT IDENTIFIER
- MAX-ACCESS accessible-for-notify
- STATUS current
- DESCRIPTION
- "The authoritative identification of the enterprise
- associated with the trap currently being sent. When an
- SNMP proxy agent is mapping an RFC1157 Trap-PDU
- into a SNMPv2-Trap-PDU, this variable occurs as the
- last varbind."
- ::= { snmpTrap 3 }
-
--- ::= { snmpTrap 4 } this OID is obsolete
-
-
--- well-known traps
-
-snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
-
-coldStart NOTIFICATION-TYPE
- STATUS current
- DESCRIPTION
- "A coldStart trap signifies that the SNMP entity,
- supporting a notification originator application, is
- reinitializing itself and that its configuration may
- have been altered."
- ::= { snmpTraps 1 }
-
-warmStart NOTIFICATION-TYPE
- STATUS current
- DESCRIPTION
- "A warmStart trap signifies that the SNMP entity,
- supporting a notification originator application,
- is reinitializing itself such that its configuration
- is unaltered."
- ::= { snmpTraps 2 }
-
--- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
--- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
--- are defined in RFC 2863 [RFC2863]
-
-
-
-authenticationFailure NOTIFICATION-TYPE
- STATUS current
- DESCRIPTION
- "An authenticationFailure trap signifies that the SNMP
- entity has received a protocol message that is not
- properly authenticated. While all implementations
- of SNMP entities MAY be capable of generating this
- trap, the snmpEnableAuthenTraps object indicates
- whether this trap will be generated."
- ::= { snmpTraps 5 }
-
--- Note the egpNeighborLoss notification is defined
--- as { snmpTraps 6 } in RFC 1213
-
--- the set group
---
--- a collection of objects which allow several cooperating
--- command generator applications to coordinate their use of the
--- set operation.
-
-snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
-
-snmpSetSerialNo OBJECT-TYPE
- SYNTAX TestAndIncr
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "An advisory lock used to allow several cooperating
- command generator applications to coordinate their
- use of the SNMP set operation.
-
- This object is used for coarse-grain coordination.
- To achieve fine-grain coordination, one or more similar
- objects might be defined within each MIB group, as
- appropriate."
- ::= { snmpSet 1 }
-
--- conformance information
-
-snmpMIBConformance
- OBJECT IDENTIFIER ::= { snmpMIB 2 }
-
-snmpMIBCompliances
- OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
-snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
-
--- compliance statements
-
-
-
-
--- ::= { snmpMIBCompliances 1 } this OID is obsolete
-snmpBasicCompliance MODULE-COMPLIANCE
- STATUS deprecated
- DESCRIPTION
- "The compliance statement for SNMPv2 entities which
- implement the SNMPv2 MIB.
-
- This compliance statement is replaced by
- snmpBasicComplianceRev2."
- MODULE -- this module
- MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
- snmpBasicNotificationsGroup }
-
- GROUP snmpCommunityGroup
- DESCRIPTION
- "This group is mandatory for SNMPv2 entities which
- support community-based authentication."
-
- ::= { snmpMIBCompliances 2 }
-
-snmpBasicComplianceRev2 MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION
- "The compliance statement for SNMP entities which
- implement this MIB module."
- MODULE -- this module
- MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
- snmpBasicNotificationsGroup }
-
- GROUP snmpCommunityGroup
- DESCRIPTION
- "This group is mandatory for SNMP entities which
- support community-based authentication."
-
- GROUP snmpWarmStartNotificationGroup
- DESCRIPTION
- "This group is mandatory for an SNMP entity which
- supports command responder applications, and is
- able to reinitialize itself such that its
- configuration is unaltered."
-
- ::= { snmpMIBCompliances 3 }
-
--- units of conformance
-
--- ::= { snmpMIBGroups 1 } this OID is obsolete
--- ::= { snmpMIBGroups 2 } this OID is obsolete
--- ::= { snmpMIBGroups 3 } this OID is obsolete
-
-
-
--- ::= { snmpMIBGroups 4 } this OID is obsolete
-
-snmpGroup OBJECT-GROUP
- OBJECTS { snmpInPkts,
- snmpInBadVersions,
- snmpInASNParseErrs,
- snmpSilentDrops,
- snmpProxyDrops,
- snmpEnableAuthenTraps }
- STATUS current
- DESCRIPTION
- "A collection of objects providing basic instrumentation
- and control of an SNMP entity."
- ::= { snmpMIBGroups 8 }
-
-snmpCommunityGroup OBJECT-GROUP
- OBJECTS { snmpInBadCommunityNames,
- snmpInBadCommunityUses }
- STATUS current
- DESCRIPTION
- "A collection of objects providing basic instrumentation
- of a SNMP entity which supports community-based
- authentication."
- ::= { snmpMIBGroups 9 }
-
-snmpSetGroup OBJECT-GROUP
- OBJECTS { snmpSetSerialNo }
- STATUS current
- DESCRIPTION
- "A collection of objects which allow several cooperating
- command generator applications to coordinate their
- use of the set operation."
- ::= { snmpMIBGroups 5 }
-
-systemGroup OBJECT-GROUP
- OBJECTS { sysDescr, sysObjectID, sysUpTime,
- sysContact, sysName, sysLocation,
- sysServices,
- sysORLastChange, sysORID,
- sysORUpTime, sysORDescr }
- STATUS current
- DESCRIPTION
- "The system group defines objects which are common to all
- managed systems."
- ::= { snmpMIBGroups 6 }
-
-snmpBasicNotificationsGroup NOTIFICATION-GROUP
- NOTIFICATIONS { coldStart, authenticationFailure }
-
-
-
- STATUS current
- DESCRIPTION
- "The basic notifications implemented by an SNMP entity
- supporting command responder applications."
- ::= { snmpMIBGroups 7 }
-
-snmpWarmStartNotificationGroup NOTIFICATION-GROUP
- NOTIFICATIONS { warmStart }
- STATUS current
- DESCRIPTION
- "An additional notification for an SNMP entity supporting
- command responder applications, if it is able to reinitialize
- itself such that its configuration is unaltered."
- ::= { snmpMIBGroups 11 }
-
-snmpNotificationGroup OBJECT-GROUP
- OBJECTS { snmpTrapOID, snmpTrapEnterprise }
- STATUS current
- DESCRIPTION
- "These objects are required for entities
- which support notification originator applications."
- ::= { snmpMIBGroups 12 }
-
--- definitions in RFC 1213 made obsolete by the inclusion of a
--- subset of the snmp group in this MIB
-
-snmpOutPkts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Messages which were
- passed from the SNMP protocol entity to the
- transport service."
- ::= { snmp 2 }
-
--- { snmp 7 } is not used
-
-snmpInTooBigs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field was
- `tooBig'."
- ::= { snmp 8 }
-
-
-
-snmpInNoSuchNames OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field was
- `noSuchName'."
- ::= { snmp 9 }
-
-snmpInBadValues OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were
- delivered to the SNMP protocol entity and for
- which the value of the error-status field was
- `badValue'."
- ::= { snmp 10 }
-
-snmpInReadOnlys OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number valid SNMP PDUs which were delivered
- to the SNMP protocol entity and for which the value
- of the error-status field was `readOnly'. It should
- be noted that it is a protocol error to generate an
- SNMP PDU which contains the value `readOnly' in the
- error-status field, as such this object is provided
- as a means of detecting incorrect implementations of
- the SNMP."
- ::= { snmp 11 }
-
-snmpInGenErrs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were delivered
- to the SNMP protocol entity and for which the value
- of the error-status field was `genErr'."
- ::= { snmp 12 }
-
-snmpInTotalReqVars OBJECT-TYPE
-
-
-
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of MIB objects which have been
- retrieved successfully by the SNMP protocol entity
- as the result of receiving valid SNMP Get-Request
- and Get-Next PDUs."
- ::= { snmp 13 }
-
-snmpInTotalSetVars OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of MIB objects which have been
- altered successfully by the SNMP protocol entity as
- the result of receiving valid SNMP Set-Request PDUs."
- ::= { snmp 14 }
-
-snmpInGetRequests OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Get-Request PDUs which
- have been accepted and processed by the SNMP
- protocol entity."
- ::= { snmp 15 }
-
-snmpInGetNexts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Get-Next PDUs which have been
- accepted and processed by the SNMP protocol entity."
- ::= { snmp 16 }
-
-snmpInSetRequests OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Set-Request PDUs which
- have been accepted and processed by the SNMP protocol
- entity."
- ::= { snmp 17 }
-
-
-
-snmpInGetResponses OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Get-Response PDUs which
- have been accepted and processed by the SNMP protocol
- entity."
- ::= { snmp 18 }
-
-snmpInTraps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Trap PDUs which have been
- accepted and processed by the SNMP protocol entity."
- ::= { snmp 19 }
-
-snmpOutTooBigs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were generated
- by the SNMP protocol entity and for which the value
- of the error-status field was `tooBig.'"
- ::= { snmp 20 }
-
-snmpOutNoSuchNames OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were generated
- by the SNMP protocol entity and for which the value
- of the error-status was `noSuchName'."
- ::= { snmp 21 }
-
-snmpOutBadValues OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were generated
- by the SNMP protocol entity and for which the value
- of the error-status field was `badValue'."
- ::= { snmp 22 }
-
-
-
--- { snmp 23 } is not used
-
-snmpOutGenErrs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP PDUs which were generated
- by the SNMP protocol entity and for which the value
- of the error-status field was `genErr'."
- ::= { snmp 24 }
-
-snmpOutGetRequests OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Get-Request PDUs which
- have been generated by the SNMP protocol entity."
- ::= { snmp 25 }
-
-snmpOutGetNexts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Get-Next PDUs which have
- been generated by the SNMP protocol entity."
- ::= { snmp 26 }
-
-snmpOutSetRequests OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Set-Request PDUs which
- have been generated by the SNMP protocol entity."
- ::= { snmp 27 }
-
-snmpOutGetResponses OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Get-Response PDUs which
- have been generated by the SNMP protocol entity."
- ::= { snmp 28 }
-
-
-
-
-snmpOutTraps OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS obsolete
- DESCRIPTION
- "The total number of SNMP Trap PDUs which have
- been generated by the SNMP protocol entity."
- ::= { snmp 29 }
-
-snmpObsoleteGroup OBJECT-GROUP
- OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames,
- snmpInBadValues, snmpInReadOnlys, snmpInGenErrs,
- snmpInTotalReqVars, snmpInTotalSetVars,
- snmpInGetRequests, snmpInGetNexts, snmpInSetRequests,
- snmpInGetResponses, snmpInTraps, snmpOutTooBigs,
- snmpOutNoSuchNames, snmpOutBadValues,
- snmpOutGenErrs, snmpOutGetRequests, snmpOutGetNexts,
- snmpOutSetRequests, snmpOutGetResponses, snmpOutTraps
- }
- STATUS obsolete
- DESCRIPTION
- "A collection of objects from RFC 1213 made obsolete
- by this MIB module."
- ::= { snmpMIBGroups 10 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-SMI b/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-SMI
deleted file mode 100644
index 2132646c..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-SMI
+++ /dev/null
@@ -1,352 +0,0 @@
-SNMPv2-SMI DEFINITIONS ::= BEGIN
-
-
--- the path to the root
-
-org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1
-dod OBJECT IDENTIFIER ::= { org 6 }
-internet OBJECT IDENTIFIER ::= { dod 1 }
-
-directory OBJECT IDENTIFIER ::= { internet 1 }
-
-mgmt OBJECT IDENTIFIER ::= { internet 2 }
-mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
-transmission OBJECT IDENTIFIER ::= { mib-2 10 }
-
-experimental OBJECT IDENTIFIER ::= { internet 3 }
-
-private OBJECT IDENTIFIER ::= { internet 4 }
-enterprises OBJECT IDENTIFIER ::= { private 1 }
-
-security OBJECT IDENTIFIER ::= { internet 5 }
-
-snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
-
--- transport domains
-snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
-
--- transport proxies
-snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
-
--- module identities
-snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
-
--- Extended UTCTime, to allow dates with four-digit years
--- (Note that this definition of ExtUTCTime is not to be IMPORTed
--- by MIB modules.)
-ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
- -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
- -- where: YY - last two digits of year (only years
- -- between 1900-1999)
- -- YYYY - last four digits of the year (any year)
- -- MM - month (01 through 12)
- -- DD - day of month (01 through 31)
- -- HH - hours (00 through 23)
- -- MM - minutes (00 through 59)
- -- Z - denotes GMT (the ASCII character Z)
- --
- -- For example, "9502192015Z" and "199502192015Z" represent
- -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
- -- the four digit year format. Years 1900-1999 may use the
- -- two or four digit format.
-
--- definitions for information modules
-
-MODULE-IDENTITY MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- "LAST-UPDATED" value(Update ExtUTCTime)
- "ORGANIZATION" Text
- "CONTACT-INFO" Text
- "DESCRIPTION" Text
- RevisionPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- RevisionPart ::=
- Revisions
- | empty
- Revisions ::=
- Revision
- | Revisions Revision
- Revision ::=
- "REVISION" value(Update ExtUTCTime)
- "DESCRIPTION" Text
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
-END
-
-
-OBJECT-IDENTITY MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
-END
-
-
--- names of objects
--- (Note that these definitions of ObjectName and NotificationName
--- are not to be IMPORTed by MIB modules.)
-
-ObjectName ::=
- OBJECT IDENTIFIER
-
-NotificationName ::=
- OBJECT IDENTIFIER
-
--- syntax of objects
-
--- the "base types" defined here are:
--- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
--- 8 application-defined types: Integer32, IpAddress, Counter32,
--- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
-
-ObjectSyntax ::=
- CHOICE {
- simple
- SimpleSyntax,
-
- -- note that SEQUENCEs for conceptual tables and
- -- rows are not mentioned here...
-
- application-wide
- ApplicationSyntax
- }
-
--- built-in ASN.1 types
-
-SimpleSyntax ::=
- CHOICE {
- -- INTEGERs with a more restrictive range
- -- may also be used
- integer-value -- includes Integer32
- INTEGER (-2147483648..2147483647),
-
- -- OCTET STRINGs with a more restrictive size
- -- may also be used
- string-value
- OCTET STRING (SIZE (0..65535)),
-
- objectID-value
- OBJECT IDENTIFIER
- }
-
--- indistinguishable from INTEGER, but never needs more than
--- 32-bits for a two's complement representation
-Integer32 ::=
- INTEGER (-2147483648..2147483647)
-
-
--- application-wide types
-
-ApplicationSyntax ::=
- CHOICE {
- ipAddress-value
- IpAddress,
-
- counter-value
- Counter32,
-
- timeticks-value
- TimeTicks,
-
- arbitrary-value
- Opaque,
-
- big-counter-value
- Counter64,
-
- unsigned-integer-value -- includes Gauge32
- Unsigned32
- }
-
--- in network-byte order
--- (this is a tagged type for historical reasons)
-IpAddress ::=
- [APPLICATION 0]
- IMPLICIT OCTET STRING (SIZE (4))
-
--- this wraps
-Counter32 ::=
- [APPLICATION 1]
- IMPLICIT INTEGER (0..4294967295)
-
--- this doesn't wrap
-Gauge32 ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
--- an unsigned 32-bit quantity
--- indistinguishable from Gauge32
-Unsigned32 ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
--- hundredths of seconds since an epoch
-TimeTicks ::=
- [APPLICATION 3]
- IMPLICIT INTEGER (0..4294967295)
-
--- for backward-compatibility only
-Opaque ::=
- [APPLICATION 4]
- IMPLICIT OCTET STRING
-
--- for counters that wrap in less than one hour with only 32 bits
-Counter64 ::=
- [APPLICATION 6]
- IMPLICIT INTEGER (0..18446744073709551615)
-
-
--- definition for objects
-
-OBJECT-TYPE MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- "SYNTAX" Syntax
- UnitsPart
- "MAX-ACCESS" Access
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
- IndexPart
- DefValPart
-
- VALUE NOTATION ::=
- value(VALUE ObjectName)
-
- Syntax ::= -- Must be one of the following:
- -- a base type (or its refinement),
- -- a textual convention (or its refinement), or
- -- a BITS pseudo-type
- type
- | "BITS" "{" NamedBits "}"
-
- NamedBits ::= NamedBit
- | NamedBits "," NamedBit
-
- NamedBit ::= identifier "(" number ")" -- number is nonnegative
-
- UnitsPart ::=
- "UNITS" Text
- | empty
-
- Access ::=
- "not-accessible"
- | "accessible-for-notify"
- | "read-only"
- | "read-write"
- | "read-create"
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- IndexPart ::=
- "INDEX" "{" IndexTypes "}"
- | "AUGMENTS" "{" Entry "}"
- | empty
- IndexTypes ::=
- IndexType
- | IndexTypes "," IndexType
- IndexType ::=
- "IMPLIED" Index
- | Index
- Index ::=
- -- use the SYNTAX value of the
- -- correspondent OBJECT-TYPE invocation
- value(ObjectName)
- Entry ::=
- -- use the INDEX value of the
- -- correspondent OBJECT-TYPE invocation
- value(ObjectName)
-
- DefValPart ::= "DEFVAL" "{" Defvalue "}"
- | empty
-
- Defvalue ::= -- must be valid for the type specified in
- -- SYNTAX clause of same OBJECT-TYPE macro
- value(ObjectSyntax)
- | "{" BitsValue "}"
-
- BitsValue ::= BitNames
- | empty
-
- BitNames ::= BitName
- | BitNames "," BitName
-
- BitName ::= identifier
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
-END
-
-
--- definitions for notifications
-
-NOTIFICATION-TYPE MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- ObjectsPart
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE NotificationName)
-
- ObjectsPart ::=
- "OBJECTS" "{" Objects "}"
- | empty
- Objects ::=
- Object
- | Objects "," Object
- Object ::=
- value(ObjectName)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
-END
-
--- definitions of administrative identifiers
-
-zeroDotZero OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "A value used for null identifiers."
- ::= { 0 0 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-TC b/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-TC
deleted file mode 100644
index a68f9690..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-TC
+++ /dev/null
@@ -1,786 +0,0 @@
-SNMPv2-TC DEFINITIONS ::= BEGIN
-
-IMPORTS
- TimeTicks FROM SNMPv2-SMI;
-
-
--- definition of textual conventions
-
-TEXTUAL-CONVENTION MACRO ::=
-BEGIN
- TYPE NOTATION ::=
- DisplayPart
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
- "SYNTAX" Syntax
-
- VALUE NOTATION ::=
- value(VALUE Syntax) -- adapted ASN.1
-
- DisplayPart ::=
- "DISPLAY-HINT" Text
- | empty
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- a character string as defined in [2]
- Text ::= value(IA5String)
-
- Syntax ::= -- Must be one of the following:
- -- a base type (or its refinement), or
- -- a BITS pseudo-type
- type
- | "BITS" "{" NamedBits "}"
-
- NamedBits ::= NamedBit
- | NamedBits "," NamedBit
-
- NamedBit ::= identifier "(" number ")" -- number is nonnegative
-
-END
-
-
-
-
-DisplayString ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "255a"
- STATUS current
- DESCRIPTION
- "Represents textual information taken from the NVT ASCII
- character set, as defined in pages 4, 10-11 of RFC 854.
-
- To summarize RFC 854, the NVT ASCII repertoire specifies:
-
- - the use of character codes 0-127 (decimal)
-
- - the graphics characters (32-126) are interpreted as
- US ASCII
-
- - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
- meanings specified in RFC 854
-
- - the other 25 codes have no standard interpretation
-
- - the sequence 'CR LF' means newline
-
- - the sequence 'CR NUL' means carriage-return
-
- - an 'LF' not preceded by a 'CR' means moving to the
- same column on the next line.
-
- - the sequence 'CR x' for any x other than LF or NUL is
- illegal. (Note that this also means that a string may
- end with either 'CR LF' or 'CR NUL', but not with CR.)
-
- Any object defined using this syntax may not exceed 255
- characters in length."
- SYNTAX OCTET STRING (SIZE (0..255))
-
-PhysAddress ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "1x:"
- STATUS current
- DESCRIPTION
- "Represents media- or physical-level addresses."
- SYNTAX OCTET STRING
-
-
-MacAddress ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "1x:"
- STATUS current
- DESCRIPTION
- "Represents an 802 MAC address represented in the
- `canonical' order defined by IEEE 802.1a, i.e., as if it
- were transmitted least significant bit first, even though
- 802.5 (in contrast to other 802.x protocols) requires MAC
- addresses to be transmitted most significant bit first."
- SYNTAX OCTET STRING (SIZE (6))
-
-TruthValue ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Represents a boolean value."
- SYNTAX INTEGER { true(1), false(2) }
-
-TestAndIncr ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Represents integer-valued information used for atomic
- operations. When the management protocol is used to specify
- that an object instance having this syntax is to be
- modified, the new value supplied via the management protocol
- must precisely match the value presently held by the
- instance. If not, the management protocol set operation
- fails with an error of `inconsistentValue'. Otherwise, if
- the current value is the maximum value of 2^31-1 (2147483647
- decimal), then the value held by the instance is wrapped to
- zero; otherwise, the value held by the instance is
- incremented by one. (Note that regardless of whether the
- management protocol set operation succeeds, the variable-
- binding in the request and response PDUs are identical.)
-
- The value of the ACCESS clause for objects having this
- syntax is either `read-write' or `read-create'. When an
- instance of a columnar object having this syntax is created,
- any value may be supplied via the management protocol.
-
- When the network management portion of the system is re-
- initialized, the value of every object instance having this
- syntax must either be incremented from its value prior to
- the re-initialization, or (if the value prior to the re-
- initialization is unknown) be set to a pseudo-randomly
- generated value."
- SYNTAX INTEGER (0..2147483647)
-
-AutonomousType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Represents an independently extensible type identification
- value. It may, for example, indicate a particular sub-tree
- with further MIB definitions, or define a particular type of
- protocol or hardware."
- SYNTAX OBJECT IDENTIFIER
-
-
-InstancePointer ::= TEXTUAL-CONVENTION
- STATUS obsolete
- DESCRIPTION
- "A pointer to either a specific instance of a MIB object or
- a conceptual row of a MIB table in the managed device. In
- the latter case, by convention, it is the name of the
- particular instance of the first accessible columnar object
- in the conceptual row.
-
- The two uses of this textual convention are replaced by
- VariablePointer and RowPointer, respectively."
- SYNTAX OBJECT IDENTIFIER
-
-
-VariablePointer ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "A pointer to a specific object instance. For example,
- sysContact.0 or ifInOctets.3."
- SYNTAX OBJECT IDENTIFIER
-
-
-RowPointer ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Represents a pointer to a conceptual row. The value is the
- name of the instance of the first accessible columnar object
- in the conceptual row.
-
- For example, ifIndex.3 would point to the 3rd row in the
- ifTable (note that if ifIndex were not-accessible, then
- ifDescr.3 would be used instead)."
- SYNTAX OBJECT IDENTIFIER
-
-RowStatus ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The RowStatus textual convention is used to manage the
- creation and deletion of conceptual rows, and is used as the
- value of the SYNTAX clause for the status column of a
- conceptual row (as described in Section 7.7.1 of [2].)
- The status column has six defined values:
-
- - `active', which indicates that the conceptual row is
- available for use by the managed device;
-
- - `notInService', which indicates that the conceptual
- row exists in the agent, but is unavailable for use by
- the managed device (see NOTE below); 'notInService' has
- no implication regarding the internal consistency of
- the row, availability of resources, or consistency with
- the current state of the managed device;
-
- - `notReady', which indicates that the conceptual row
- exists in the agent, but is missing information
- necessary in order to be available for use by the
- managed device (i.e., one or more required columns in
- the conceptual row have not been instanciated);
-
- - `createAndGo', which is supplied by a management
- station wishing to create a new instance of a
- conceptual row and to have its status automatically set
- to active, making it available for use by the managed
- device;
-
- - `createAndWait', which is supplied by a management
- station wishing to create a new instance of a
- conceptual row (but not make it available for use by
- the managed device); and,
-
- - `destroy', which is supplied by a management station
- wishing to delete all of the instances associated with
- an existing conceptual row.
-
- Whereas five of the six values (all except `notReady') may
- be specified in a management protocol set operation, only
- three values will be returned in response to a management
- protocol retrieval operation: `notReady', `notInService' or
- `active'. That is, when queried, an existing conceptual row
- has only three states: it is either available for use by
- the managed device (the status column has value `active');
- it is not available for use by the managed device, though
- the agent has sufficient information to attempt to make it
- so (the status column has value `notInService'); or, it is
- not available for use by the managed device, and an attempt
- to make it so would fail because the agent has insufficient
- information (the state column has value `notReady').
-
- NOTE WELL
-
- This textual convention may be used for a MIB table,
- irrespective of whether the values of that table's
- conceptual rows are able to be modified while it is
- active, or whether its conceptual rows must be taken
- out of service in order to be modified. That is, it is
- the responsibility of the DESCRIPTION clause of the
- status column to specify whether the status column must
- not be `active' in order for the value of some other
- column of the same conceptual row to be modified. If
- such a specification is made, affected columns may be
- changed by an SNMP set PDU if the RowStatus would not
- be equal to `active' either immediately before or after
- processing the PDU. In other words, if the PDU also
- contained a varbind that would change the RowStatus
- value, the column in question may be changed if the
- RowStatus was not equal to `active' as the PDU was
- received, or if the varbind sets the status to a value
- other than 'active'.
-
-
- Also note that whenever any elements of a row exist, the
- RowStatus column must also exist.
-
- To summarize the effect of having a conceptual row with a
- status column having a SYNTAX clause value of RowStatus,
- consider the following state diagram:
-
-
- STATE
- +--------------+-----------+-------------+-------------
- | A | B | C | D
- | |status col.|status column|
- |status column | is | is |status column
- ACTION |does not exist| notReady | notInService| is active
---------------+--------------+-----------+-------------+-------------
-set status |noError ->D|inconsist- |inconsistent-|inconsistent-
-column to | or | entValue| Value| Value
-createAndGo |inconsistent- | | |
- | Value| | |
---------------+--------------+-----------+-------------+-------------
-set status |noError see 1|inconsist- |inconsistent-|inconsistent-
-column to | or | entValue| Value| Value
-createAndWait |wrongValue | | |
---------------+--------------+-----------+-------------+-------------
-set status |inconsistent- |inconsist- |noError |noError
-column to | Value| entValue| |
-active | | | |
- | | or | |
- | | | |
- | |see 2 ->D|see 8 ->D| ->D
---------------+--------------+-----------+-------------+-------------
-set status |inconsistent- |inconsist- |noError |noError ->C
-column to | Value| entValue| |
-notInService | | | |
- | | or | | or
- | | | |
- | |see 3 ->C| ->C|see 6
---------------+--------------+-----------+-------------+-------------
-set status |noError |noError |noError |noError ->A
-column to | | | | or
-destroy | ->A| ->A| ->A|see 7
---------------+--------------+-----------+-------------+-------------
-set any other |see 4 |noError |noError |see 5
-column to some| | | |
-value | | see 1| ->C| ->D
---------------+--------------+-----------+-------------+-------------
-
- (1) goto B or C, depending on information available to the
- agent.
-
- (2) if other variable bindings included in the same PDU,
- provide values for all columns which are missing but
- required, and all columns have acceptable values, then
- return noError and goto D.
-
- (3) if other variable bindings included in the same PDU,
- provide legal values for all columns which are missing but
- required, then return noError and goto C.
-
- (4) at the discretion of the agent, the return value may be
- either:
-
- inconsistentName: because the agent does not choose to
- create such an instance when the corresponding
- RowStatus instance does not exist, or
-
- inconsistentValue: if the supplied value is
- inconsistent with the state of some other MIB object's
- value, or
-
- noError: because the agent chooses to create the
- instance.
-
- If noError is returned, then the instance of the status
- column must also be created, and the new state is B or C,
- depending on the information available to the agent. If
- inconsistentName or inconsistentValue is returned, the row
- remains in state A.
-
- (5) depending on the MIB definition for the column/table,
- either noError or inconsistentValue may be returned.
-
- (6) the return value can indicate one of the following
- errors:
-
- wrongValue: because the agent does not support
- notInService (e.g., an agent which does not support
- createAndWait), or
-
- inconsistentValue: because the agent is unable to take
- the row out of service at this time, perhaps because it
- is in use and cannot be de-activated.
-
- (7) the return value can indicate the following error:
-
- inconsistentValue: because the agent is unable to
- remove the row at this time, perhaps because it is in
- use and cannot be de-activated.
-
- (8) the transition to D can fail, e.g., if the values of the
- conceptual row are inconsistent, then the error code would
- be inconsistentValue.
-
- NOTE: Other processing of (this and other varbinds of) the
- set request may result in a response other than noError
- being returned, e.g., wrongValue, noCreation, etc.
-
-
- Conceptual Row Creation
-
- There are four potential interactions when creating a
- conceptual row: selecting an instance-identifier which is
- not in use; creating the conceptual row; initializing any
- objects for which the agent does not supply a default; and,
- making the conceptual row available for use by the managed
- device.
-
- Interaction 1: Selecting an Instance-Identifier
-
- The algorithm used to select an instance-identifier varies
- for each conceptual row. In some cases, the instance-
- identifier is semantically significant, e.g., the
- destination address of a route, and a management station
- selects the instance-identifier according to the semantics.
-
- In other cases, the instance-identifier is used solely to
- distinguish conceptual rows, and a management station
- without specific knowledge of the conceptual row might
- examine the instances present in order to determine an
- unused instance-identifier. (This approach may be used, but
- it is often highly sub-optimal; however, it is also a
- questionable practice for a naive management station to
- attempt conceptual row creation.)
-
- Alternately, the MIB module which defines the conceptual row
- might provide one or more objects which provide assistance
- in determining an unused instance-identifier. For example,
- if the conceptual row is indexed by an integer-value, then
- an object having an integer-valued SYNTAX clause might be
- defined for such a purpose, allowing a management station to
- issue a management protocol retrieval operation. In order
- to avoid unnecessary collisions between competing management
- stations, `adjacent' retrievals of this object should be
- different.
-
- Finally, the management station could select a pseudo-random
- number to use as the index. In the event that this index
- was already in use and an inconsistentValue was returned in
- response to the management protocol set operation, the
- management station should simply select a new pseudo-random
- number and retry the operation.
-
- A MIB designer should choose between the two latter
- algorithms based on the size of the table (and therefore the
- efficiency of each algorithm). For tables in which a large
- number of entries are expected, it is recommended that a MIB
- object be defined that returns an acceptable index for
- creation. For tables with small numbers of entries, it is
- recommended that the latter pseudo-random index mechanism be
- used.
-
- Interaction 2: Creating the Conceptual Row
-
- Once an unused instance-identifier has been selected, the
- management station determines if it wishes to create and
- activate the conceptual row in one transaction or in a
- negotiated set of interactions.
-
- Interaction 2a: Creating and Activating the Conceptual Row
-
- The management station must first determine the column
- requirements, i.e., it must determine those columns for
- which it must or must not provide values. Depending on the
- complexity of the table and the management station's
- knowledge of the agent's capabilities, this determination
- can be made locally by the management station. Alternately,
- the management station issues a management protocol get
- operation to examine all columns in the conceptual row that
- it wishes to create. In response, for each column, there
- are three possible outcomes:
-
- - a value is returned, indicating that some other
- management station has already created this conceptual
- row. We return to interaction 1.
-
- - the exception `noSuchInstance' is returned,
- indicating that the agent implements the object-type
- associated with this column, and that this column in at
- least one conceptual row would be accessible in the MIB
- view used by the retrieval were it to exist. For those
- columns to which the agent provides read-create access,
- the `noSuchInstance' exception tells the management
- station that it should supply a value for this column
- when the conceptual row is to be created.
-
- - the exception `noSuchObject' is returned, indicating
- that the agent does not implement the object-type
- associated with this column or that there is no
- conceptual row for which this column would be
- accessible in the MIB view used by the retrieval. As
- such, the management station can not issue any
- management protocol set operations to create an
- instance of this column.
-
- Once the column requirements have been determined, a
- management protocol set operation is accordingly issued.
- This operation also sets the new instance of the status
- column to `createAndGo'.
-
- When the agent processes the set operation, it verifies that
- it has sufficient information to make the conceptual row
- available for use by the managed device. The information
- available to the agent is provided by two sources: the
- management protocol set operation which creates the
- conceptual row, and, implementation-specific defaults
- supplied by the agent (note that an agent must provide
- implementation-specific defaults for at least those objects
- which it implements as read-only). If there is sufficient
- information available, then the conceptual row is created, a
- `noError' response is returned, the status column is set to
- `active', and no further interactions are necessary (i.e.,
- interactions 3 and 4 are skipped). If there is insufficient
- information, then the conceptual row is not created, and the
- set operation fails with an error of `inconsistentValue'.
- On this error, the management station can issue a management
- protocol retrieval operation to determine if this was
- because it failed to specify a value for a required column,
- or, because the selected instance of the status column
- already existed. In the latter case, we return to
- interaction 1. In the former case, the management station
- can re-issue the set operation with the additional
- information, or begin interaction 2 again using
- `createAndWait' in order to negotiate creation of the
- conceptual row.
-
- NOTE WELL
-
- Regardless of the method used to determine the column
- requirements, it is possible that the management
- station might deem a column necessary when, in fact,
- the agent will not allow that particular columnar
- instance to be created or written. In this case, the
- management protocol set operation will fail with an
- error such as `noCreation' or `notWritable'. In this
- case, the management station decides whether it needs
- to be able to set a value for that particular columnar
- instance. If not, the management station re-issues the
- management protocol set operation, but without setting
- a value for that particular columnar instance;
- otherwise, the management station aborts the row
- creation algorithm.
-
- Interaction 2b: Negotiating the Creation of the Conceptual
- Row
-
- The management station issues a management protocol set
- operation which sets the desired instance of the status
- column to `createAndWait'. If the agent is unwilling to
- process a request of this sort, the set operation fails with
- an error of `wrongValue'. (As a consequence, such an agent
- must be prepared to accept a single management protocol set
- operation, i.e., interaction 2a above, containing all of the
- columns indicated by its column requirements.) Otherwise,
- the conceptual row is created, a `noError' response is
- returned, and the status column is immediately set to either
- `notInService' or `notReady', depending on whether it has
- sufficient information to (attempt to) make the conceptual
- row available for use by the managed device. If there is
- sufficient information available, then the status column is
- set to `notInService'; otherwise, if there is insufficient
- information, then the status column is set to `notReady'.
- Regardless, we proceed to interaction 3.
-
- Interaction 3: Initializing non-defaulted Objects
-
- The management station must now determine the column
- requirements. It issues a management protocol get operation
- to examine all columns in the created conceptual row. In
- the response, for each column, there are three possible
- outcomes:
-
- - a value is returned, indicating that the agent
- implements the object-type associated with this column
- and had sufficient information to provide a value. For
- those columns to which the agent provides read-create
- access (and for which the agent allows their values to
- be changed after their creation), a value return tells
- the management station that it may issue additional
- management protocol set operations, if it desires, in
- order to change the value associated with this column.
-
- - the exception `noSuchInstance' is returned,
- indicating that the agent implements the object-type
- associated with this column, and that this column in at
- least one conceptual row would be accessible in the MIB
- view used by the retrieval were it to exist. However,
- the agent does not have sufficient information to
- provide a value, and until a value is provided, the
- conceptual row may not be made available for use by the
- managed device. For those columns to which the agent
- provides read-create access, the `noSuchInstance'
- exception tells the management station that it must
- issue additional management protocol set operations, in
- order to provide a value associated with this column.
-
- - the exception `noSuchObject' is returned, indicating
- that the agent does not implement the object-type
- associated with this column or that there is no
- conceptual row for which this column would be
- accessible in the MIB view used by the retrieval. As
- such, the management station can not issue any
- management protocol set operations to create an
- instance of this column.
-
- If the value associated with the status column is
- `notReady', then the management station must first deal with
- all `noSuchInstance' columns, if any. Having done so, the
- value of the status column becomes `notInService', and we
- proceed to interaction 4.
-
- Interaction 4: Making the Conceptual Row Available
-
- Once the management station is satisfied with the values
- associated with the columns of the conceptual row, it issues
- a management protocol set operation to set the status column
- to `active'. If the agent has sufficient information to
- make the conceptual row available for use by the managed
- device, the management protocol set operation succeeds (a
- `noError' response is returned). Otherwise, the management
- protocol set operation fails with an error of
- `inconsistentValue'.
-
- NOTE WELL
-
- A conceptual row having a status column with value
- `notInService' or `notReady' is unavailable to the
- managed device. As such, it is possible for the
- managed device to create its own instances during the
- time between the management protocol set operation
- which sets the status column to `createAndWait' and the
- management protocol set operation which sets the status
- column to `active'. In this case, when the management
- protocol set operation is issued to set the status
- column to `active', the values held in the agent
- supersede those used by the managed device.
-
- If the management station is prevented from setting the
- status column to `active' (e.g., due to management station
- or network failure) the conceptual row will be left in the
- `notInService' or `notReady' state, consuming resources
- indefinitely. The agent must detect conceptual rows that
- have been in either state for an abnormally long period of
- time and remove them. It is the responsibility of the
- DESCRIPTION clause of the status column to indicate what an
- abnormally long period of time would be. This period of
- time should be long enough to allow for human response time
- (including `think time') between the creation of the
- conceptual row and the setting of the status to `active'.
- In the absence of such information in the DESCRIPTION
- clause, it is suggested that this period be approximately 5
- minutes in length. This removal action applies not only to
- newly-created rows, but also to previously active rows which
- are set to, and left in, the notInService state for a
- prolonged period exceeding that which is considered normal
- for such a conceptual row.
-
- Conceptual Row Suspension
-
- When a conceptual row is `active', the management station
- may issue a management protocol set operation which sets the
- instance of the status column to `notInService'. If the
- agent is unwilling to do so, the set operation fails with an
- error of `wrongValue' or `inconsistentValue'. Otherwise,
- the conceptual row is taken out of service, and a `noError'
- response is returned. It is the responsibility of the
- DESCRIPTION clause of the status column to indicate under
- what circumstances the status column should be taken out of
- service (e.g., in order for the value of some other column
- of the same conceptual row to be modified).
-
-
- Conceptual Row Deletion
-
- For deletion of conceptual rows, a management protocol set
- operation is issued which sets the instance of the status
- column to `destroy'. This request may be made regardless of
- the current value of the status column (e.g., it is possible
- to delete conceptual rows which are either `notReady',
- `notInService' or `active'.) If the operation succeeds,
- then all instances associated with the conceptual row are
- immediately removed."
- SYNTAX INTEGER {
- -- the following two values are states:
- -- these values may be read or written
- active(1),
- notInService(2),
-
- -- the following value is a state:
- -- this value may be read, but not written
- notReady(3),
-
- -- the following three values are
- -- actions: these values may be written,
- -- but are never read
- createAndGo(4),
- createAndWait(5),
- destroy(6)
- }
-
-TimeStamp ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The value of the sysUpTime object at which a specific
- occurrence happened. The specific occurrence must be
- defined in the description of any object defined using this
- type.
-
- If sysUpTime is reset to zero as a result of a re-
- initialization of the network management (sub)system, then
- the values of all TimeStamp objects are also reset.
- However, after approximately 497 days without a re-
- initialization, the sysUpTime object will reach 2^^32-1 and
- then increment around to zero; in this case, existing values
- of TimeStamp objects do not change. This can lead to
- ambiguities in the value of TimeStamp objects."
- SYNTAX TimeTicks
-
-
-TimeInterval ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "A period of time, measured in units of 0.01 seconds."
- SYNTAX INTEGER (0..2147483647)
-
-DateAndTime ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
- STATUS current
- DESCRIPTION
- "A date-time specification.
-
- field octets contents range
- ----- ------ -------- -----
- 1 1-2 year* 0..65536
- 2 3 month 1..12
- 3 4 day 1..31
- 4 5 hour 0..23
- 5 6 minutes 0..59
- 6 7 seconds 0..60
- (use 60 for leap-second)
- 7 8 deci-seconds 0..9
- 8 9 direction from UTC '+' / '-'
- 9 10 hours from UTC* 0..13
- 10 11 minutes from UTC 0..59
-
- * Notes:
- - the value of year is in network-byte order
- - daylight saving time in New Zealand is +13
-
- For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
- displayed as:
-
- 1992-5-26,13:30:15.0,-4:0
-
- Note that if only local time is known, then timezone
- information (fields 8-10) is not present."
- SYNTAX OCTET STRING (SIZE (8 | 11))
-
-
-StorageType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Describes the memory realization of a conceptual row. A
- row which is volatile(2) is lost upon reboot. A row which
- is either nonVolatile(3), permanent(4) or readOnly(5), is
- backed up by stable storage. A row which is permanent(4)
- can be changed but not deleted. A row which is readOnly(5)
- cannot be changed nor deleted.
-
- If the value of an object with this syntax is either
- permanent(4) or readOnly(5), it cannot be written.
- Conversely, if the value is either other(1), volatile(2) or
- nonVolatile(3), it cannot be modified to be permanent(4) or
- readOnly(5). (All illegal modifications result in a
- 'wrongValue' error.)
-
- Every usage of this textual convention is required to
- specify the columnar objects which a permanent(4) row must
- at a minimum allow to be writable."
- SYNTAX INTEGER {
- other(1), -- eh?
- volatile(2), -- e.g., in RAM
- nonVolatile(3), -- e.g., in NVRAM
- permanent(4), -- e.g., partially in ROM
- readOnly(5) -- e.g., completely in ROM
- }
-
-TDomain ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Denotes a kind of transport service.
-
- Some possible values, such as snmpUDPDomain, are defined in
- the SNMPv2-TM MIB module. Other possible values are defined
- in other MIB modules."
- REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
- SYNTAX OBJECT IDENTIFIER
-
-
-TAddress ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Denotes a transport service address.
-
- A TAddress value is always interpreted within the context of a
- TDomain value. Thus, each definition of a TDomain value must
- be accompanied by a definition of a textual convention for use
- with that TDomain. Some possible textual conventions, such as
- SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM
- MIB module. Other possible textual conventions are defined in
- other MIB modules."
- REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
- SYNTAX OCTET STRING (SIZE (1..255))
-
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-TM b/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-TM
deleted file mode 100644
index dadbc4a8..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/SNMPv2-TM
+++ /dev/null
@@ -1,194 +0,0 @@
-SNMPv2-TM DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, OBJECT-IDENTITY,
- snmpModules, snmpDomains, snmpProxys
- FROM SNMPv2-SMI
- TEXTUAL-CONVENTION
- FROM SNMPv2-TC;
-
-snmpv2tm MODULE-IDENTITY
- LAST-UPDATED "200210160000Z"
- ORGANIZATION "IETF SNMPv3 Working Group"
- CONTACT-INFO
- "WG-EMail: snmpv3@lists.tislabs.com
- Subscribe: snmpv3-request@lists.tislabs.com
-
- Co-Chair: Russ Mundy
- Network Associates Laboratories
- postal: 15204 Omega Drive, Suite 300
- Rockville, MD 20850-4601
- USA
- EMail: mundy@tislabs.com
- phone: +1 301 947-7107
-
-
-
- Co-Chair: David Harrington
- Enterasys Networks
- postal: 35 Industrial Way
- P. O. Box 5005
- Rochester, NH 03866-5005
- USA
- EMail: dbh@enterasys.com
- phone: +1 603 337-2614
-
- Editor: Randy Presuhn
- BMC Software, Inc.
- postal: 2141 North First Street
- San Jose, CA 95131
- USA
- EMail: randy_presuhn@bmc.com
- phone: +1 408 546-1006"
- DESCRIPTION
- "The MIB module for SNMP transport mappings.
-
- Copyright (C) The Internet Society (2002). This
- version of this MIB module is part of RFC 3417;
- see the RFC itself for full legal notices.
- "
- REVISION "200210160000Z"
- DESCRIPTION
- "Clarifications, published as RFC 3417."
- REVISION "199601010000Z"
- DESCRIPTION
- "Clarifications, published as RFC 1906."
- REVISION "199304010000Z"
- DESCRIPTION
- "The initial version, published as RFC 1449."
- ::= { snmpModules 19 }
-
--- SNMP over UDP over IPv4
-
-snmpUDPDomain OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The SNMP over UDP over IPv4 transport domain.
- The corresponding transport address is of type
- SnmpUDPAddress."
- ::= { snmpDomains 1 }
-
-
-
-
-
-
-
-
-SnmpUDPAddress ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "1d.1d.1d.1d/2d"
- STATUS current
- DESCRIPTION
- "Represents a UDP over IPv4 address:
-
- octets contents encoding
- 1-4 IP-address network-byte order
- 5-6 UDP-port network-byte order
- "
- SYNTAX OCTET STRING (SIZE (6))
-
--- SNMP over OSI
-
-snmpCLNSDomain OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The SNMP over CLNS transport domain.
- The corresponding transport address is of type
- SnmpOSIAddress."
- ::= { snmpDomains 2 }
-
-snmpCONSDomain OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The SNMP over CONS transport domain.
- The corresponding transport address is of type
- SnmpOSIAddress."
- ::= { snmpDomains 3 }
-
-SnmpOSIAddress ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "*1x:/1x:"
- STATUS current
- DESCRIPTION
- "Represents an OSI transport-address:
-
- octets contents encoding
- 1 length of NSAP 'n' as an unsigned-integer
- (either 0 or from 3 to 20)
- 2..(n+1) NSAP concrete binary representation
- (n+2)..m TSEL string of (up to 64) octets
- "
- SYNTAX OCTET STRING (SIZE (1 | 4..85))
-
-
-
-
-
-
-
-
--- SNMP over DDP
-
-snmpDDPDomain OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The SNMP over DDP transport domain. The corresponding
- transport address is of type SnmpNBPAddress."
- ::= { snmpDomains 4 }
-
-SnmpNBPAddress ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Represents an NBP name:
-
- octets contents encoding
- 1 length of object 'n' as an unsigned integer
- 2..(n+1) object string of (up to 32) octets
- n+2 length of type 'p' as an unsigned integer
- (n+3)..(n+2+p) type string of (up to 32) octets
- n+3+p length of zone 'q' as an unsigned integer
- (n+4+p)..(n+3+p+q) zone string of (up to 32) octets
-
- For comparison purposes, strings are
- case-insensitive. All strings may contain any octet
- other than 255 (hex ff)."
- SYNTAX OCTET STRING (SIZE (3..99))
-
--- SNMP over IPX
-
-snmpIPXDomain OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The SNMP over IPX transport domain. The corresponding
- transport address is of type SnmpIPXAddress."
- ::= { snmpDomains 5 }
-
-SnmpIPXAddress ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "4x.1x:1x:1x:1x:1x:1x.2d"
- STATUS current
- DESCRIPTION
- "Represents an IPX address:
-
- octets contents encoding
- 1-4 network-number network-byte order
- 5-10 physical-address network-byte order
- 11-12 socket-number network-byte order
- "
- SYNTAX OCTET STRING (SIZE (12))
-
-
-
--- for proxy to SNMPv1 (RFC 1157)
-
-rfc1157Proxy OBJECT IDENTIFIER ::= { snmpProxys 1 }
-
-rfc1157Domain OBJECT-IDENTITY
- STATUS deprecated
- DESCRIPTION
- "The transport domain for SNMPv1 over UDP over IPv4.
- The corresponding transport address is of type
- SnmpUDPAddress."
- ::= { rfc1157Proxy 1 }
-
--- ::= { rfc1157Proxy 2 } this OID is obsolete
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/TCP-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/TCP-MIB
deleted file mode 100644
index 5b9e0bf3..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/TCP-MIB
+++ /dev/null
@@ -1,829 +0,0 @@
-TCP-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32,
- Gauge32, Counter32, Counter64, IpAddress, mib-2
- FROM SNMPv2-SMI
- MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
- InetAddress, InetAddressType,
- InetPortNumber FROM INET-ADDRESS-MIB;
-
-tcpMIB MODULE-IDENTITY
- LAST-UPDATED "200502180000Z" -- 18 February 2005
- ORGANIZATION
- "IETF IPv6 MIB Revision Team
- http://www.ietf.org/html.charters/ipv6-charter.html"
- CONTACT-INFO
- "Rajiv Raghunarayan (editor)
-
- Cisco Systems Inc.
- 170 West Tasman Drive
- San Jose, CA 95134
-
- Phone: +1 408 853 9612
- Email:
-
- Send comments to "
- DESCRIPTION
- "The MIB module for managing TCP implementations.
-
- Copyright (C) The Internet Society (2005). This version
- of this MIB module is a part of RFC 4022; see the RFC
- itself for full legal notices."
- REVISION "200502180000Z" -- 18 February 2005
- DESCRIPTION
- "IP version neutral revision, published as RFC 4022."
- REVISION "9411010000Z"
- DESCRIPTION
- "Initial SMIv2 version, published as RFC 2012."
- REVISION "9103310000Z"
- DESCRIPTION
- "The initial revision of this MIB module was part of
- MIB-II."
- ::= { mib-2 49 }
-
--- the TCP base variables group
-
-
-
-
-tcp OBJECT IDENTIFIER ::= { mib-2 6 }
-
--- Scalars
-
-tcpRtoAlgorithm OBJECT-TYPE
- SYNTAX INTEGER {
- other(1), -- none of the following
- constant(2), -- a constant rto
- rsre(3), -- MIL-STD-1778, Appendix B
- vanj(4), -- Van Jacobson's algorithm
- rfc2988(5) -- RFC 2988
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The algorithm used to determine the timeout value used for
- retransmitting unacknowledged octets."
- ::= { tcp 1 }
-
-tcpRtoMin OBJECT-TYPE
- SYNTAX Integer32 (0..2147483647)
- UNITS "milliseconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The minimum value permitted by a TCP implementation for
- the retransmission timeout, measured in milliseconds.
- More refined semantics for objects of this type depend
- on the algorithm used to determine the retransmission
- timeout; in particular, the IETF standard algorithm
- rfc2988(5) provides a minimum value."
- ::= { tcp 2 }
-
-tcpRtoMax OBJECT-TYPE
- SYNTAX Integer32 (0..2147483647)
- UNITS "milliseconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The maximum value permitted by a TCP implementation for
- the retransmission timeout, measured in milliseconds.
- More refined semantics for objects of this type depend
- on the algorithm used to determine the retransmission
- timeout; in particular, the IETF standard algorithm
- rfc2988(5) provides an upper bound (as part of an
- adaptive backoff algorithm)."
- ::= { tcp 3 }
-
-
-
-
-tcpMaxConn OBJECT-TYPE
- SYNTAX Integer32 (-1 | 0..2147483647)
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The limit on the total number of TCP connections the entity
- can support. In entities where the maximum number of
- connections is dynamic, this object should contain the
- value -1."
- ::= { tcp 4 }
-
-tcpActiveOpens OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times that TCP connections have made a direct
- transition to the SYN-SENT state from the CLOSED state.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 5 }
-
-tcpPassiveOpens OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times TCP connections have made a direct
- transition to the SYN-RCVD state from the LISTEN state.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 6 }
-
-tcpAttemptFails OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times that TCP connections have made a direct
- transition to the CLOSED state from either the SYN-SENT
- state or the SYN-RCVD state, plus the number of times that
- TCP connections have made a direct transition to the
- LISTEN state from the SYN-RCVD state.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
-
-
-
- ::= { tcp 7 }
-
-tcpEstabResets OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times that TCP connections have made a direct
- transition to the CLOSED state from either the ESTABLISHED
- state or the CLOSE-WAIT state.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 8 }
-
-tcpCurrEstab OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of TCP connections for which the current state
- is either ESTABLISHED or CLOSE-WAIT."
- ::= { tcp 9 }
-
-tcpInSegs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of segments received, including those
- received in error. This count includes segments received
- on currently established connections.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 10 }
-
-tcpOutSegs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of segments sent, including those on
- current connections but excluding those containing only
- retransmitted octets.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
-
-
-
- ::= { tcp 11 }
-
-tcpRetransSegs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of segments retransmitted; that is, the
- number of TCP segments transmitted containing one or more
- previously transmitted octets.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 12 }
-
-tcpInErrs OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of segments received in error (e.g., bad
- TCP checksums).
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 14 }
-
-tcpOutRsts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of TCP segments sent containing the RST flag.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 15 }
-
--- { tcp 16 } was used to represent the ipv6TcpConnTable in RFC 2452,
--- which has since been obsoleted. It MUST not be used.
-
-tcpHCInSegs OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of segments received, including those
- received in error. This count includes segments received
-
-
-
- on currently established connections. This object is
- the 64-bit equivalent of tcpInSegs.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 17 }
-
-tcpHCOutSegs OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of segments sent, including those on
- current connections but excluding those containing only
- retransmitted octets. This object is the 64-bit
- equivalent of tcpOutSegs.
-
- Discontinuities in the value of this counter are
- indicated via discontinuities in the value of sysUpTime."
- ::= { tcp 18 }
-
-
--- The TCP Connection table
-
-tcpConnectionTable OBJECT-TYPE
- SYNTAX SEQUENCE OF TcpConnectionEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table containing information about existing TCP
- connections. Note that unlike earlier TCP MIBs, there
- is a separate table for connections in the LISTEN state."
- ::= { tcp 19 }
-
-tcpConnectionEntry OBJECT-TYPE
- SYNTAX TcpConnectionEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A conceptual row of the tcpConnectionTable containing
- information about a particular current TCP connection.
- Each row of this table is transient in that it ceases to
- exist when (or soon after) the connection makes the
- transition to the CLOSED state."
- INDEX { tcpConnectionLocalAddressType,
- tcpConnectionLocalAddress,
- tcpConnectionLocalPort,
- tcpConnectionRemAddressType,
-
-
-
- tcpConnectionRemAddress,
- tcpConnectionRemPort }
- ::= { tcpConnectionTable 1 }
-
-TcpConnectionEntry ::= SEQUENCE {
- tcpConnectionLocalAddressType InetAddressType,
- tcpConnectionLocalAddress InetAddress,
- tcpConnectionLocalPort InetPortNumber,
- tcpConnectionRemAddressType InetAddressType,
- tcpConnectionRemAddress InetAddress,
- tcpConnectionRemPort InetPortNumber,
- tcpConnectionState INTEGER,
- tcpConnectionProcess Unsigned32
- }
-
-tcpConnectionLocalAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The address type of tcpConnectionLocalAddress."
- ::= { tcpConnectionEntry 1 }
-
-tcpConnectionLocalAddress OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The local IP address for this TCP connection. The type
- of this address is determined by the value of
- tcpConnectionLocalAddressType.
-
- As this object is used in the index for the
- tcpConnectionTable, implementors should be
- careful not to create entries that would result in OIDs
- with more than 128 subidentifiers; otherwise the information
- cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."
- ::= { tcpConnectionEntry 2 }
-
-tcpConnectionLocalPort OBJECT-TYPE
- SYNTAX InetPortNumber
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The local port number for this TCP connection."
- ::= { tcpConnectionEntry 3 }
-
-tcpConnectionRemAddressType OBJECT-TYPE
-
-
-
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The address type of tcpConnectionRemAddress."
- ::= { tcpConnectionEntry 4 }
-
-tcpConnectionRemAddress OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The remote IP address for this TCP connection. The type
- of this address is determined by the value of
- tcpConnectionRemAddressType.
-
- As this object is used in the index for the
- tcpConnectionTable, implementors should be
- careful not to create entries that would result in OIDs
- with more than 128 subidentifiers; otherwise the information
- cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."
- ::= { tcpConnectionEntry 5 }
-
-tcpConnectionRemPort OBJECT-TYPE
- SYNTAX InetPortNumber
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The remote port number for this TCP connection."
- ::= { tcpConnectionEntry 6 }
-
-tcpConnectionState OBJECT-TYPE
- SYNTAX INTEGER {
- closed(1),
- listen(2),
- synSent(3),
- synReceived(4),
- established(5),
- finWait1(6),
- finWait2(7),
- closeWait(8),
- lastAck(9),
- closing(10),
- timeWait(11),
- deleteTCB(12)
- }
- MAX-ACCESS read-write
- STATUS current
-
-
-
- DESCRIPTION
- "The state of this TCP connection.
-
- The value listen(2) is included only for parallelism to the
- old tcpConnTable and should not be used. A connection in
- LISTEN state should be present in the tcpListenerTable.
-
- The only value that may be set by a management station is
- deleteTCB(12). Accordingly, it is appropriate for an agent
- to return a `badValue' response if a management station
- attempts to set this object to any other value.
-
- If a management station sets this object to the value
- deleteTCB(12), then the TCB (as defined in [RFC793]) of
- the corresponding connection on the managed node is
- deleted, resulting in immediate termination of the
- connection.
-
- As an implementation-specific option, a RST segment may be
- sent from the managed node to the other TCP endpoint (note,
- however, that RST segments are not sent reliably)."
- ::= { tcpConnectionEntry 7 }
-
-tcpConnectionProcess OBJECT-TYPE
- SYNTAX Unsigned32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The system's process ID for the process associated with
- this connection, or zero if there is no such process. This
- value is expected to be the same as HOST-RESOURCES-MIB::
- hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some
- row in the appropriate tables."
- ::= { tcpConnectionEntry 8 }
-
--- The TCP Listener table
-
-tcpListenerTable OBJECT-TYPE
- SYNTAX SEQUENCE OF TcpListenerEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table containing information about TCP listeners. A
- listening application can be represented in three
- possible ways:
-
- 1. An application that is willing to accept both IPv4 and
- IPv6 datagrams is represented by
-
-
-
- a tcpListenerLocalAddressType of unknown (0) and
- a tcpListenerLocalAddress of ''h (a zero-length
- octet-string).
-
- 2. An application that is willing to accept only IPv4 or
- IPv6 datagrams is represented by a
- tcpListenerLocalAddressType of the appropriate address
- type and a tcpListenerLocalAddress of '0.0.0.0' or '::'
- respectively.
-
- 3. An application that is listening for data destined
- only to a specific IP address, but from any remote
- system, is represented by a tcpListenerLocalAddressType
- of an appropriate address type, with
- tcpListenerLocalAddress as the specific local address.
-
- NOTE: The address type in this table represents the
- address type used for the communication, irrespective
- of the higher-layer abstraction. For example, an
- application using IPv6 'sockets' to communicate via
- IPv4 between ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would
- use InetAddressType ipv4(1))."
- ::= { tcp 20 }
-
-tcpListenerEntry OBJECT-TYPE
- SYNTAX TcpListenerEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A conceptual row of the tcpListenerTable containing
- information about a particular TCP listener."
- INDEX { tcpListenerLocalAddressType,
- tcpListenerLocalAddress,
- tcpListenerLocalPort }
- ::= { tcpListenerTable 1 }
-
-TcpListenerEntry ::= SEQUENCE {
- tcpListenerLocalAddressType InetAddressType,
- tcpListenerLocalAddress InetAddress,
- tcpListenerLocalPort InetPortNumber,
- tcpListenerProcess Unsigned32
- }
-
-tcpListenerLocalAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
-
-
-
- "The address type of tcpListenerLocalAddress. The value
- should be unknown (0) if connection initiations to all
- local IP addresses are accepted."
- ::= { tcpListenerEntry 1 }
-
-tcpListenerLocalAddress OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The local IP address for this TCP connection.
-
- The value of this object can be represented in three
- possible ways, depending on the characteristics of the
- listening application:
-
- 1. For an application willing to accept both IPv4 and
- IPv6 datagrams, the value of this object must be
- ''h (a zero-length octet-string), with the value
- of the corresponding tcpListenerLocalAddressType
- object being unknown (0).
-
- 2. For an application willing to accept only IPv4 or
- IPv6 datagrams, the value of this object must be
- '0.0.0.0' or '::' respectively, with
- tcpListenerLocalAddressType representing the
- appropriate address type.
-
- 3. For an application which is listening for data
- destined only to a specific IP address, the value
- of this object is the specific local address, with
- tcpListenerLocalAddressType representing the
- appropriate address type.
-
- As this object is used in the index for the
- tcpListenerTable, implementors should be
- careful not to create entries that would result in OIDs
- with more than 128 subidentifiers; otherwise the information
- cannot be accessed, using SNMPv1, SNMPv2c, or SNMPv3."
- ::= { tcpListenerEntry 2 }
-
-tcpListenerLocalPort OBJECT-TYPE
- SYNTAX InetPortNumber
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The local port number for this TCP connection."
- ::= { tcpListenerEntry 3 }
-
-
-
-tcpListenerProcess OBJECT-TYPE
- SYNTAX Unsigned32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The system's process ID for the process associated with
- this listener, or zero if there is no such process. This
- value is expected to be the same as HOST-RESOURCES-MIB::
- hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some
- row in the appropriate tables."
- ::= { tcpListenerEntry 4 }
-
-
--- The deprecated TCP Connection table
-
-tcpConnTable OBJECT-TYPE
- SYNTAX SEQUENCE OF TcpConnEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "A table containing information about existing IPv4-specific
- TCP connections or listeners. This table has been
- deprecated in favor of the version neutral
- tcpConnectionTable."
- ::= { tcp 13 }
-
-tcpConnEntry OBJECT-TYPE
- SYNTAX TcpConnEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "A conceptual row of the tcpConnTable containing information
- about a particular current IPv4 TCP connection. Each row
- of this table is transient in that it ceases to exist when
- (or soon after) the connection makes the transition to the
- CLOSED state."
- INDEX { tcpConnLocalAddress,
- tcpConnLocalPort,
- tcpConnRemAddress,
- tcpConnRemPort }
- ::= { tcpConnTable 1 }
-
-TcpConnEntry ::= SEQUENCE {
- tcpConnState INTEGER,
- tcpConnLocalAddress IpAddress,
- tcpConnLocalPort Integer32,
- tcpConnRemAddress IpAddress,
- tcpConnRemPort Integer32
-
-
-
- }
-
-tcpConnState OBJECT-TYPE
- SYNTAX INTEGER {
- closed(1),
- listen(2),
- synSent(3),
- synReceived(4),
- established(5),
- finWait1(6),
- finWait2(7),
- closeWait(8),
- lastAck(9),
- closing(10),
- timeWait(11),
- deleteTCB(12)
- }
- MAX-ACCESS read-write
- STATUS deprecated
- DESCRIPTION
- "The state of this TCP connection.
-
- The only value that may be set by a management station is
- deleteTCB(12). Accordingly, it is appropriate for an agent
- to return a `badValue' response if a management station
- attempts to set this object to any other value.
-
- If a management station sets this object to the value
- deleteTCB(12), then the TCB (as defined in [RFC793]) of
- the corresponding connection on the managed node is
- deleted, resulting in immediate termination of the
- connection.
-
- As an implementation-specific option, a RST segment may be
- sent from the managed node to the other TCP endpoint (note,
- however, that RST segments are not sent reliably)."
- ::= { tcpConnEntry 1 }
-
-tcpConnLocalAddress OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The local IP address for this TCP connection. In the case
- of a connection in the listen state willing to
- accept connections for any IP interface associated with the
- node, the value 0.0.0.0 is used."
- ::= { tcpConnEntry 2 }
-
-
-
-tcpConnLocalPort OBJECT-TYPE
- SYNTAX Integer32 (0..65535)
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The local port number for this TCP connection."
- ::= { tcpConnEntry 3 }
-
-tcpConnRemAddress OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The remote IP address for this TCP connection."
- ::= { tcpConnEntry 4 }
-
-tcpConnRemPort OBJECT-TYPE
- SYNTAX Integer32 (0..65535)
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The remote port number for this TCP connection."
- ::= { tcpConnEntry 5 }
-
--- conformance information
-
-tcpMIBConformance OBJECT IDENTIFIER ::= { tcpMIB 2 }
-
-tcpMIBCompliances OBJECT IDENTIFIER ::= { tcpMIBConformance 1 }
-tcpMIBGroups OBJECT IDENTIFIER ::= { tcpMIBConformance 2 }
-
--- compliance statements
-
-tcpMIBCompliance2 MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION
- "The compliance statement for systems that implement TCP.
-
- A number of INDEX objects cannot be
- represented in the form of OBJECT clauses in SMIv2 but
- have the following compliance requirements,
- expressed in OBJECT clause form in this description
- clause:
-
- -- OBJECT tcpConnectionLocalAddressType
- -- SYNTAX InetAddressType { ipv4(1), ipv6(2) }
- -- DESCRIPTION
- -- This MIB requires support for only global IPv4
-
-
-
- -- and IPv6 address types.
- --
- -- OBJECT tcpConnectionRemAddressType
- -- SYNTAX InetAddressType { ipv4(1), ipv6(2) }
- -- DESCRIPTION
- -- This MIB requires support for only global IPv4
- -- and IPv6 address types.
- --
- -- OBJECT tcpListenerLocalAddressType
- -- SYNTAX InetAddressType { unknown(0), ipv4(1),
- -- ipv6(2) }
- -- DESCRIPTION
- -- This MIB requires support for only global IPv4
- -- and IPv6 address types. The type unknown also
- -- needs to be supported to identify a special
- -- case in the listener table: a listen using
- -- both IPv4 and IPv6 addresses on the device.
- --
- "
- MODULE -- this module
- MANDATORY-GROUPS { tcpBaseGroup, tcpConnectionGroup,
- tcpListenerGroup }
- GROUP tcpHCGroup
- DESCRIPTION
- "This group is mandatory for systems that are capable
- of receiving or transmitting more than 1 million TCP
- segments per second. 1 million segments per second will
- cause a Counter32 to wrap in just over an hour."
- OBJECT tcpConnectionState
- SYNTAX INTEGER { closed(1), listen(2), synSent(3),
- synReceived(4), established(5),
- finWait1(6), finWait2(7), closeWait(8),
- lastAck(9), closing(10), timeWait(11) }
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required, nor is support for the value
- deleteTCB (12)."
- ::= { tcpMIBCompliances 2 }
-
-tcpMIBCompliance MODULE-COMPLIANCE
- STATUS deprecated
- DESCRIPTION
- "The compliance statement for IPv4-only systems that
- implement TCP. In order to be IP version independent, this
- compliance statement is deprecated in favor of
- tcpMIBCompliance2. However, agents are still encouraged
- to implement these objects in order to interoperate with
- the deployed base of managers."
-
-
-
- MODULE -- this module
- MANDATORY-GROUPS { tcpGroup }
- OBJECT tcpConnState
- MIN-ACCESS read-only
- DESCRIPTION
- "Write access is not required."
- ::= { tcpMIBCompliances 1 }
-
-
--- units of conformance
-
-tcpGroup OBJECT-GROUP
- OBJECTS { tcpRtoAlgorithm, tcpRtoMin, tcpRtoMax,
- tcpMaxConn, tcpActiveOpens,
- tcpPassiveOpens, tcpAttemptFails,
- tcpEstabResets, tcpCurrEstab, tcpInSegs,
- tcpOutSegs, tcpRetransSegs, tcpConnState,
- tcpConnLocalAddress, tcpConnLocalPort,
- tcpConnRemAddress, tcpConnRemPort,
- tcpInErrs, tcpOutRsts }
- STATUS deprecated
- DESCRIPTION
- "The tcp group of objects providing for management of TCP
- entities."
- ::= { tcpMIBGroups 1 }
-
-tcpBaseGroup OBJECT-GROUP
- OBJECTS { tcpRtoAlgorithm, tcpRtoMin, tcpRtoMax,
- tcpMaxConn, tcpActiveOpens,
- tcpPassiveOpens, tcpAttemptFails,
- tcpEstabResets, tcpCurrEstab, tcpInSegs,
- tcpOutSegs, tcpRetransSegs,
- tcpInErrs, tcpOutRsts }
- STATUS current
- DESCRIPTION
- "The group of counters common to TCP entities."
- ::= { tcpMIBGroups 2 }
-
-tcpConnectionGroup OBJECT-GROUP
- OBJECTS { tcpConnectionState, tcpConnectionProcess }
- STATUS current
- DESCRIPTION
- "The group provides general information about TCP
- connections."
- ::= { tcpMIBGroups 3 }
-
-tcpListenerGroup OBJECT-GROUP
- OBJECTS { tcpListenerProcess }
-
-
-
- STATUS current
- DESCRIPTION
- "This group has objects providing general information about
- TCP listeners."
- ::= { tcpMIBGroups 4 }
-
-tcpHCGroup OBJECT-GROUP
- OBJECTS { tcpHCInSegs, tcpHCOutSegs }
- STATUS current
- DESCRIPTION
- "The group of objects providing for counters of high speed
- TCP implementations."
- ::= { tcpMIBGroups 5 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/Mibs/UDP-MIB b/src/apps/snmp/LwipMibCompiler/Mibs/UDP-MIB
deleted file mode 100644
index b947b812..00000000
--- a/src/apps/snmp/LwipMibCompiler/Mibs/UDP-MIB
+++ /dev/null
@@ -1,579 +0,0 @@
-UDP-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Counter64,
- Unsigned32, IpAddress, mib-2 FROM SNMPv2-SMI
- MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
- InetAddress, InetAddressType,
- InetPortNumber FROM INET-ADDRESS-MIB;
-
-udpMIB MODULE-IDENTITY
- LAST-UPDATED "200505200000Z" -- May 20, 2005
- ORGANIZATION
- "IETF IPv6 Working Group
- http://www.ietf.org/html.charters/ipv6-charter.html"
- CONTACT-INFO
- "Bill Fenner (editor)
-
- AT&T Labs -- Research
- 75 Willow Rd.
- Menlo Park, CA 94025
-
- Phone: +1 650 330-7893
- Email:
-
- John Flick (editor)
-
- Hewlett-Packard Company
- 8000 Foothills Blvd. M/S 5557
- Roseville, CA 95747
-
- Phone: +1 916 785 4018
- Email:
-
- Send comments to "
-
-
-
- DESCRIPTION
- "The MIB module for managing UDP implementations.
- Copyright (C) The Internet Society (2005). This
- version of this MIB module is part of RFC 4113;
- see the RFC itself for full legal notices."
- REVISION "200505200000Z" -- May 20, 2005
- DESCRIPTION
- "IP version neutral revision, incorporating the
- following revisions:
-
- - Added udpHCInDatagrams and udpHCOutDatagrams in order
- to provide high-capacity counters for fast networks.
- - Added text to the descriptions of all counter objects
- to indicate how discontinuities are detected.
- - Deprecated the IPv4-specific udpTable and replaced it
- with the version neutral udpEndpointTable. This
- table includes support for connected UDP endpoints
- and support for identification of the operating
- system process associated with a UDP endpoint.
- - Deprecated the udpGroup and replaced it with object
- groups representing the current set of objects.
- - Deprecated udpMIBCompliance and replaced it with
- udpMIBCompliance2, which includes the compliance
- information for the new object groups.
-
- This version published as RFC 4113."
- REVISION "199411010000Z" -- November 1, 1994
- DESCRIPTION
- "Initial SMIv2 version, published as RFC 2013."
- REVISION "199103310000Z" -- March 31, 1991
- DESCRIPTION
- "The initial revision of this MIB module was part of
- MIB-II, published as RFC 1213."
- ::= { mib-2 50 }
-
--- the UDP group
-
-udp OBJECT IDENTIFIER ::= { mib-2 7 }
-
-udpInDatagrams OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of UDP datagrams delivered to UDP
- users.
-
-
-
-
-
- Discontinuities in the value of this counter can occur
- at re-initialization of the management system, and at
- other times as indicated by discontinuities in the
- value of sysUpTime."
- ::= { udp 1 }
-
-udpNoPorts OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of received UDP datagrams for which
- there was no application at the destination port.
-
- Discontinuities in the value of this counter can occur
- at re-initialization of the management system, and at
- other times as indicated by discontinuities in the
- value of sysUpTime."
- ::= { udp 2 }
-
-udpInErrors OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of received UDP datagrams that could not be
- delivered for reasons other than the lack of an
- application at the destination port.
-
- Discontinuities in the value of this counter can occur
- at re-initialization of the management system, and at
- other times as indicated by discontinuities in the
- value of sysUpTime."
- ::= { udp 3 }
-
-udpOutDatagrams OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of UDP datagrams sent from this
- entity.
-
- Discontinuities in the value of this counter can occur
- at re-initialization of the management system, and at
- other times as indicated by discontinuities in the
- value of sysUpTime."
- ::= { udp 4 }
-
-
-
-udpHCInDatagrams OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of UDP datagrams delivered to UDP
- users, for devices that can receive more than 1
- million UDP datagrams per second.
-
- Discontinuities in the value of this counter can occur
- at re-initialization of the management system, and at
- other times as indicated by discontinuities in the
- value of sysUpTime."
- ::= { udp 8 }
-
-udpHCOutDatagrams OBJECT-TYPE
- SYNTAX Counter64
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of UDP datagrams sent from this
- entity, for devices that can transmit more than 1
- million UDP datagrams per second.
-
- Discontinuities in the value of this counter can occur
- at re-initialization of the management system, and at
- other times as indicated by discontinuities in the
- value of sysUpTime."
- ::= { udp 9 }
-
---
--- { udp 6 } was defined as the ipv6UdpTable in RFC2454's
--- IPV6-UDP-MIB. This RFC obsoletes RFC 2454, so { udp 6 } is
--- obsoleted.
---
-
--- The UDP "Endpoint" table.
-
-udpEndpointTable OBJECT-TYPE
- SYNTAX SEQUENCE OF UdpEndpointEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table containing information about this entity's UDP
- endpoints on which a local application is currently
- accepting or sending datagrams.
-
-
-
-
-
- The address type in this table represents the address
- type used for the communication, irrespective of the
- higher-layer abstraction. For example, an application
- using IPv6 'sockets' to communicate via IPv4 between
- ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use
- InetAddressType ipv4(1).
-
- Unlike the udpTable in RFC 2013, this table also allows
- the representation of an application that completely
- specifies both local and remote addresses and ports. A
- listening application is represented in three possible
- ways:
-
- 1) An application that is willing to accept both IPv4
- and IPv6 datagrams is represented by a
- udpEndpointLocalAddressType of unknown(0) and a
- udpEndpointLocalAddress of ''h (a zero-length
- octet-string).
-
- 2) An application that is willing to accept only IPv4
- or only IPv6 datagrams is represented by a
- udpEndpointLocalAddressType of the appropriate
- address type and a udpEndpointLocalAddress of
- '0.0.0.0' or '::' respectively.
-
- 3) An application that is listening for datagrams only
- for a specific IP address but from any remote
- system is represented by a
- udpEndpointLocalAddressType of the appropriate
- address type, with udpEndpointLocalAddress
- specifying the local address.
-
- In all cases where the remote is a wildcard, the
- udpEndpointRemoteAddressType is unknown(0), the
- udpEndpointRemoteAddress is ''h (a zero-length
- octet-string), and the udpEndpointRemotePort is 0.
-
- If the operating system is demultiplexing UDP packets
- by remote address and port, or if the application has
- 'connected' the socket specifying a default remote
- address and port, the udpEndpointRemote* values should
- be used to reflect this."
- ::= { udp 7 }
-
-udpEndpointEntry OBJECT-TYPE
- SYNTAX UdpEndpointEntry
- MAX-ACCESS not-accessible
- STATUS current
-
-
-
- DESCRIPTION
- "Information about a particular current UDP endpoint.
-
- Implementers need to be aware that if the total number
- of elements (octets or sub-identifiers) in
- udpEndpointLocalAddress and udpEndpointRemoteAddress
- exceeds 111, then OIDs of column instances in this table
- will have more than 128 sub-identifiers and cannot be
- accessed using SNMPv1, SNMPv2c, or SNMPv3."
- INDEX { udpEndpointLocalAddressType,
- udpEndpointLocalAddress,
- udpEndpointLocalPort,
- udpEndpointRemoteAddressType,
- udpEndpointRemoteAddress,
- udpEndpointRemotePort,
- udpEndpointInstance }
- ::= { udpEndpointTable 1 }
-
-UdpEndpointEntry ::= SEQUENCE {
- udpEndpointLocalAddressType InetAddressType,
- udpEndpointLocalAddress InetAddress,
- udpEndpointLocalPort InetPortNumber,
- udpEndpointRemoteAddressType InetAddressType,
- udpEndpointRemoteAddress InetAddress,
- udpEndpointRemotePort InetPortNumber,
- udpEndpointInstance Unsigned32,
- udpEndpointProcess Unsigned32
- }
-
-udpEndpointLocalAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The address type of udpEndpointLocalAddress. Only
- IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
- unknown(0) if datagrams for all local IP addresses are
- accepted."
- ::= { udpEndpointEntry 1 }
-
-udpEndpointLocalAddress OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The local IP address for this UDP endpoint.
-
- The value of this object can be represented in three
-
-
-
- possible ways, depending on the characteristics of the
- listening application:
-
- 1. For an application that is willing to accept both
- IPv4 and IPv6 datagrams, the value of this object
- must be ''h (a zero-length octet-string), with
- the value of the corresponding instance of the
- udpEndpointLocalAddressType object being unknown(0).
-
- 2. For an application that is willing to accept only IPv4
- or only IPv6 datagrams, the value of this object
- must be '0.0.0.0' or '::', respectively, while the
- corresponding instance of the
- udpEndpointLocalAddressType object represents the
- appropriate address type.
-
- 3. For an application that is listening for data
- destined only to a specific IP address, the value
- of this object is the specific IP address for which
- this node is receiving packets, with the
- corresponding instance of the
- udpEndpointLocalAddressType object representing the
- appropriate address type.
-
- As this object is used in the index for the
- udpEndpointTable, implementors of this table should be
- careful not to create entries that would result in OIDs
- with more than 128 subidentifiers; else the information
- cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
- ::= { udpEndpointEntry 2 }
-
-udpEndpointLocalPort OBJECT-TYPE
- SYNTAX InetPortNumber
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The local port number for this UDP endpoint."
- ::= { udpEndpointEntry 3 }
-
-udpEndpointRemoteAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The address type of udpEndpointRemoteAddress. Only
- IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
- unknown(0) if datagrams for all remote IP addresses are
- accepted. Also, note that some combinations of
-
-
-
- udpEndpointLocalAdressType and
- udpEndpointRemoteAddressType are not supported. In
- particular, if the value of this object is not
- unknown(0), it is expected to always refer to the
- same IP version as udpEndpointLocalAddressType."
- ::= { udpEndpointEntry 4 }
-
-udpEndpointRemoteAddress OBJECT-TYPE
- SYNTAX InetAddress
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The remote IP address for this UDP endpoint. If
- datagrams from any remote system are to be accepted,
- this value is ''h (a zero-length octet-string).
- Otherwise, it has the type described by
- udpEndpointRemoteAddressType and is the address of the
- remote system from which datagrams are to be accepted
- (or to which all datagrams will be sent).
-
- As this object is used in the index for the
- udpEndpointTable, implementors of this table should be
- careful not to create entries that would result in OIDs
- with more than 128 subidentifiers; else the information
- cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
- ::= { udpEndpointEntry 5 }
-
-udpEndpointRemotePort OBJECT-TYPE
- SYNTAX InetPortNumber
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The remote port number for this UDP endpoint. If
- datagrams from any remote system are to be accepted,
- this value is zero."
- ::= { udpEndpointEntry 6 }
-
-udpEndpointInstance OBJECT-TYPE
- SYNTAX Unsigned32 (1..'ffffffff'h)
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The instance of this tuple. This object is used to
- distinguish among multiple processes 'connected' to
- the same UDP endpoint. For example, on a system
- implementing the BSD sockets interface, this would be
- used to support the SO_REUSEADDR and SO_REUSEPORT
- socket options."
-
-
-
- ::= { udpEndpointEntry 7 }
-
-udpEndpointProcess OBJECT-TYPE
- SYNTAX Unsigned32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The system's process ID for the process associated with
- this endpoint, or zero if there is no such process.
- This value is expected to be the same as
- HOST-RESOURCES-MIB::hrSWRunIndex or SYSAPPL-MIB::
- sysApplElmtRunIndex for some row in the appropriate
- tables."
- ::= { udpEndpointEntry 8 }
-
--- The deprecated UDP Listener table
-
--- The deprecated UDP listener table only contains information
--- about this entity's IPv4 UDP end-points on which a local
--- application is currently accepting datagrams. It does not
--- provide more detailed connection information, or information
--- about IPv6 endpoints.
-
-udpTable OBJECT-TYPE
- SYNTAX SEQUENCE OF UdpEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "A table containing IPv4-specific UDP listener
- information. It contains information about all local
- IPv4 UDP end-points on which an application is
- currently accepting datagrams. This table has been
- deprecated in favor of the version neutral
- udpEndpointTable."
- ::= { udp 5 }
-
-udpEntry OBJECT-TYPE
- SYNTAX UdpEntry
- MAX-ACCESS not-accessible
- STATUS deprecated
- DESCRIPTION
- "Information about a particular current UDP listener."
- INDEX { udpLocalAddress, udpLocalPort }
- ::= { udpTable 1 }
-
-UdpEntry ::= SEQUENCE {
- udpLocalAddress IpAddress,
- udpLocalPort Integer32
-
-
-
-}
-
-udpLocalAddress OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The local IP address for this UDP listener. In the
- case of a UDP listener that is willing to accept
- datagrams for any IP interface associated with the
- node, the value 0.0.0.0 is used."
- ::= { udpEntry 1 }
-
-udpLocalPort OBJECT-TYPE
- SYNTAX Integer32 (0..65535)
- MAX-ACCESS read-only
- STATUS deprecated
- DESCRIPTION
- "The local port number for this UDP listener."
- ::= { udpEntry 2 }
-
--- conformance information
-
-udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 }
-udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 }
-udpMIBGroups OBJECT IDENTIFIER ::= { udpMIBConformance 2 }
-
--- compliance statements
-
-udpMIBCompliance2 MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION
- "The compliance statement for systems that implement
- UDP.
-
- There are a number of INDEX objects that cannot be
- represented in the form of OBJECT clauses in SMIv2, but
- for which we have the following compliance
- requirements, expressed in OBJECT clause form in this
- description clause:
-
- -- OBJECT udpEndpointLocalAddressType
- -- SYNTAX InetAddressType { unknown(0), ipv4(1),
- -- ipv6(2), ipv4z(3),
- -- ipv6z(4) }
- -- DESCRIPTION
- -- Support for dns(5) is not required.
- -- OBJECT udpEndpointLocalAddress
-
-
-
- -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
- -- DESCRIPTION
- -- Support is only required for zero-length
- -- octet-strings, and for scoped and unscoped
- -- IPv4 and IPv6 addresses.
- -- OBJECT udpEndpointRemoteAddressType
- -- SYNTAX InetAddressType { unknown(0), ipv4(1),
- -- ipv6(2), ipv4z(3),
- -- ipv6z(4) }
- -- DESCRIPTION
- -- Support for dns(5) is not required.
- -- OBJECT udpEndpointRemoteAddress
- -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
- -- DESCRIPTION
- -- Support is only required for zero-length
- -- octet-strings, and for scoped and unscoped
- -- IPv4 and IPv6 addresses.
- "
- MODULE -- this module
- MANDATORY-GROUPS { udpBaseGroup, udpEndpointGroup }
- GROUP udpHCGroup
- DESCRIPTION
- "This group is mandatory for systems that
- are capable of receiving or transmitting more than
- 1 million UDP datagrams per second. 1 million
- datagrams per second will cause a Counter32 to
- wrap in just over an hour."
- ::= { udpMIBCompliances 2 }
-
-udpMIBCompliance MODULE-COMPLIANCE
- STATUS deprecated
- DESCRIPTION
- "The compliance statement for IPv4-only systems that
- implement UDP. For IP version independence, this
- compliance statement is deprecated in favor of
- udpMIBCompliance2. However, agents are still
- encouraged to implement these objects in order to
- interoperate with the deployed base of managers."
- MODULE -- this module
- MANDATORY-GROUPS { udpGroup }
- ::= { udpMIBCompliances 1 }
-
--- units of conformance
-
-udpGroup OBJECT-GROUP
- OBJECTS { udpInDatagrams, udpNoPorts,
- udpInErrors, udpOutDatagrams,
- udpLocalAddress, udpLocalPort }
-
-
-
- STATUS deprecated
- DESCRIPTION
- "The deprecated group of objects providing for
- management of UDP over IPv4."
- ::= { udpMIBGroups 1 }
-
-udpBaseGroup OBJECT-GROUP
- OBJECTS { udpInDatagrams, udpNoPorts, udpInErrors,
- udpOutDatagrams }
- STATUS current
- DESCRIPTION
- "The group of objects providing for counters of UDP
- statistics."
- ::= { udpMIBGroups 2 }
-
-udpHCGroup OBJECT-GROUP
- OBJECTS { udpHCInDatagrams, udpHCOutDatagrams }
- STATUS current
- DESCRIPTION
- "The group of objects providing for counters of high
- speed UDP implementations."
- ::= { udpMIBGroups 3 }
-
-udpEndpointGroup OBJECT-GROUP
- OBJECTS { udpEndpointProcess }
- STATUS current
- DESCRIPTION
- "The group of objects providing for the IP version
- independent management of UDP 'endpoints'."
- ::= { udpMIBGroups 4 }
-
-END
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/DisplayHint.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/DisplayHint.cs
deleted file mode 100644
index 831f1177..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/DisplayHint.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Collections;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public class DisplayHint
- {
- private enum NumType {
- dec,
- hex,
- oct,
- bin,
- str
- }
-
- private string _str;
- private NumType _type;
- private int _decimalPoints = 0;
-
- public DisplayHint(string str)
- {
- _str = str;
- if (str.StartsWith("d"))
- {
- _type = NumType.dec;
- if (str.StartsWith("d-"))
- {
- _decimalPoints = Convert.ToInt32(str.Substring(2));
- }
- }
- else if (str.StartsWith("o"))
- {
- _type = NumType.oct;
- }
- else if (str.StartsWith("h"))
- {
- _type = NumType.hex;
- }
- else if (str.StartsWith("b"))
- {
- _type = NumType.bin;
- }
- else
- {
- _type = NumType.str;
- foreach (char c in str)
- {
-
- }
- }
-
- }
-
- public override string ToString()
- {
- return _str;
- }
-
- internal object Decode(int i)
- {
- switch (_type)
- {
- case NumType.dec:
- if (_decimalPoints == 0)
- {
- return i;
- }
- else
- {
- return i / Math.Pow(10.0, _decimalPoints);
- }
- case NumType.hex:
- return System.Convert.ToString(i, 16);
- case NumType.oct:
- return System.Convert.ToString(i, 8);
- case NumType.bin:
- return System.Convert.ToString(i, 2);
- default:
- return null;
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/AgentCapabilities.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/AgentCapabilities.cs
deleted file mode 100644
index 2f79cce5..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/AgentCapabilities.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/31
- * Time: 13:18
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- ///
- /// The AGENT-CAPABILITIES construct is used to specify implementation characteristics of an SNMP agent sub-system with respect to object types and events.
- ///
- public sealed class AgentCapabilities : EntityBase
- {
- ///
- /// Creates an instance.
- ///
- ///
- ///
- ///
- public AgentCapabilities(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
-
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/EntityBase.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/EntityBase.cs
deleted file mode 100644
index 6da9b18c..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/EntityBase.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using System;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- public abstract class EntityBase: IEntity
- {
- private readonly IModule _module;
- private string _parent;
- private readonly uint _value;
- private readonly string _name;
-
- public EntityBase(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- {
- _module = module;
- _name = preAssignSymbols[0].ToString();
-
- Lexer.ParseOidValue(symbols, out _parent, out _value);
- }
-
- public IModule Module
- {
- get { return _module; }
- }
-
- public string Parent
- {
- get { return _parent; }
- set { _parent = value; }
- }
-
- public uint Value
- {
- get { return _value; }
- }
-
- public string Name
- {
- get { return _name; }
- }
-
- public virtual string Description
- {
- get { return string.Empty; }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/IEntity.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/IEntity.cs
deleted file mode 100644
index 7360a472..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/IEntity.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-// Entity interface.
-// Copyright (C) 2008-2010 Malcolm Crowe, Lex Li, and other contributors.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/19
- * Time: 20:10
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- ///
- /// Basic interface for all elements building up the MIB tree, thus having an OID as value.
- ///
- public interface IEntity : IDeclaration
- {
- ///
- /// Parent name.
- ///
- string Parent
- {
- get;
- set;
- }
-
- ///
- /// Value.
- ///
- uint Value
- {
- get;
- }
-
- ///
- /// Gets the description.
- ///
- /// The description.
- string Description
- {
- get;
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ModuleCompliance.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ModuleCompliance.cs
deleted file mode 100644
index 008c3545..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ModuleCompliance.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/21
- * Time: 19:35
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- ///
- /// Description of ModuleComplianceNode.
- ///
- public sealed class ModuleCompliance : EntityBase
- {
- public ModuleCompliance(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
-
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ModuleIdentity.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ModuleIdentity.cs
deleted file mode 100644
index 6de28ce6..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ModuleIdentity.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- public sealed class ModuleIdentity : EntityBase
- {
- public ModuleIdentity(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/NotificationGroup.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/NotificationGroup.cs
deleted file mode 100644
index 27d3e4ce..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/NotificationGroup.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/21
- * Time: 19:34
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- ///
- /// Description of NotificationGroupNode.
- ///
- public sealed class NotificationGroup : EntityBase
- {
- public NotificationGroup(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/NotificationType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/NotificationType.cs
deleted file mode 100644
index 7386e217..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/NotificationType.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- public sealed class NotificationType : EntityBase
- {
- public NotificationType(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectGroup.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectGroup.cs
deleted file mode 100644
index d846cdbb..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectGroup.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/21
- * Time: 19:27
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- ///
- /// Description of ObjectGroupNode.
- ///
- public sealed class ObjectGroup : EntityBase
- {
- public ObjectGroup(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectIdentity.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectIdentity.cs
deleted file mode 100644
index 9c1e0848..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectIdentity.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- ///
- /// Object identifier node.
- ///
- public sealed class ObjectIdentity : EntityBase
- {
-
- ///
- /// Creates a .
- ///
- /// Module name
- /// Header
- /// Lexer
- public ObjectIdentity(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectType.cs
deleted file mode 100644
index 3a8b567a..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/ObjectType.cs
+++ /dev/null
@@ -1,336 +0,0 @@
-using System;
-using System.Collections.Generic;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- public sealed class ObjectType : EntityBase, ITypeReferrer
- {
- private ITypeAssignment _syntax;
- private string _units;
- private MaxAccess _access;
- private Status _status;
- private string _description;
- private string _reference;
- private IList _indices;
- private string _augments;
- private string _defVal;
-
- public ObjectType(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- ParseProperties(preAssignSymbols);
- }
-
- private void ParseProperties(SymbolList header)
- {
- ISymbolEnumerator headerSymbols = header.GetSymbolEnumerator();
- Symbol temp = headerSymbols.NextNonEOLSymbol();
-
- // Skip name
- temp = headerSymbols.NextNonEOLSymbol();
- temp.Expect(Symbol.ObjectType);
-
- _syntax = ParseSyntax (Module, headerSymbols);
- _units = ParseUnits (headerSymbols);
- _access = ParseAccess (headerSymbols);
- _status = ParseStatus (headerSymbols);
- _description = ParseDescription (headerSymbols);
- _reference = ParseReference (headerSymbols);
- _indices = ParseIndices (headerSymbols);
- _augments = ParseAugments (headerSymbols);
- _defVal = ParseDefVal (headerSymbols);
- }
-
- private static string ParseAugments(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.Augments)
- {
- string augment = null;
-
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.OpenBracket);
-
- current = symbols.NextNonEOLSymbol();
- augment = current.ToString();
-
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.CloseBracket);
-
- return augment;
- }
- else if (current != null)
- {
- symbols.PutBack(current);
- }
-
- return null;
- }
-
- private static string ParseDefVal(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.DefVal)
- {
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.OpenBracket);
-
- string defVal = null;
- current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.OpenBracket)
- {
- int depth = 1;
- // TODO: decode this.
- while (depth > 0)
- {
- current = symbols.NextNonEOLSymbol();
- if (current == Symbol.OpenBracket)
- {
- depth++;
- }
- else if (current == Symbol.CloseBracket)
- {
- depth--;
- }
- }
- }
- else
- {
- defVal = current.ToString();
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.CloseBracket);
- }
-
- return defVal;
- }
- else if (current != null)
- {
- symbols.PutBack(current);
- }
-
- return null;
- }
-
- private static IList ParseIndices(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.Index)
- {
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.OpenBracket);
-
- List indices = new List();
-
- while (current != Symbol.CloseBracket)
- {
- current = symbols.NextNonEOLSymbol();
-
- bool lastIndex = false;
- if (current == Symbol.Implied)
- {
- current = symbols.NextNonEOLSymbol();
- lastIndex = true; // 'IMPLIED' may only be used for last index
- }
-
- current.Assert((current != Symbol.Comma) && (current != Symbol.CloseBracket), "Expected index name but found symbol!");
- indices.Add(current.ToString());
-
- current = symbols.NextNonEOLSymbol();
- if (lastIndex)
- {
- current.Expect(Symbol.CloseBracket);
- }
- else
- {
- current.Expect(Symbol.Comma, Symbol.CloseBracket);
- }
- }
-
- return indices;
- }
- else if (current != null)
- {
- symbols.PutBack(current);
- }
-
- return null;
- }
-
- private static string ParseReference(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.Reference)
- {
- return symbols.NextNonEOLSymbol().ToString();
- }
- else if (current != null)
- {
- symbols.PutBack(current);
- }
-
- return null;
- }
-
- private static string ParseDescription(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.Description)
- {
- return symbols.NextNonEOLSymbol().ToString().Trim(new char[] { '"' });
- }
- else if (current != null)
- {
- symbols.PutBack(current);
- }
-
- return null;
- }
-
- private static Status ParseStatus(ISymbolEnumerator symbols)
- {
- Status status = Status.obsolete;
-
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.Status);
-
- current = symbols.NextNonEOLSymbol();
- try
- {
- status = (Status)Enum.Parse(typeof(Status), current.ToString());
- }
- catch (ArgumentException)
- {
- current.Assert(false, "Invalid/Unknown status");
- }
-
- return status;
- }
-
- private static MaxAccess ParseAccess(ISymbolEnumerator symbols)
- {
- MaxAccess access = MaxAccess.notAccessible;
-
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.MaxAccess, Symbol.Access);
-
- current = symbols.NextNonEOLSymbol();
- switch (current.ToString())
- {
- case "not-accessible":
- access = MaxAccess.notAccessible;
- break;
- case "accessible-for-notify":
- access = MaxAccess.accessibleForNotify;
- break;
- case "read-only":
- access = MaxAccess.readOnly;
- break;
- case "read-write":
- access = MaxAccess.readWrite;
- break;
- case "read-create":
- access = MaxAccess.readCreate;
- break;
- case "write-only":
- access = MaxAccess.readWrite;
- break;
- default:
- current.Assert(false, "Invalid/Unknown access");
- break;
- }
-
- return access;
- }
-
- private static string ParseUnits(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.Units)
- {
- return symbols.NextNonEOLSymbol().ToString();
- }
- else if (current != null)
- {
- symbols.PutBack(current);
- }
-
- return null;
- }
-
- private static ITypeAssignment ParseSyntax(IModule module, ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.Syntax);
-
- return Lexer.ParseBasicTypeDef(module, String.Empty, symbols, isMacroSyntax: true);
- }
-
- private static bool IsProperty(Symbol sym)
- {
- string s = sym.ToString();
- return s == "SYNTAX" || s == "MAX-ACCESS" || s == "STATUS" || s == "DESCRIPTION";
- }
-
- public ITypeAssignment Syntax
- {
- get { return _syntax; }
- internal set { _syntax = value; }
- }
-
- public override string Description
- {
- get { return _description; }
- }
-
- public MaxAccess Access
- {
- get { return _access; }
- }
-
- public IList Indices
- {
- get { return _indices; }
- }
-
- public string Augments
- {
- get { return _augments; }
- }
-
- #region ITypeReferrer Member
-
- public ITypeAssignment ReferredType
- {
- get { return _syntax; }
- set { _syntax = value; }
- }
-
- public ITypeAssignment BaseType
- {
- get
- {
- ITypeReferrer tr = this;
- ITypeAssignment result = null;
-
- while ((tr != null) && (tr.ReferredType != null))
- {
- result = tr.ReferredType;
- tr = tr.ReferredType as ITypeReferrer;
- }
-
- return result;
- }
- }
-
- #endregion
-
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/OidValueAssignment.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/OidValueAssignment.cs
deleted file mode 100644
index 3c659407..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Entities/OidValueAssignment.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/17
- * Time: 20:49
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Entities
-{
- ///
- /// Object identifier node.
- ///
- public sealed class OidValueAssignment : EntityBase
- {
- ///
- /// Creates a .
- ///
- /// Module
- /// Name
- /// Lexer
- public OidValueAssignment(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- : base(module, preAssignSymbols, symbols)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Exports.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Exports.cs
deleted file mode 100644
index c1e66e32..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Exports.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/6/7
- * Time: 17:34
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements
-{
- ///
- /// Description of Exports.
- ///
- public sealed class Exports: IElement
- {
- private IModule _module;
- private readonly IList _types = new List();
-
- public Exports(IModule module, ISymbolEnumerator s)
- {
- _module = module;
-
- Symbol previous = null;
- Symbol current;
- do
- {
- current = s.NextSymbol();
-
- if (current == Symbol.EOL)
- {
- continue;
- }
- else if (((current == Symbol.Comma) || (current == Symbol.Semicolon)) && (previous != null))
- {
- previous.AssertIsValidIdentifier();
- _types.Add(previous.ToString());
- }
-
- previous = current;
- }
- while (current != Symbol.Semicolon);
- }
-
- #region IElement Member
-
- public IModule Module
- {
- get { return _module; }
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/IDeclaration.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/IDeclaration.cs
deleted file mode 100644
index 0958ac61..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/IDeclaration.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements
-{
- public interface IDeclaration: IElement
- {
- ///
- /// Name.
- ///
- string Name
- {
- get;
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/IElement.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/IElement.cs
deleted file mode 100644
index e2db7fd3..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/IElement.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-// Construct interface.
-// Copyright (C) 2008-2010 Malcolm Crowe, Lex Li, and other contributors.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-namespace Lextm.SharpSnmpLib.Mib.Elements
-{
- ///
- /// Construct interface.
- ///
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1040:AvoidEmptyInterfaces")]
- public interface IElement
- {
- ///
- /// Containing module.
- ///
- IModule Module
- {
- get;
- }
-
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/ITypeReferrer.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/ITypeReferrer.cs
deleted file mode 100644
index f0f57056..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/ITypeReferrer.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements
-{
- public interface ITypeReferrer
- {
- ITypeAssignment ReferredType { get; set; }
- ITypeAssignment BaseType { get; }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Imports.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Imports.cs
deleted file mode 100644
index 3a4ec6ec..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Imports.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/31
- * Time: 12:07
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements
-{
- ///
- /// The IMPORTS construct is used to specify items used in the current MIB module which are defined in another MIB module or ASN.1 module.
- ///
- public sealed class Imports : List, IElement
- {
- private IModule _module;
-
- ///
- /// Creates an instance.
- ///
- ///
- public Imports(IModule module, ISymbolEnumerator symbols)
- {
- _module = module;
-
- Symbol current;
- while ((current = symbols.NextSymbol()) != Symbol.Semicolon)
- {
- if (current == Symbol.EOL)
- {
- continue;
- }
-
- ImportsFrom imports = new ImportsFrom(current, symbols);
-
- this.Add(imports);
- }
- }
-
- public IList Dependents
- {
- get
- {
- List result = new List();
-
- foreach (ImportsFrom import in this)
- {
- result.Add(import.Module);
- }
-
- return result;
- }
- }
-
- public ImportsFrom GetImportFromType(string type)
- {
- foreach (ImportsFrom import in this)
- {
- if (import.Types.Contains(type))
- {
- return import;
- }
- }
-
- return null;
- }
-
- #region IElement Member
-
- public IModule Module
- {
- get { return _module; }
- }
-
- #endregion
-
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/ImportsFrom.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/ImportsFrom.cs
deleted file mode 100644
index cd5154bd..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/ImportsFrom.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/31
- * Time: 12:07
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements
-{
- public sealed class ImportsFrom
- {
- private readonly string _module;
- private readonly List _types = new List();
-
- public ImportsFrom(Symbol last, ISymbolEnumerator symbols)
- {
- Symbol previous = last;
- Symbol current;
- while ((current = symbols.NextSymbol()) != Symbol.From)
- {
- if (current == Symbol.EOL)
- {
- continue;
- }
-
- if (current == Symbol.Comma)
- {
- previous.AssertIsValidIdentifier();
- _types.Add(previous.ToString());
- }
-
- previous = current;
- }
-
- previous.AssertIsValidIdentifier();
- _types.Add(previous.ToString());
-
- _module = symbols.NextSymbol().ToString().ToUpperInvariant(); // module names are uppercase
- }
-
- public string Module
- {
- get { return _module; }
- }
-
- public IList Types
- {
- get { return _types; }
- }
-
- public override string ToString()
- {
- return string.Join(", ", _types.ToArray()) + " FROM " + _module;
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/TrapType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/TrapType.cs
deleted file mode 100644
index 9c5ca457..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/TrapType.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/31
- * Time: 12:20
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-namespace Lextm.SharpSnmpLib.Mib.Elements
-{
- public sealed class TrapType : IDeclaration
- {
- private readonly IModule _module;
- private readonly string _name;
- private readonly int _value;
-
- public TrapType(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- {
- _module = module;
- _name = preAssignSymbols[0].ToString();
-
- Symbol valueSymbol = symbols.NextNonEOLSymbol();
-
- bool succeeded = int.TryParse(valueSymbol.ToString(), out _value);
- valueSymbol.Assert(succeeded, "not a decimal");
- }
-
- public int Value
- {
- get { return _value; }
- }
-
- #region IDeclaration Member
-
- public IModule Module
- {
- get { return _module; }
- }
-
- public string Name
- {
- get { return _name; }
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/BaseType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/BaseType.cs
deleted file mode 100644
index a4412812..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/BaseType.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public abstract class BaseType : ITypeAssignment
- {
- private IModule _module;
- private string _name;
-
- protected BaseType(IModule module, string name)
- {
- _module = module;
- _name = name;
- }
-
- public virtual IModule Module
- {
- // differentiate between:
- // FddiTimeNano ::= INTEGER (0..2147483647)
- // which is an IntegerType which appears under Types in a MibModule and therefore has a name and module
- // and
- // SYNTAX INTEGER (0..2147483647)
- // which is also an IntegerType but not defined as a separate type and therefore has NO name and NO module
- get
- {
- if (!string.IsNullOrEmpty(_name))
- {
- return _module;
- }
- else
- {
- return null;
- }
- }
- protected set { _module = value; }
- }
-
- public virtual string Name
- {
- get
- {
- if (!string.IsNullOrEmpty(_name))
- {
- return _name;
- }
- else
- {
- return "{ Implicit Base Type }";
- }
- }
- protected set { _name = value; }
- }
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/BitsType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/BitsType.cs
deleted file mode 100644
index a64c8dbe..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/BitsType.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public class BitsType : BaseType
- {
- private ValueMap _map;
-
- public BitsType(IModule module, string name, ISymbolEnumerator symbols)
- : base(module, name)
- {
- _map = Lexer.DecodeEnumerations(symbols);
- }
-
- public ValueMap Map
- {
- get { return _map; }
- }
-
- public string this[int value]
- {
- get { return _map[value]; }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Choice.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Choice.cs
deleted file mode 100644
index c66d1f3f..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Choice.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/31
- * Time: 11:39
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- ///
- /// The CHOICE type represents a list of alternatives..
- ///
- public sealed class Choice : BaseType
- {
- ///
- /// Creates a instance.
- ///
- ///
- ///
- ///
- public Choice(IModule module, string name, ISymbolEnumerator symbols)
- : base(module, name)
- {
- while (symbols.NextNonEOLSymbol() != Symbol.OpenBracket)
- {
- }
-
- while (symbols.NextNonEOLSymbol() != Symbol.CloseBracket)
- {
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/ITypeAssignment.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/ITypeAssignment.cs
deleted file mode 100644
index e962f9df..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/ITypeAssignment.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public interface ITypeAssignment : IDeclaration
- {
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/IntegerType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/IntegerType.cs
deleted file mode 100644
index 4841ad51..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/IntegerType.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/7/25
- * Time: 20:41
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- ///
- /// The INTEGER type represents a list of alternatives, or a range of numbers..
- /// Includes Integer32 as it's indistinguishable from INTEGER.
- ///
- /**
- * As this type is used for Integer32 as well as INTEGER it incorrectly
- * allows enumeration sub-typing of Integer32. This is ok as currently we
- * do not care about detecting incorrect MIBs and this doesn't block the
- * decoding of correct MIBs.
- */
- public sealed class IntegerType : BaseType
- {
- public enum Types
- {
- Integer,
- Integer32
- }
-
- private Types _type;
- private bool _isEnumeration;
- private ValueMap _map;
- private ValueRanges _ranges;
-
- ///
- /// Creates an instance.
- ///
- ///
- ///
- ///
- public IntegerType(IModule module, string name, Symbol type, ISymbolEnumerator symbols)
- : base (module, name)
- {
- Types? t = GetExactType(type);
- type.Assert(t.HasValue, "Unknown symbol for unsigned type!");
- _type = t.Value;
-
- _isEnumeration = false;
-
- Symbol current = symbols.NextNonEOLSymbol();
- if (current == Symbol.OpenBracket)
- {
- _isEnumeration = true;
- symbols.PutBack(current);
- _map = Lexer.DecodeEnumerations(symbols);
- }
- else if (current == Symbol.OpenParentheses)
- {
- symbols.PutBack(current);
- _ranges = Lexer.DecodeRanges(symbols);
- current.Assert(!_ranges.IsSizeDeclaration, "SIZE keyword is not allowed for ranges of integer types!");
- }
- else
- {
- symbols.PutBack(current);
- }
- }
-
- public Types Type
- {
- get { return _type; }
- }
-
- public ValueRanges Ranges
- {
- get { return _ranges; }
- }
-
- public bool IsEnumeration
- {
- get
- {
- return _isEnumeration;
- }
- }
-
- public ValueMap Enumeration
- {
- get { return _isEnumeration ? _map : null; }
- }
-
- internal static Types? GetExactType(Symbol symbol)
- {
- if (symbol == Symbol.Integer)
- {
- // represents the ASN.1 builtin INTEGER type:
- // may be represent any arbitrary (signed/unsigned) integer (in theory may have any size)
- return Types.Integer;
- }
- else if (symbol == Symbol.Integer32)
- {
- // Integer32 ::= INTEGER (-2147483648..2147483647) // from SNMPv2-SMI
- return Types.Integer32;
- }
-
- return null;
- }
-
- internal static bool IsIntegerType(Symbol symbol)
- {
- return GetExactType(symbol).HasValue;
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/IpAddressType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/IpAddressType.cs
deleted file mode 100644
index 84d78d66..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/IpAddressType.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public class IpAddressType : OctetStringType
- {
- public IpAddressType(IModule module, string name, ISymbolEnumerator symbols)
- : base(module, name, symbols)
- {
- if (this.Size.Count != 0)
- {
- throw new MibException("Size definition not allowed for IpAddress type!");
- }
-
- // IpAddress type is defined as:
- // IpAddress ::=
- // [APPLICATION 0]
- // IMPLICIT OCTET STRING (SIZE (4))
- this.Size.Add(new ValueRange(4, null));
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Macro.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Macro.cs
deleted file mode 100644
index 9f911ac9..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Macro.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public sealed class Macro : ITypeAssignment
- {
- private IModule _module;
- private string _name;
-
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals", MessageId = "temp")]
- public Macro(IModule module, SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- {
- _module = module;
- _name = preAssignSymbols[0].ToString();
-
- while (symbols.NextNonEOLSymbol() != Symbol.Begin)
- {
- }
-
- while (symbols.NextNonEOLSymbol() != Symbol.End)
- {
- }
- }
-
- public IModule Module
- {
- get { return _module; }
- }
-
- public string Name
- {
- get { return _name; }
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/ObjectIdentifierType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/ObjectIdentifierType.cs
deleted file mode 100644
index cacd415a..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/ObjectIdentifierType.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public class ObjectIdentifierType : BaseType
- {
- public ObjectIdentifierType(IModule module, string name, ISymbolEnumerator symbols)
- : base(module, name)
- {
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/OctetStringType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/OctetStringType.cs
deleted file mode 100644
index f6453ce8..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/OctetStringType.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public class OctetStringType : BaseType
- {
- private ValueRanges _size;
-
- public OctetStringType(IModule module, string name, ISymbolEnumerator symbols)
- : base(module, name)
- {
- Symbol current = symbols.NextNonEOLSymbol();
- if (current == Symbol.OpenParentheses)
- {
- symbols.PutBack(current);
- _size = Lexer.DecodeRanges(symbols);
- current.Assert(_size.IsSizeDeclaration, "SIZE keyword is required for ranges of octet string!");
- }
- else
- {
- symbols.PutBack(current);
- _size = new ValueRanges(isSizeDecl: true);
- }
- }
-
- public ValueRanges Size
- {
- get { return _size; }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/OpaqueType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/OpaqueType.cs
deleted file mode 100644
index 5a7eda33..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/OpaqueType.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public class OpaqueType : OctetStringType
- {
- public OpaqueType(IModule module, string name, ISymbolEnumerator symbols)
- : base(module, name, symbols)
- {
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Sequence.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Sequence.cs
deleted file mode 100644
index 0162de30..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/Sequence.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/21
- * Time: 19:43
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- ///
- /// The SEQUENCE type represents a set of specified types. This is roughtly analogous to a struct in C.
- ///
- public sealed class Sequence : BaseType
- {
- ///
- /// Creates a instance.
- ///
- /// The module.
- /// The name.
- /// The enumerator.
- public Sequence(IModule module, string name, ISymbolEnumerator symbols)
- : base(module, name)
- {
- // parse between ( )
- Symbol temp = symbols.NextNonEOLSymbol();
- int bracketSection = 0;
- temp.Expect(Symbol.OpenBracket);
- bracketSection++;
- while (bracketSection > 0)
- {
- temp = symbols.NextNonEOLSymbol();
- if (temp == Symbol.OpenBracket)
- {
- bracketSection++;
- }
- else if (temp == Symbol.CloseBracket)
- {
- bracketSection--;
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/SequenceOf.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/SequenceOf.cs
deleted file mode 100644
index 4160ca40..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/SequenceOf.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- ///
- /// The SEQUENCE OF type represents a list of data sets..
- ///
- public sealed class SequenceOf : BaseType
- {
- private string _type;
-
- public SequenceOf(IModule module, string name, ISymbolEnumerator sym)
- : base(module, name)
- {
- _type = sym.NextNonEOLSymbol().ToString();
- }
-
- public string Type
- {
- get { return _type; }
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/TextualConvention.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/TextualConvention.cs
deleted file mode 100644
index ab477315..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/TextualConvention.cs
+++ /dev/null
@@ -1,238 +0,0 @@
-using System;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- public sealed class TextualConvention : ITypeAssignment, ITypeReferrer
- {
- private IModule _module;
- private string _name;
- private DisplayHint _displayHint;
- private Status _status;
- private string _description;
- private string _reference;
- private ITypeAssignment _syntax;
-
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "module")]
- public TextualConvention(IModule module, string name, ISymbolEnumerator symbols)
- {
- _module = module;
- _name = name;
-
- _displayHint = ParseDisplayHint(symbols);
- _status = ParseStatus(symbols);
- _description = ParseDescription(symbols);
- _reference = ParseReference(symbols);
- _syntax = ParseSyntax(module, symbols);
- }
-
- private static DisplayHint ParseDisplayHint(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.DisplayHint)
- {
- return new DisplayHint(symbols.NextNonEOLSymbol().ToString().Trim(new char[] { '"' }));
- }
-
- symbols.PutBack(current);
- return null;
- }
-
- private static Status ParseStatus(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.Status);
-
- try
- {
- return (Status)Enum.Parse(typeof(Status), symbols.NextNonEOLSymbol().ToString());
- }
- catch (ArgumentException)
- {
- current.Assert(false, "Invalid/Unknown status");
- }
-
- return Status.current;
- }
-
- private static string ParseDescription(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.Description);
-
- return symbols.NextNonEOLSymbol().ToString().Trim(new char[] { '"' });
- }
-
- private static string ParseReference(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.Reference)
- {
- string reference = symbols.NextNonEOLSymbol().ToString();
- if ((reference.Length >= 2) && reference.StartsWith("\"") && reference.EndsWith("\""))
- {
- return reference.Substring(1, reference.Length-2);
- }
-
- return reference;
- }
-
- symbols.PutBack(current);
- return null;
- }
-
- private static ITypeAssignment ParseSyntax(IModule module, ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.Syntax);
-
- /*
- * RFC2579 definition:
- * Syntax ::= -- Must be one of the following:
- * -- a base type (or its refinement), or
- * -- a BITS pseudo-type
- * type
- * | "BITS" "{" NamedBits "}"
- *
- * From section 3.5:
- * The data structure must be one of the alternatives defined
- * in the ObjectSyntax CHOICE or the BITS construct. Note
- * that this means that the SYNTAX clause of a Textual
- * Convention can not refer to a previously defined Textual
- * Convention.
- *
- * The SYNTAX clause of a TEXTUAL CONVENTION macro may be
- * sub-typed in the same way as the SYNTAX clause of an
- * OBJECT-TYPE macro.
- *
- * Therefore the possible values are (grouped by underlying type):
- * INTEGER, Integer32
- * OCTET STRING, Opaque
- * OBJECT IDENTIFIER
- * IpAddress
- * Counter64
- * Unsigned32, Counter32, Gauge32, TimeTicks
- * BITS
- * With appropriate sub-typing.
- */
-
- return Lexer.ParseBasicTypeDef(module, String.Empty, symbols, isMacroSyntax: true);
- }
-
- public IModule Module
- {
- get { return _module; }
- }
-
- public string Name
- {
- get { return _name; }
- }
-
- public string DisplayHint
- {
- get { return _displayHint == null ? null : _displayHint.ToString(); }
- }
-
- public Status Status
- {
- get { return _status; }
- }
-
- public string Description
- {
- get { return _description; }
- }
-
- public string Reference
- {
- get { return _reference; }
- }
-
- public ITypeAssignment Syntax
- {
- get { return _syntax; }
- }
-
- //internal object Decode(Variable v)
- //{
- // if (_syntax is IntegerType)
- // {
- // Integer32 i = v.Data as Integer32;
- // if (i == null || (_syntax as IntegerType).IsEnumeration)
- // {
- // return null;
- // }
- // else if (_displayHint != null)
- // {
- // return _displayHint.Decode(i.ToInt32());
- // }
- // else
- // {
- // return i.ToInt32();
- // }
- // }
- // else if (_syntax is UnsignedType)
- // {
- // Integer32 i = v.Data as Integer32;
- // if (i == null)
- // {
- // return null;
- // }
- // else if (_displayHint != null)
- // {
- // return _displayHint.Decode(i.ToInt32());
- // }
- // else
- // {
- // return i.ToInt32();
- // }
- // }
- // else if (_syntax is OctetStringType)
- // {
- // OctetString o = v.Data as OctetString;
- // if (o == null)
- // {
- // return null;
- // }
- // else
- // {
- // // TODO: Follow the format specifier for octet strings.
- // return null;
- // }
- // }
- // else
- // {
- // return null;
- // }
- //}
-
- #region ITypeReferrer Member
-
- public ITypeAssignment ReferredType
- {
- get { return _syntax; }
- set { _syntax = value; }
- }
-
- public ITypeAssignment BaseType
- {
- get
- {
- ITypeReferrer tr = this;
- ITypeAssignment result = this;
-
- while ((tr != null) && (tr.ReferredType != null))
- {
- result = tr.ReferredType;
- tr = tr.ReferredType as ITypeReferrer;
- }
-
- return result;
- }
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/TypeAssignment.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/TypeAssignment.cs
deleted file mode 100644
index b074ef62..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/TypeAssignment.cs
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/18
- * Time: 13:24
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-using System;
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- /* Please be aware of the following possible constructs:
- *
- * isnsRegEntityIndex OBJECT-TYPE
- * SYNTAX IsnsEntityIndexIdOrZero
- * ( 1 .. 4294967295 )
- * MAX-ACCESS not-accessible
- *
- *
- */
-
- ///
- ///
- public sealed class TypeAssignment : ITypeAssignment
- {
- private IModule _module;
- private string _name;
- private string _type;
- private ValueRanges _ranges;
- private ValueMap _map;
-
- ///
- /// Creates an .
- ///
- /// The module.
- /// The name.
- /// The type.
- /// The symbols.
- /// if set to true indicates that the syntax clause of a macro is parsed (e.g. OBJECT-TYPE, TEXTUAL-CONVENTION).
- public TypeAssignment(IModule module, string name, Symbol type, ISymbolEnumerator symbols, bool isMacroSyntax)
- {
- _module = module;
- _name = name;
-
- SymbolList typeSymbols = new SymbolList();
- typeSymbols.Add(type);
-
- Symbol current = symbols.NextSymbol();
- while (current != Symbol.EOL)
- {
- if (current == Symbol.OpenParentheses)
- {
- // parse range of unknown type
- symbols.PutBack(current);
- _ranges = Lexer.DecodeRanges(symbols);
- break;
- }
- else if (current == Symbol.OpenBracket)
- {
- symbols.PutBack(current);
- _map = Lexer.DecodeEnumerations(symbols);
- break;
- }
-
- typeSymbols.Add(current);
- current = symbols.NextSymbol();
- }
-
- _type = typeSymbols.Join(" ");
-
- if ((_ranges == null) && (_map == null))
- {
- current = symbols.NextNonEOLSymbol();
- if (current == Symbol.OpenParentheses)
- {
- // parse range of unknown type
- symbols.PutBack(current);
- _ranges = Lexer.DecodeRanges(symbols);
- }
- else if (current == Symbol.OpenBracket)
- {
- symbols.PutBack(current);
- _map = Lexer.DecodeEnumerations(symbols);
- }
- else if (current != null)
- {
- symbols.PutBack(current);
- }
- }
-
- if (isMacroSyntax)
- {
- // inside a macro the syntax is limited to one line, except there are brackets used for ranges/enums
- return;
- }
-
- // outside macro Syntax clause we wait for two consecutive linebreaks with a following valid identifier as end condition
- Symbol previous = current;
- Symbol veryPrevious = null;
-
- while ((current = symbols.NextSymbol()) != null)
- {
- if ((veryPrevious == Symbol.EOL) && (previous == Symbol.EOL) && current.IsValidIdentifier())
- {
- symbols.PutBack(current);
- return;
- }
-
- veryPrevious = previous;
- previous = current;
- }
-
- previous.Assert(false, "end of file reached");
- }
-
- public string Type
- {
- get { return _type; }
- }
-
- public ValueRanges Ranges
- {
- get { return _ranges; }
- }
-
- public IDictionary Map
- {
- get { return _map; }
- }
-
- #region ITypeAssignment Member
-
- public IModule Module
- {
- get { return _module; }
- }
-
- public string Name
- {
- get { return _name; }
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/UnsignedType.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/UnsignedType.cs
deleted file mode 100644
index 4866fc90..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Elements/Types/UnsignedType.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib.Elements.Types
-{
- /**
- * As this type is used for Counter32 and TimeTicks as well as Unsigned32
- * and Gauge32 it incorrectly allows range restrictions of Counter32 and
- * TimeTicks. This is ok as currently we do not care about detecting
- * incorrect MIBs and this doesn't block the decoding of correct MIBs.
- */
- public class UnsignedType : BaseType
- {
- public enum Types
- {
- Unsigned32,
- Gauge32,
- Counter32,
- TimeTicks,
- Counter64,
- }
-
- private Types _type;
- private ValueRanges _ranges;
-
- public UnsignedType(IModule module, string name, Symbol type, ISymbolEnumerator symbols)
- : base(module, name)
- {
- Types? t = GetExactType(type);
- type.Assert(t.HasValue, "Unknown symbol for unsigned type!");
- _type = t.Value;
-
- Symbol current = symbols.NextNonEOLSymbol();
- if (current == Symbol.OpenParentheses)
- {
- current.Assert((_type != Types.Counter64), "Ranges are not supported for Counter64 type!"); // our internal struct can only hold int64 values
-
- symbols.PutBack(current);
- _ranges = Lexer.DecodeRanges(symbols);
- current.Assert(!_ranges.IsSizeDeclaration, "SIZE keyword is not allowed for ranges of unsigned types!");
- }
- else
- {
- symbols.PutBack(current);
- }
- }
-
- public Types Type
- {
- get { return _type; }
- }
-
- public ValueRanges Ranges
- {
- get { return _ranges; }
- }
-
- internal static Types? GetExactType(Symbol symbol)
- {
- if (symbol == Symbol.Unsigned32)
- {
- // [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) // from SNMPv2-SMI
- return Types.Unsigned32;
- }
- else if (symbol == Symbol.Gauge32)
- {
- // [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) // from SNMPv2-SMI
- return Types.Gauge32;
- }
- else if (symbol == Symbol.Counter32)
- {
- // [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) // from SNMPv2-SMI
- return Types.Counter32;
- }
- else if (symbol == Symbol.TimeTicks)
- {
- // [APPLICATION 3] IMPLICIT INTEGER (0..4294967295) // from SNMPv2-SMI + RFC1155-SMI
- return Types.TimeTicks;
- }
- else if (symbol == Symbol.Gauge)
- {
- // [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) // from RFC1155-SMI
- return Types.Gauge32;
- }
- else if (symbol == Symbol.Counter)
- {
- // [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) // from RFC1155-SMI
- return Types.Counter32;
- }
- else if (symbol == Symbol.Counter64)
- {
- // [APPLICATION 6] IMPLICIT INTEGER (0..18446744073709551615) // from SNMPv2-SMI
- return Types.Counter64;
- }
-
- return null;
- }
-
- internal static bool IsUnsignedType(Symbol symbol)
- {
- return GetExactType(symbol).HasValue;
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/IModule.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/IModule.cs
deleted file mode 100644
index d41ab129..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/IModule.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-// Module interface.
-// Copyright (C) 2008-2010 Malcolm Crowe, Lex Li, and other contributors.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 5/1/2009
- * Time: 10:40 AM
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-using System.Collections.Generic;
-using Lextm.SharpSnmpLib.Mib.Elements.Entities;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-using Lextm.SharpSnmpLib.Mib.Elements;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- ///
- /// MIB Module interface.
- ///
- public interface IModule
- {
- ///
- /// Module name.
- ///
- string Name
- {
- get;
- }
-
- Exports Exports
- {
- get;
- }
-
- Imports Imports
- {
- get;
- }
-
- ///
- /// Entities + Types + all other elements implementing IDeclaration
- ///
- IList Declarations
- {
- get;
- }
-
- ///
- /// Entities.
- ///
- IList Entities
- {
- get;
- }
-
- ///
- /// Known types.
- ///
- IList Types
- {
- get;
- }
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ISymbolEnumerator.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ISymbolEnumerator.cs
deleted file mode 100644
index e9dd5920..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ISymbolEnumerator.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public interface ISymbolEnumerator: IEnumerator
- {
- bool PutBack(Symbol item);
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Lexer.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Lexer.cs
deleted file mode 100644
index d54b9b93..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Lexer.cs
+++ /dev/null
@@ -1,581 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/17
- * Time: 16:50
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- ///
- /// Lexer class that parses MIB files into symbol list.
- ///
- public sealed class Lexer
- {
- private readonly SymbolList _symbols = new SymbolList();
-
- public Lexer(string file)
- : this(file, new StreamReader(file))
- {
- }
-
- public Lexer(string file, TextReader stream)
- {
- this.Parse(file, stream);
- }
-
-
- public ISymbolEnumerator GetEnumerator()
- {
- return _symbols.GetSymbolEnumerator();
- }
-
-
- #region Parsing of MIB File
-
- private class ParseParams
- {
- public string File;
- public StringBuilder Temp = new StringBuilder();
- public bool StringSection = false;
- public bool AssignSection = false;
- public bool AssignAhead = false;
- public bool DotSection = false;
-
- }
-
- ///
- /// Parses MIB file to symbol list.
- ///
- /// File
- /// File stream
- private void Parse(string file, TextReader stream)
- {
- if (stream == null)
- {
- throw new ArgumentNullException("stream");
- }
-
- ParseParams pp = new ParseParams();
- pp.File = file;
-
- string line;
- int row = 0;
- while ((line = stream.ReadLine()) != null)
- {
- if (!pp.StringSection && line.TrimStart().StartsWith("--", StringComparison.Ordinal))
- {
- row++;
- continue; // commented line
- }
-
- ParseLine(pp, line, row);
- row++;
- }
- }
-
- private void ParseLine(ParseParams pp, string line, int row)
- {
- line = line + "\n";
- int count = line.Length;
- for (int i = 0; i < count; i++)
- {
- char current = line[i];
- bool moveNext = Parse(pp, current, row, i);
- if (moveNext)
- {
- break;
- }
- }
- }
-
- private bool Parse(ParseParams pp, char current, int row, int column)
- {
- switch (current)
- {
- case '\n':
- case '{':
- case '}':
- case '(':
- case ')':
- case '[':
- case ']':
- case ';':
- case ',':
- case '|':
- if (!pp.StringSection)
- {
- bool moveNext = ParseLastSymbol(pp, row, column);
- if (moveNext)
- {
- _symbols.Add(CreateSpecialSymbol(pp.File, '\n', row, column));
- return true;
- }
-
- _symbols.Add(CreateSpecialSymbol(pp.File, current, row, column));
- return false;
- }
-
- break;
- case '"':
- pp.StringSection = !pp.StringSection;
- break;
- case '\r':
- return false;
- default:
- if ((int)current == 0x1A)
- {
- // IMPORTANT: ignore invisible characters such as SUB.
- return false;
- }
-
- if (Char.IsWhiteSpace(current) && !pp.AssignSection && !pp.StringSection)
- {
- bool moveNext = ParseLastSymbol(pp, row, column);
- if (moveNext)
- {
- _symbols.Add(CreateSpecialSymbol(pp.File, '\n', row, column));
- return true;
- }
-
- return false;
- }
-
- if (pp.AssignAhead)
- {
- pp.AssignAhead = false;
- ParseLastSymbol(pp, row, column);
- break;
- }
-
- if (pp.DotSection && current != '.')
- {
- ParseLastSymbol(pp, row, column);
- pp.DotSection = false;
- }
-
- if (current == '.' && !pp.StringSection)
- {
- if (!pp.DotSection)
- {
- ParseLastSymbol(pp, row, column);
- pp.DotSection = true;
- }
- }
-
- if (current == ':' && !pp.StringSection)
- {
- if (!pp.AssignSection)
- {
- ParseLastSymbol(pp, row, column);
- }
-
- pp.AssignSection = true;
- }
-
- if (current == '=' && !pp.StringSection)
- {
- pp.AssignSection = false;
- pp.AssignAhead = true;
- }
-
- break;
- }
-
- pp.Temp.Append(current);
- return false;
- }
-
- private bool ParseLastSymbol(ParseParams pp, int row, int column)
- {
- if (pp.Temp.Length > 0)
- {
- Symbol s = new Symbol(pp.File, pp.Temp.ToString(), row, column);
-
- pp.Temp.Length = 0;
-
- if (s.ToString().StartsWith(Symbol.Comment.ToString()))
- {
- // ignore the rest symbols on this line because they are in comment.
- return true;
- }
-
- _symbols.Add(s);
- }
-
- return false;
- }
-
- private static Symbol CreateSpecialSymbol(string file, char value, int row, int column)
- {
- string str;
- switch (value)
- {
- case '\n':
- str = Environment.NewLine;
- break;
- case '{':
- str = "{";
- break;
- case '}':
- str = "}";
- break;
- case '(':
- str = "(";
- break;
- case ')':
- str = ")";
- break;
- case '[':
- str = "[";
- break;
- case ']':
- str = "]";
- break;
- case ';':
- str = ";";
- break;
- case ',':
- str = ",";
- break;
- case '|':
- str = "|";
- break;
- default:
- throw new ArgumentException("value is not a special character");
- }
-
- return new Symbol(file, str, row, column);
- }
-
- #endregion
-
- #region Static Parse Helper
-
- public static ITypeAssignment ParseBasicTypeDef(IModule module, string name, ISymbolEnumerator symbols, bool isMacroSyntax = false)
- {
- Symbol current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.Bits)
- {
- return new BitsType(module, name, symbols);
- }
- if (IntegerType.IsIntegerType(current))
- {
- return new IntegerType(module, name, current, symbols);
- }
- if (UnsignedType.IsUnsignedType(current))
- {
- return new UnsignedType(module, name, current, symbols);
- }
- if (current == Symbol.Opaque)
- {
- return new OpaqueType(module, name, symbols);
- }
- if (current == Symbol.IpAddress)
- {
- return new IpAddressType(module, name, symbols);
- }
- if (current == Symbol.TextualConvention)
- {
- return new TextualConvention(module, name, symbols);
- }
- if (current == Symbol.Octet)
- {
- Symbol next = symbols.NextNonEOLSymbol();
-
- if (next == Symbol.String)
- {
- return new OctetStringType(module, name, symbols);
- }
-
- symbols.PutBack(next);
- }
- if (current == Symbol.Object)
- {
- Symbol next = symbols.NextNonEOLSymbol();
-
- if (next == Symbol.Identifier)
- {
- return new ObjectIdentifierType(module, name, symbols);
- }
-
- symbols.PutBack(next);
- }
- if (current == Symbol.Sequence)
- {
- Symbol next = symbols.NextNonEOLSymbol();
-
- if (next == Symbol.Of)
- {
- return new SequenceOf(module, name, symbols);
- }
- else
- {
- symbols.PutBack(next);
- return new Sequence(module, name, symbols);
- }
- }
- if (current == Symbol.Choice)
- {
- return new Choice(module, name, symbols);
- }
-
-
- return new TypeAssignment(module, name, current, symbols, isMacroSyntax);
- }
-
- public static void ParseOidValue(ISymbolEnumerator symbols, out string parent, out uint value)
- {
- parent = null;
- value = 0;
-
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.OpenBracket);
-
- Symbol previous = null;
- StringBuilder longParent = new StringBuilder();
-
- current = symbols.NextNonEOLSymbol();
- longParent.Append(current);
-
- while ((current = symbols.NextNonEOLSymbol()) != null)
- {
- bool succeeded;
-
- if (current == Symbol.OpenParentheses)
- {
- longParent.Append(current);
-
- current = symbols.NextNonEOLSymbol();
- succeeded = UInt32.TryParse(current.ToString(), out value);
- current.Assert(succeeded, "not a decimal");
- longParent.Append(current);
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.CloseParentheses);
- longParent.Append(current);
- continue;
- }
-
- if (current == Symbol.CloseBracket)
- {
- parent = longParent.ToString();
- return;
- }
-
- succeeded = UInt32.TryParse(current.ToString(), out value);
- if (succeeded)
- {
- // numerical way
- while ((current = symbols.NextNonEOLSymbol()) != Symbol.CloseBracket)
- {
- longParent.Append(".").Append(value);
- succeeded = UInt32.TryParse(current.ToString(), out value);
- current.Assert(succeeded, "not a decimal");
- }
-
- current.Expect(Symbol.CloseBracket);
- parent = longParent.ToString();
- return;
- }
-
- longParent.Append(".");
- longParent.Append(current);
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.OpenParentheses);
- longParent.Append(current);
- current = symbols.NextNonEOLSymbol();
- succeeded = UInt32.TryParse(current.ToString(), out value);
- current.Assert(succeeded, "not a decimal");
- longParent.Append(current);
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.CloseParentheses);
- longParent.Append(current);
- previous = current;
- }
-
- throw MibException.Create("end of file reached", previous);
- }
-
-
- public static ValueRanges DecodeRanges(ISymbolEnumerator symbols)
- {
- ValueRanges result = new ValueRanges();
-
- Symbol startSymbol = symbols.NextNonEOLSymbol();
- Symbol current = startSymbol;
- current.Expect(Symbol.OpenParentheses);
-
- while (current != Symbol.CloseParentheses)
- {
- Symbol value1Symbol = symbols.NextNonEOLSymbol();
-
- if ((value1Symbol == Symbol.Size) && !result.IsSizeDeclaration)
- {
- result.IsSizeDeclaration = true;
- symbols.NextNonEOLSymbol().Expect(Symbol.OpenParentheses);
- continue;
- }
-
- // check for valid number
- Int64? value1 = DecodeNumber(value1Symbol);
- if (!value1.HasValue)
- {
- value1Symbol.Assert(false, "Invalid range declaration!");
- }
-
- // process next symbol
- ValueRange range;
- current = symbols.NextNonEOLSymbol();
-
- if (current == Symbol.DoubleDot)
- {
- // its a continous range
- Symbol value2Symbol = symbols.NextNonEOLSymbol();
- Int64? value2 = DecodeNumber(value2Symbol);
- value2Symbol.Assert(value2.HasValue && (value2.Value >= value1.Value), "Invalid range declaration!");
-
- if (value2.Value == value1.Value)
- {
- range = new ValueRange(value1.Value, null);
- }
- else
- {
- range = new ValueRange(value1.Value, value2.Value);
- }
-
- current = symbols.NextNonEOLSymbol();
- }
- else
- {
- // its a single number
- range = new ValueRange(value1.Value, null);
- }
-
- // validate range
- if (result.IsSizeDeclaration)
- {
- value1Symbol.Assert(range.Start >= 0, "Invalid range declaration! Size must be greater than 0");
- }
-
- result.Add(range);
-
- // check next symbol
- current.Expect(Symbol.Pipe, Symbol.CloseParentheses);
- }
-
- if (result.IsSizeDeclaration)
- {
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.CloseParentheses);
- }
-
- // validate ranges in between
- for (int i=0; i 3))
- {
- // search second apostrophe
- int end = numString.IndexOf('\'', 1);
- if (end == (numString.Length - 2))
- {
- try
- {
- switch (numString[numString.Length - 1])
- {
- case 'b':
- case 'B':
- result = Convert.ToInt64(numString.Substring(1, numString.Length - 3), 2);
- return result;
- case 'h':
- case 'H':
- result = Convert.ToInt64(numString.Substring(1, numString.Length - 3), 16);
- return result;
- }
- }
- catch
- {
- }
- }
- }
- else if (Int64.TryParse(numString, out result))
- {
- return result;
- }
- }
-
- return null;
- }
-
- public static ValueMap DecodeEnumerations(ISymbolEnumerator symbols)
- {
- Symbol current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.OpenBracket);
-
- ValueMap map = new ValueMap();
- do
- {
- current = symbols.NextNonEOLSymbol();
- string identifier = current.ToString();
-
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.OpenParentheses);
-
- current = symbols.NextNonEOLSymbol();
- Int64 enumValue;
- if (Int64.TryParse(current.ToString(), out enumValue))
- {
- try
- {
- // Have to include the number as it seems repeated identifiers are allowed ??
- map.Add(enumValue, String.Format("{0}({1})", identifier, enumValue));
- }
- catch (ArgumentException ex)
- {
- current.Assert(false, ex.Message);
- }
- }
- else
- {
- // Need to get "DefinedValue".
- }
-
- current = symbols.NextNonEOLSymbol();
- current.Expect(Symbol.CloseParentheses);
-
- current = symbols.NextNonEOLSymbol();
- } while (current == Symbol.Comma);
-
- current.Expect(Symbol.CloseBracket);
-
- return map;
- }
-
- #endregion
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MaxAccess.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MaxAccess.cs
deleted file mode 100644
index f8029900..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MaxAccess.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public enum MaxAccess
- {
- notAccessible,
- accessibleForNotify,
- readOnly,
- readWrite,
- readCreate
- }
-
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibDocument.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibDocument.cs
deleted file mode 100644
index aac3b280..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibDocument.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/17
- * Time: 17:38
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- ///
- /// MIB document.
- ///
- public sealed class MibDocument
- {
- private readonly List _modules = new List();
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The file.
- public MibDocument(string file)
- : this(new Lexer(file))
- {
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The lexer.
- public MibDocument(Lexer lexer)
- {
- ISymbolEnumerator symbols = lexer.GetEnumerator();
-
- Symbol current;
- while ((current = symbols.NextNonEOLSymbol()) != null)
- {
- symbols.PutBack(current);
- _modules.Add(new MibModule(symbols));
- }
- }
-
- ///
- /// containing in this document.
- ///
- public IList Modules
- {
- get
- {
- return _modules;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibException.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibException.cs
deleted file mode 100644
index efd89b3f..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibException.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/17
- * Time: 16:33
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System;
-using System.Globalization;
-#if (!SILVERLIGHT)
-using System.Runtime.Serialization;
-using System.Security.Permissions;
-#endif
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- ///
- /// Description of MibException.
- ///
- [Serializable]
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Mib")]
- public sealed class MibException : Exception
- {
- ///
- /// Symbol.
- ///
- public Symbol Symbol { get; private set; }
-
- ///
- /// Creates a .
- ///
- public MibException()
- {
- }
-
- ///
- /// Creates a instance with a specific .
- ///
- /// Message
- public MibException(string message) : base(message)
- {
- }
-
- ///
- /// Creates a instance with a specific and an .
- ///
- /// Message
- /// Inner exception
- public MibException(string message, Exception inner)
- : base(message, inner)
- {
- }
-#if (!SILVERLIGHT)
- ///
- /// Creates a instance.
- ///
- /// Info
- /// Context
- private MibException(SerializationInfo info, StreamingContext context) : base(info, context)
- {
- if (info == null)
- {
- throw new ArgumentNullException("info");
- }
-
- Symbol = (Symbol)info.GetValue("Symbol", typeof(Symbol));
- }
-
- ///
- /// Gets object data.
- ///
- /// Info
- /// Context
- [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)]
- public override void GetObjectData(SerializationInfo info, StreamingContext context)
- {
- base.GetObjectData(info, context);
- info.AddValue("Symbol", Symbol);
- }
-#endif
-
- ///
- /// Creates a with a specific .
- ///
- /// Message
- /// Symbol
- ///
- public static MibException Create(string message, Symbol symbol)
- {
- if (symbol == null)
- {
- throw new ArgumentNullException("symbol");
- }
-
- if (String.IsNullOrEmpty(message))
- {
- message = "Unknown MIB Exception";
- }
-
- message = String.Format(
- "{0} (file: \"{1}\"; row: {2}; column: {3})",
- message,
- symbol.File,
- symbol.Row + 1,
- symbol.Column + 1);
-
- MibException ex = new MibException(message) { Symbol = symbol };
- return ex;
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibModule.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibModule.cs
deleted file mode 100644
index 3c6b7707..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibModule.cs
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/17
- * Time: 17:38
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System;
-using System.Collections.Generic;
-using Lextm.SharpSnmpLib.Mib.Elements;
-using Lextm.SharpSnmpLib.Mib.Elements.Entities;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- ///
- /// MIB module class.
- ///
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Mib")]
- public sealed class MibModule : IModule
- {
- private readonly string _name;
- private readonly Imports _imports;
- private readonly Exports _exports;
- private readonly List _tokens = new List();
-
- ///
- /// Creates a with a specific .
- ///
- /// Module name
- /// Lexer
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "lexer")]
- public MibModule(ISymbolEnumerator symbols)
- {
- if (symbols == null)
- {
- throw new ArgumentNullException("lexer");
- }
-
- Symbol temp = symbols.NextNonEOLSymbol();
- temp.AssertIsValidIdentifier();
- _name = temp.ToString().ToUpperInvariant(); // all module names are uppercase
-
- temp = symbols.NextNonEOLSymbol();
- temp.Expect(Symbol.Definitions);
-
- temp = symbols.NextNonEOLSymbol();
- temp.Expect(Symbol.Assign);
-
- temp = symbols.NextSymbol();
- temp.Expect(Symbol.Begin);
-
- temp = symbols.NextNonEOLSymbol();
- if (temp == Symbol.Imports)
- {
- _imports = ParseDependents(symbols);
- }
- else if (temp == Symbol.Exports)
- {
- _exports = ParseExports(symbols);
- }
- else
- {
- symbols.PutBack(temp);
- }
-
- ParseEntities(symbols);
- }
-
- #region Accessors
-
- ///
- /// Module name.
- ///
- public string Name
- {
- get { return _name; }
- }
-
- public Exports Exports
- {
- get { return _exports; }
- }
-
- public Imports Imports
- {
- get { return _imports; }
- }
-
- public List Tokens
- {
- get { return this._tokens; }
- }
-
- ///
- /// Entities + Types + all other elements implementing IDeclaration
- ///
- public IList Declarations
- {
- get
- {
- IList result = new List();
- foreach (IElement e in _tokens)
- {
- IDeclaration decl = e as IDeclaration;
- if (decl != null)
- {
- result.Add(decl);
- }
- }
-
- return result;
- }
- }
-
- ///
- /// OID nodes.
- ///
- public IList Entities
- {
- get
- {
- IList result = new List();
- foreach (IElement e in _tokens)
- {
- IEntity entity = e as IEntity;
- if (entity != null)
- {
- result.Add(entity);
- }
- }
-
- return result;
- }
- }
-
- public IList Types
- {
- get
- {
- IList result = new List();
- foreach (IElement e in _tokens)
- {
- ITypeAssignment type = e as ITypeAssignment;
- if (type != null)
- {
- result.Add(type);
- }
- }
-
- return result;
- }
- }
-
- #endregion
-
- #region Parsing of Symbols
-
- private Exports ParseExports(ISymbolEnumerator symbols)
- {
- return new Exports(this, symbols);
- }
-
- private Imports ParseDependents(ISymbolEnumerator symbols)
- {
- return new Imports(this, symbols);
- }
-
- private void ParseEntities(ISymbolEnumerator symbols)
- {
- Symbol temp = symbols.NextNonEOLSymbol();
- SymbolList buffer = new SymbolList();
-
- while (temp != Symbol.End)
- {
- if (temp == Symbol.Assign)
- {
- ParseEntity(buffer, symbols);
- buffer.Clear();
- // skip linebreaks behind an entity
- temp = symbols.NextNonEOLSymbol();
- }
- else
- {
- buffer.Add(temp);
- temp = symbols.NextSymbol();
- }
- }
- }
-
- private void ParseEntity(SymbolList preAssignSymbols, ISymbolEnumerator symbols)
- {
- if ((preAssignSymbols == null) || (preAssignSymbols.Count == 0))
- {
- Symbol s = symbols.NextSymbol();
- if (s != null)
- {
- s.Assert(false, "Invalid Entitiy declaration");
- }
- else
- {
- throw new MibException("Invalid Entitiy declaration");
- }
- }
-
- // check for a valid identifier
- preAssignSymbols[0].AssertIsValidIdentifier();
-
- if (preAssignSymbols.Count == 1)
- {
- // its a typedef
- _tokens.Add(Lexer.ParseBasicTypeDef(this, preAssignSymbols[0].ToString(), symbols, isMacroSyntax: false));
- return;
- }
-
- ISymbolEnumerator preAssignSymbolsEnumerator = preAssignSymbols.GetSymbolEnumerator();
- preAssignSymbolsEnumerator.NextNonEOLSymbol(); // returns identifier
- Symbol type = preAssignSymbolsEnumerator.NextNonEOLSymbol();
-
- // parse declarations
- if (type == Symbol.Object)
- {
- Symbol next = preAssignSymbolsEnumerator.NextNonEOLSymbol();
-
- if (next == Symbol.Identifier)
- {
- _tokens.Add(new OidValueAssignment(this, preAssignSymbols, symbols));
- return;
- }
- else if (next != null)
- {
- preAssignSymbolsEnumerator.PutBack(next);
- }
- }
- if (type == Symbol.ModuleIdentity)
- {
- _tokens.Add(new ModuleIdentity(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.ObjectType)
- {
- _tokens.Add(new ObjectType(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.ObjectGroup)
- {
- _tokens.Add(new ObjectGroup(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.NotificationGroup)
- {
- _tokens.Add(new NotificationGroup(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.ModuleCompliance)
- {
- _tokens.Add(new ModuleCompliance(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.NotificationType)
- {
- _tokens.Add(new NotificationType(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.ObjectIdentity)
- {
- _tokens.Add(new ObjectIdentity(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.Macro)
- {
- _tokens.Add(new Macro(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.TrapType)
- {
- _tokens.Add(new TrapType(this, preAssignSymbols, symbols));
- return;
- }
- if (type == Symbol.AgentCapabilities)
- {
- _tokens.Add(new AgentCapabilities(this, preAssignSymbols, symbols));
- return;
- }
-
- preAssignSymbols[1].Assert(false, "Unknown/Invalid declaration");
- }
-
- #endregion
-
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibResolver.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibResolver.cs
deleted file mode 100644
index 96978e1a..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibResolver.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.IO;
-using System.Reflection;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public interface IMibResolver
- {
- IModule Resolve(string moduleName);
- }
-
- public class FileSystemMibResolver : IMibResolver
- {
- private string _path;
- private bool _recursive;
-
- public FileSystemMibResolver(string path, bool recursive)
- {
- _path = path;
- _recursive = recursive;
- }
-
- #region IMibResolver Member
-
- public IModule Resolve(string moduleName)
- {
- if (Directory.Exists(_path))
- {
- string[] matchedFiles = Directory.GetFiles(
- _path,
- "*",
- (_recursive) ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly);
-
- if ((matchedFiles != null) && (matchedFiles.Length >= 1))
- {
- foreach (string matchedFile in matchedFiles)
- {
- if (Path.GetFileNameWithoutExtension(matchedFile.ToLowerInvariant()) == moduleName.ToLowerInvariant())
- {
- try
- {
- MibDocument md = new MibDocument (matchedFile);
- if (md.Modules.Count > 0)
- {
- return md.Modules [0];
- }
- } catch
- {
- }
- }
- }
- }
- }
-
- return null;
- }
-
- #endregion
-
- }
-
- // earlier code for search of versioned MIBs:
- //
- //private const string Pattern = "-V[0-9]+$";
- //public static bool AllDependentsAvailable(MibModule module, IDictionary modules)
- //{
- // foreach (string dependent in module.Dependents)
- // {
- // if (!DependentFound(dependent, modules))
- // {
- // return false;
- // }
- // }
-
- // return true;
- //}
-
- //private static bool DependentFound(string dependent, IDictionary modules)
- //{
- // if (!Regex.IsMatch(dependent, Pattern))
- // {
- // return modules.ContainsKey(dependent);
- // }
-
- // if (modules.ContainsKey(dependent))
- // {
- // return true;
- // }
-
- // string dependentNonVersion = Regex.Replace(dependent, Pattern, string.Empty);
- // return modules.ContainsKey(dependentNonVersion);
- //}
-
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs
deleted file mode 100644
index a5174bc1..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-using System.Collections.Generic;
-using Lextm.SharpSnmpLib.Mib.Elements.Entities;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- ///
- /// Builds up a tree from a single MIB
- ///
- public class MibTree
- {
- private readonly List _root = new List();
-
- public MibTree(MibModule module)
- {
- IList entities = module.Entities;
-
- if (entities.Count > 0)
- {
- // try to find module identity as root
- foreach (IEntity element in entities)
- {
- ModuleIdentity mi = element as ModuleIdentity;
-
- if (mi != null)
- {
- _root.Add(new MibTreeNode(null, mi));
- }
- }
-
- // find OID assignments as root, if there are any that are not below ModuleIdentity
- foreach (IEntity element in entities)
- {
- OidValueAssignment oa = element as OidValueAssignment;
-
- if (oa != null)
- {
- _root.Add(new MibTreeNode(null, oa));
- }
- }
-
- FilterRealRoots (entities);
-
- foreach (MibTreeNode mibTreeNode in _root)
- {
- entities.Remove (mibTreeNode.Entity);
- }
-
- if (_root.Count == 0)
- {
- //no module identity, assume first entity is root
- _root.Add(new MibTreeNode(null, entities[0]));
- }
-
- foreach (MibTreeNode mibTreeNode in _root)
- {
- if (entities.Contains (mibTreeNode.Entity))
- {
- entities.Remove (mibTreeNode.Entity);
- }
- BuildTree(mibTreeNode, entities);
- UpdateTreeNodeTypes(mibTreeNode);
- }
- }
- }
-
- public IList Root
- {
- get { return _root; }
- }
-
- private bool EntityExists(IList entities, string name)
- {
- foreach(IEntity entity in entities)
- {
- if (entity.Name == name)
- {
- return true;
- }
- }
- return false;
- }
-
- private void FilterRealRoots(IList entities)
- {
- int i = 0;
- while (i < _root.Count)
- {
- if (EntityExists(entities, _root[i].Entity.Parent))
- {
- _root.RemoveAt(i);
- }
- else
- {
- i++;
- }
- }
- }
-
- private void BuildTree(MibTreeNode node, IList entities)
- {
- int i = 0;
- while (i < entities.Count)
- {
- if (entities[i].Parent == node.Entity.Name)
- {
- node.AddChild(entities[i]);
- entities.RemoveAt(i);
- }
- else
- {
- i++;
- }
- }
-
- foreach (MibTreeNode childNode in node.ChildNodes)
- {
- BuildTree(childNode, entities);
- }
- }
-
- private void UpdateTreeNodeTypes(MibTreeNode node)
- {
- node.UpdateNodeType();
- foreach (MibTreeNode childNode in node.ChildNodes)
- {
- UpdateTreeNodeTypes(childNode);
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTreeNode.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTreeNode.cs
deleted file mode 100644
index 386c8e5c..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTreeNode.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-using System;
-using System.Collections.Generic;
-using Lextm.SharpSnmpLib.Mib.Elements.Entities;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- [Flags]
- public enum MibTreeNodeType
- {
- Unknown = 0,
- Container = (1 << 0),
- Scalar = (1 << 1),
- Table = (1 << 2),
- TableRow = (1 << 3),
- TableCell = (1 << 4),
- NotificationRelated = (1 << 5),
- ConformanceRelated = (1 << 6)
- }
-
-
- public class MibTreeNode
- {
- private MibTreeNode _parent = null;
- private List _childNodes = new List();
- private IEntity _entity = null;
- private MibTreeNodeType _nodeType = MibTreeNodeType.Unknown;
-
- public MibTreeNode(MibTreeNode parent, IEntity entity)
- {
- _parent = parent;
- _entity = entity;
- }
-
- public MibTreeNode Parent
- {
- get { return _parent; }
- }
-
- public IEntity Entity
- {
- get { return _entity; }
- }
-
- public MibTreeNodeType NodeType
- {
- get { return _nodeType; }
- }
-
- public List ChildNodes
- {
- get { return _childNodes; }
- }
-
- public MibTreeNode AddChild(IEntity element)
- {
- MibTreeNode result = new MibTreeNode(this, element);
- this.ChildNodes.Add(result);
-
- return result;
- }
-
- public void UpdateNodeType()
- {
- _nodeType = MibTreeNodeType.Unknown;
-
- if (_entity != null)
- {
- if ((_entity is OidValueAssignment) || (_entity is ObjectIdentity))
- {
- _nodeType |= MibTreeNodeType.Container;
- return;
- }
- else if (_childNodes.Count > 0)
- {
- _nodeType |= MibTreeNodeType.Container;
- }
-
- if (_entity is ObjectType)
- {
- ObjectType ot = _entity as ObjectType;
-
- if (ot.Syntax is SequenceOf)
- {
- _nodeType |= MibTreeNodeType.Table;
- }
- else if (ot.Syntax is Sequence)
- {
- _nodeType |= MibTreeNodeType.TableRow;
- }
- else if ((_parent != null) && ((_parent.NodeType & MibTreeNodeType.TableRow) != 0))
- {
- _nodeType |= MibTreeNodeType.TableCell;
- _nodeType |= MibTreeNodeType.Scalar;
- }
- else
- {
- _nodeType |= MibTreeNodeType.Scalar;
- }
- }
- else if ((_entity is ModuleCompliance) || (_entity is ObjectGroup) || (_entity is NotificationGroup))
- {
- _nodeType |= MibTreeNodeType.ConformanceRelated;
- }
- else if ((_entity is NotificationGroup) || (_entity is NotificationType))
- {
- _nodeType |= MibTreeNodeType.NotificationRelated;
- }
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTypesResolver.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTypesResolver.cs
deleted file mode 100644
index 1e7529af..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTypesResolver.cs
+++ /dev/null
@@ -1,216 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-using Lextm.SharpSnmpLib.Mib.Elements;
-using Lextm.SharpSnmpLib.Mib.Elements.Entities;
-using Lextm.SharpSnmpLib.Mib.Elements.Types;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public static class MibTypesResolver
- {
- private static readonly Regex _namedOidPathRegex = new Regex(@"^(?[^\(]+)\((?\d+)\)$");
- private static readonly List _resolver = new List();
- private static readonly List _cachedModules = new List();
-
- public static void RegisterResolver(IMibResolver resolver)
- {
- if (resolver != null)
- {
- _resolver.Add(resolver);
- }
- }
-
- public static IModule ResolveModule(string moduleName)
- {
- // check if module is already cached
- foreach (MibModule cachedModule in _cachedModules)
- {
- if (cachedModule.Name == moduleName)
- {
- return cachedModule;
- }
- }
-
- foreach (IMibResolver resolver in _resolver)
- {
- IModule resolvedModule = resolver.Resolve(moduleName);
- if (resolvedModule != null)
- {
- ResolveTypes(resolvedModule);
- _cachedModules.Add(resolvedModule);
- return resolvedModule;
- }
- }
-
- return null;
- }
-
- public static void ResolveTypes(IModule module)
- {
- foreach (IEntity entity in module.Entities)
- {
- ITypeReferrer typeReferringEntity = entity as ITypeReferrer;
-
- if (typeReferringEntity != null)
- {
- CheckTypeReferrer(module, typeReferringEntity);
- }
- }
-
- if (!_cachedModules.Contains(module))
- {
- _cachedModules.Add(module);
- }
- }
-
- private static void CheckTypeReferrer(IModule module, ITypeReferrer typeReferringEntity)
- {
- TypeAssignment unknownType = typeReferringEntity.ReferredType as TypeAssignment;
- if (unknownType != null)
- {
- typeReferringEntity.ReferredType = ResolveType(module, unknownType);
-
- if (typeReferringEntity.ReferredType is TypeAssignment)
- {
- Console.WriteLine(String.Format("Could not resolve type '{0}' declared in module '{1}'", (typeReferringEntity.ReferredType as TypeAssignment).Type, typeReferringEntity.ReferredType.Module.Name));
- }
- }
-
- ITypeReferrer nextTypeReferringEntity = typeReferringEntity.ReferredType as ITypeReferrer;
- if (nextTypeReferringEntity != null)
- {
- CheckTypeReferrer(module, nextTypeReferringEntity);
- }
- }
-
- public static ITypeAssignment ResolveType(IModule module, TypeAssignment type)
- {
- ITypeAssignment result = ResolveDeclaration(module, type.Type) as ITypeAssignment;
-
- return (result != null) ? result : type;
- }
-
- public static IDeclaration ResolveDeclaration(IModule module, string name)
- {
- if ((module == null) || String.IsNullOrEmpty(name))
- {
- return null;
- }
-
- // check module internal types
- foreach (IDeclaration decl in module.Declarations)
- {
- if (decl.Name == name)
- {
- return decl;
- }
- }
-
- // check if type is imported
- if (module.Imports != null)
- {
- ImportsFrom imports = module.Imports.GetImportFromType(name);
- if (imports != null)
- {
- IModule importedModule = ResolveModule(imports.Module);
- if (importedModule != null)
- {
- return ResolveDeclaration(importedModule, name);
- }
- }
- }
-
- return null;
- }
-
- public static ObjectIdentifier ResolveOid(IEntity entity)
- {
- ObjectIdentifier result = new ObjectIdentifier();
-
- if (entity != null)
- {
- ResolveOid(entity, result);
- }
-
- return result;
- }
-
- private static void ResolveOid(IEntity entity, ObjectIdentifier result)
- {
- result.Prepend(entity.Name, entity.Value);
-
- // check parent
- if (!String.IsNullOrEmpty(entity.Parent))
- {
- string[] pathParts = entity.Parent.Split('.');
- uint value;
-
- // all parts except the first should have their value directly or indirectly with them
- if (pathParts.Length > 1)
- {
- for (int i=pathParts.Length-1; i>=1; i--)
- {
- if (uint.TryParse(pathParts[i], out value))
- {
- result.Prepend("", value);
- }
- else
- {
- Match m = _namedOidPathRegex.Match(pathParts[i]);
- if (m.Success)
- {
- result.Prepend(m.Groups["Name"].Value, uint.Parse(m.Groups["Value"].Value));
- }
- else
- {
- throw new MibException("Invalid OID path detected for entity '" + entity.Name + "' in module '" + entity.Module + "'!");
- }
- }
- }
- }
-
- // parse root part: either another entity or a standard root object
- if (IsOidRoot(pathParts[0], out value))
- {
- result.Prepend(pathParts[0], value);
- }
- else
- {
- // try to find entity inside this module
- if (entity.Module != null)
- {
- entity = ResolveDeclaration(entity.Module, pathParts[0]) as IEntity;
-
- if (entity != null)
- {
- ResolveOid(entity, result);
- }
- else
- {
- result.Prepend("", uint.MaxValue);
- }
- }
- else
- {
- result.Prepend("", uint.MaxValue);
- }
- }
- }
- }
-
- public static bool IsOidRoot(string name, out uint value)
- {
- value = uint.MaxValue;
-
- switch (name)
- {
- case "ccitt": value = 0; return true;
- case "iso": value = 1; return true;
- case "joint-iso-ccitt": value = 2; return true;
- }
-
- return false;
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ObjectIdentifier.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ObjectIdentifier.cs
deleted file mode 100644
index 04248043..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ObjectIdentifier.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using System.Collections.Generic;
-using System.Text;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public class ObjectIdentifier: List>
- {
- public void Add(string name, uint oid)
- {
- this.Add(new KeyValuePair(name, oid));
- }
-
- public void Prepend(string name, uint oid)
- {
- this.Insert(0, new KeyValuePair(name, oid));
- }
-
- public void Insert(int index, string name, uint oid)
- {
- this.Insert(index, new KeyValuePair(name, oid));
- }
-
- public string GetOidString()
- {
- StringBuilder result = new StringBuilder();
-
- foreach (KeyValuePair level in this)
- {
- result.Append(level.Value);
- result.Append('.');
- }
-
- if (result.Length > 0)
- {
- result.Length--;
- }
-
- return result.ToString();
- }
-
- public uint[] GetOidValues()
- {
- List result = new List();
-
- foreach (KeyValuePair level in this)
- {
- result.Add(level.Value);
- }
-
- return result.ToArray();
- }
-
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Status.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Status.cs
deleted file mode 100644
index 4ddd3bab..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Status.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public enum Status
- {
- current,
- deprecated,
- obsolete,
- mandatory,
- optional
- }
-
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Symbol.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Symbol.cs
deleted file mode 100644
index b11386d8..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/Symbol.cs
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Created by SharpDevelop.
- * User: lextm
- * Date: 2008/5/17
- * Time: 17:14
- *
- * To change this template use Tools | Options | Coding | Edit Standard Headers.
- */
-
-using System;
-using System.Configuration;
-using System.Globalization;
-using System.Text;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- ///
- /// Description of Symbol.
- ///
- public sealed class Symbol : IEquatable
- {
- private readonly string _text;
- private readonly int _row;
- private readonly int _column;
- private readonly string _file;
-
- private Symbol(string text) : this(null, text, -1, -1)
- {
- }
-
- ///
- /// Creates a .
- ///
- /// File
- /// Text
- /// Row number
- /// column number
- public Symbol(string file, string text, int row, int column)
- {
- _file = file;
- _text = text;
- _row = row;
- _column = column;
- }
-
- ///
- /// File.
- ///
- public string File
- {
- get
- {
- return _file;
- }
- }
-
- ///
- /// Row number.
- ///
- public int Row
- {
- get
- {
- return _row;
- }
- }
-
- ///
- /// Column number.
- ///
- public int Column
- {
- get
- {
- return _column;
- }
- }
-
- ///
- /// Returns a that represents this .
- ///
- ///
- public override string ToString()
- {
- return _text;
- }
-
- ///
- /// Determines whether the specified is equal to the current .
- ///
- /// The to compare with the current .
- /// true if the specified is equal to the current ; otherwise, false.
- ///
- public override bool Equals(object obj)
- {
- if (obj == null)
- {
- return false;
- }
-
- if (ReferenceEquals(this, obj))
- {
- return true;
- }
-
- return GetType() == obj.GetType() && Equals((Symbol)obj);
- }
-
- ///
- /// Serves as a hash function for a particular type.
- ///
- /// A hash code for the current .
- public override int GetHashCode()
- {
- return _text.GetHashCode();
- }
-
- ///
- /// The equality operator.
- ///
- /// Left object
- /// Right object
- ///
- /// Returns true if the values of its operands are equal, false otherwise.
- public static bool operator ==(Symbol left, Symbol right)
- {
- return Equals(left, right);
- }
-
- ///
- /// Determines whether the specified is equal to the current .
- ///
- /// Left object
- /// Right object
- ///
- /// Returns true if the values of its operands are equal, false otherwise.
- public static bool Equals(Symbol left, Symbol right)
- {
- object l = left;
- object r = right;
- if (l == r)
- {
- return true;
- }
-
- if (l == null || r == null)
- {
- return false;
- }
-
- return left._text.Equals(right._text);
- }
-
- ///
- /// The inequality operator.
- ///
- /// Left object
- /// Right object
- ///
- /// Returns true if the values of its operands are not equal, false otherwise.
- public static bool operator !=(Symbol left, Symbol right)
- {
- return !(left == right);
- }
-
- #region IEquatable Members
- ///
- /// Indicates whether the current object is equal to another object of the same type.
- ///
- /// An object to compare with this object.
- /// true if the current object is equal to the parameter; otherwise, false.
- ///
- public bool Equals(Symbol other)
- {
- return Equals(this, other);
- }
-
- #endregion
-
- public static readonly Symbol Definitions = new Symbol("DEFINITIONS");
- public static readonly Symbol Begin = new Symbol("BEGIN");
- public static readonly Symbol Object = new Symbol("OBJECT");
- public static readonly Symbol Identifier = new Symbol("IDENTIFIER");
- public static readonly Symbol Assign = new Symbol("::=");
- public static readonly Symbol OpenBracket = new Symbol("{");
- public static readonly Symbol CloseBracket = new Symbol("}");
- public static readonly Symbol Comment = new Symbol("--");
- public static readonly Symbol Imports = new Symbol("IMPORTS");
- public static readonly Symbol Semicolon = new Symbol(";");
- public static readonly Symbol From = new Symbol("FROM");
- public static readonly Symbol ModuleIdentity = new Symbol("MODULE-IDENTITY");
- public static readonly Symbol ObjectType = new Symbol("OBJECT-TYPE");
- public static readonly Symbol ObjectGroup = new Symbol("OBJECT-GROUP");
- public static readonly Symbol NotificationGroup = new Symbol("NOTIFICATION-GROUP");
- public static readonly Symbol ModuleCompliance = new Symbol("MODULE-COMPLIANCE");
- public static readonly Symbol Sequence = new Symbol("SEQUENCE");
- public static readonly Symbol NotificationType = new Symbol("NOTIFICATION-TYPE");
- public static readonly Symbol EOL = new Symbol(Environment.NewLine);
- public static readonly Symbol ObjectIdentity = new Symbol("OBJECT-IDENTITY");
- public static readonly Symbol End = new Symbol("END");
- public static readonly Symbol Macro = new Symbol("MACRO");
- public static readonly Symbol Choice = new Symbol("CHOICE");
- public static readonly Symbol TrapType = new Symbol("TRAP-TYPE");
- public static readonly Symbol AgentCapabilities = new Symbol("AGENT-CAPABILITIES");
- public static readonly Symbol Comma = new Symbol(",");
- public static readonly Symbol TextualConvention = new Symbol("TEXTUAL-CONVENTION");
- public static readonly Symbol Syntax = new Symbol("SYNTAX");
- public static readonly Symbol Bits = new Symbol("BITS");
- public static readonly Symbol Octet = new Symbol("OCTET");
- public static readonly Symbol String = new Symbol("STRING");
- public static readonly Symbol OpenParentheses = new Symbol("(");
- public static readonly Symbol CloseParentheses = new Symbol(")");
- public static readonly Symbol Exports = new Symbol("EXPORTS");
- public static readonly Symbol DisplayHint = new Symbol("DISPLAY-HINT");
- public static readonly Symbol Status = new Symbol("STATUS");
- public static readonly Symbol Description = new Symbol("DESCRIPTION");
- public static readonly Symbol Reference = new Symbol("REFERENCE");
- public static readonly Symbol DoubleDot = new Symbol("..");
- public static readonly Symbol Pipe = new Symbol("|");
- public static readonly Symbol Size = new Symbol("SIZE");
- public static readonly Symbol Units = new Symbol("UNITS");
- public static readonly Symbol MaxAccess = new Symbol("MAX-ACCESS");
- public static readonly Symbol Access = new Symbol("ACCESS");
- public static readonly Symbol Index = new Symbol("INDEX");
- public static readonly Symbol Augments = new Symbol("AUGMENTS");
- public static readonly Symbol DefVal = new Symbol("DEFVAL");
- public static readonly Symbol Of = new Symbol("OF");
- public static readonly Symbol Integer = new Symbol("INTEGER");
- public static readonly Symbol Integer32 = new Symbol("Integer32");
- public static readonly Symbol IpAddress = new Symbol("IpAddress");
- public static readonly Symbol Counter32 = new Symbol("Counter32");
- public static readonly Symbol Counter = new Symbol("Counter");
- public static readonly Symbol TimeTicks = new Symbol("TimeTicks");
- public static readonly Symbol Opaque = new Symbol("Opaque");
- public static readonly Symbol Counter64 = new Symbol("Counter64");
- public static readonly Symbol Unsigned32 = new Symbol("Unsigned32");
- public static readonly Symbol Gauge32 = new Symbol("Gauge32");
- public static readonly Symbol Gauge = new Symbol("Gauge");
- public static readonly Symbol TruthValue = new Symbol("TruthValue");
- public static readonly Symbol Implied = new Symbol("IMPLIED");
-
- internal void Expect(Symbol expected, params Symbol[] orExpected)
- {
- bool isExpected = (this == expected);
-
- if (!isExpected && (orExpected != null) && (orExpected.Length > 0))
- {
- // check the alternatives
- for (int i=0; i 64))
- {
- message = "an identifier must consist of 1 to 64 letters, digits, and hyphens";
- return false;
- }
-
- if (!Char.IsLetter(name[0]))
- {
- message = "the initial character must be a letter";
- return false;
- }
-
- if (name.EndsWith("-", StringComparison.Ordinal))
- {
- message = "a hyphen cannot be the last character of an identifier";
- return false;
- }
-
- if (name.Contains("--"))
- {
- message = "a hyphen cannot be immediately followed by another hyphen in an identifier";
- return false;
- }
-
- if (UseStricterValidation && name.Contains("_"))
- {
- message = "underscores are not allowed in identifiers";
- return false;
- }
-
- // TODO: SMIv2 forbids "-" except in module names and keywords
- message = null;
- return true;
- }
-
- private static bool? _useStricterValidation;
-
- private static bool UseStricterValidation
- {
- get
- {
- if (_useStricterValidation == null)
- {
- object setting = ConfigurationManager.AppSettings["StricterValidationEnabled"];
- _useStricterValidation = setting != null && Convert.ToBoolean(setting.ToString(), CultureInfo.InvariantCulture);
- }
-
- return _useStricterValidation.Value;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/SymbolList.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/SymbolList.cs
deleted file mode 100644
index 5b2218e8..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/SymbolList.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public class SymbolList : List
- {
- public class SymbolEnumerator : ISymbolEnumerator
- {
- private SymbolList _list = null;
- private int _index = -1;
-
- internal SymbolEnumerator(SymbolList list)
- {
- if (list == null)
- {
- throw new ArgumentNullException("lexer");
- }
-
- _list = list;
- }
-
- #region ISymbolEnumerator Member
-
- public bool PutBack(Symbol item)
- {
- if ((_index < 0) || (_index >= _list.Count) || (item != _list[_index]))
- {
- throw new ArgumentException(@"wrong last symbol", "last");
- //return false;
- }
-
- _index--;
- return true;
- }
-
- #endregion
-
- #region IEnumerator Member
-
- public Symbol Current
- {
- get
- {
- if ((_index >= 0) && (_index <= _list.Count))
- {
- return _list[_index];
- }
-
- return null;
- }
- }
-
- #endregion
-
- #region IDisposable Member
-
- public void Dispose()
- {
- }
-
- #endregion
-
- #region IEnumerator Member
-
- object System.Collections.IEnumerator.Current
- {
- get { return this.Current; }
- }
-
- public bool MoveNext()
- {
- _index++;
- return (_index >= 0) && (_index < _list.Count);
- }
-
- public void Reset()
- {
- _index = -1;
- }
-
- #endregion
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- public SymbolList()
- {
- }
-
- public ISymbolEnumerator GetSymbolEnumerator()
- {
- return new SymbolEnumerator(this);
- }
-
- public string Join(string separator)
- {
- if (separator == null)
- separator = "";
-
- StringBuilder result = new StringBuilder();
-
- foreach (Symbol s in this)
- {
- result.Append(s);
- result.Append(separator);
- }
-
- if (result.Length > 0)
- {
- result.Length -= separator.Length;
- }
-
- return result.ToString();
- }
- }
-
- public static class SymbolEnumeratorExtension
- {
- public static Symbol NextSymbol(this IEnumerator enumerator)
- {
- if (enumerator.MoveNext())
- {
- return enumerator.Current;
- }
-
- return null;
- }
-
- public static Symbol NextNonEOLSymbol(this IEnumerator enumerator)
- {
- while (enumerator.MoveNext())
- {
- if (enumerator.Current != Symbol.EOL)
- {
- return enumerator.Current;
- }
- }
-
- return null;
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ValueMap.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ValueMap.cs
deleted file mode 100644
index 184dd580..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ValueMap.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public class ValueMap : Dictionary
- {
- public ValueMap()
- {
- }
-
- ///
- /// Returns the values of the map as continous range. At best as one range.
- ///
- ///
- public ValueRanges GetContinousRanges()
- {
- ValueRanges result = new ValueRanges();
-
- if (this.Count > 0)
- {
- List values = new List(this.Keys);
- values.Sort();
-
- Int64 last = values[0];
- Int64 offset = values[0];
- for (int i=1; i
- /// Gets the highest value contained in this value map.
- ///
- ///
- public Int64 GetHighestValue()
- {
- Int64 result = 0;
-
- foreach (Int64 value in this.Keys)
- {
- if (value > result)
- {
- result = value;
- }
- }
-
- return result;
- }
-
- ///
- /// Interprets the single values as bit positions and creates a mask of it.
- ///
- ///
- public UInt32 GetBitMask()
- {
- UInt32 result = 0;
-
- foreach (Int64 key in this.Keys)
- {
- if (key < 0)
- {
- throw new NotSupportedException("Negative numbers are not allowed for Bits!");
- }
- if (key > 31)
- {
- throw new NotSupportedException("Bits with more than 32 bits are not supported!");
- }
-
- result |= (UInt32)(1 << (int)key);
- }
-
- return result;
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ValueRange.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ValueRange.cs
deleted file mode 100644
index 3ff5bcb7..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/ValueRange.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Lextm.SharpSnmpLib.Mib
-{
- public class ValueRanges: List
- {
- public bool IsSizeDeclaration { get; internal set; }
-
- public ValueRanges(bool isSizeDecl = false)
- {
- IsSizeDeclaration = isSizeDecl;
- }
-
- public bool Contains(Int64 value)
- {
- foreach (ValueRange range in this)
- {
- if (range.Contains(value))
- {
- return true;
- }
- }
-
- return false;
- }
- }
-
- public class ValueRange
- {
- private readonly Int64 _start;
- private readonly Int64? _end;
-
- public ValueRange(Int64 first, Int64? second)
- {
- _start = first;
- _end = second;
- }
-
- public Int64 Start
- {
- get { return _start; }
- }
-
- public Int64? End
- {
- get { return _end; }
- }
-
- public bool IntersectsWith(ValueRange other)
- {
- if (this._end == null)
- {
- return other.Contains(this._start);
- }
- else if (other._end == null)
- {
- return this.Contains(other._start);
- }
-
- return (this._start <= other.End) && (this._end >= other._start);
- }
-
- public bool Contains(Int64 value)
- {
- if (_end == null)
- {
- return value == _start;
- }
- else
- {
- return (_start <= value) && (value <= _end);
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/AssemblyInfo.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/AssemblyInfo.cs
deleted file mode 100644
index f96080d0..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// #SNMP Library. An open source SNMP implementation for .NET.
-// Copyright (C) 2008 Lex Y. Li
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-#region Using directives
-
-using System;
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-#endregion
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("SharpSnmpLib")]
-[assembly: AssemblyDescription("#SNMP Library for .NET")]
-[assembly: AssemblyConfiguration("Lesser GPL 2.1+")]
-[assembly: AssemblyCompany("LeXtudio")]
-[assembly: AssemblyProduct("#SNMPLib")]
-[assembly: AssemblyCopyright("(C) 2008-2010 Malcolm Crowe, Lex Li, Steve Santacroce, and other contributors.")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// This sets the default COM visibility of types in the assembly to invisible.
-// If you need to expose index type to COM, use [ComVisible(true)] on that type.
-[assembly: ComVisible(false)]
-
-// The assembly version has following format :
-//
-// Major.Minor.Build.Revision
-//
-// You can specify all the values or you can use the default the Revision and
-// Build Numbers by using the '*' as shown below:
-[assembly: AssemblyVersion("7.0.011207.31")]
-#if (!CF)
-[assembly: AssemblyFileVersion("7.0.011207.31")]
-#endif
-[assembly: NeutralResourcesLanguage("en-US")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Lextm")]
-
-[assembly: InternalsVisibleTo("SharpSnmpLib.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f7030532c52524"
-+ "993841a0d09420340f3814e1b65473851bdcd18815510b035a2ae9ecee69c4cd2d9e4d6e6d5fbf"
-+ "a564e86c4a4cddc9597619a31c060846ebb2e99511a0323ff82b1ebd95d6a4912502945f0e769f"
-+ "190a69a439dbfb969ebad72a6f7e2e047907da4a7b9c08c6e98d5f1be8b8cafaf3eb978914059a"
-+ "245d4bc1")]
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/Resources.Designer.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/Resources.Designer.cs
deleted file mode 100644
index 38bc6bb9..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion:4.0.30319.225
-//
-// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-// der Code erneut generiert wird.
-//
-//------------------------------------------------------------------------------
-
-namespace Lextm.SharpSnmpLib.Mib {
- using System;
-
-
- ///
- /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
- ///
- // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
- // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
- // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
- // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Lextm.SharpSnmpLib.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
- /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/Resources.resx b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/Resources.resx
deleted file mode 100644
index 7080a7d1..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Properties/Resources.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/SharpSnmpLib.Mib.csproj b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/SharpSnmpLib.Mib.csproj
deleted file mode 100644
index 2cf86578..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/SharpSnmpLib.Mib.csproj
+++ /dev/null
@@ -1,140 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {CBE20411-5DB7-487D-825D-7694267BB6F5}
- Library
- Properties
- Lextm.SharpSnmpLib
- SharpSnmpLib.Mib
- ..\bin\SharpSnmpLib.Mib.xml
- 512
-
- True
- sharpsnmplib.snk
- False
- File
-
-
-
-
-
-
-
-
- False
- v4.0
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- Resources.resx
-
-
-
-
-
-
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Lextm.SharpSnmpLib.Mib
- Designer
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/license.txt b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/license.txt
deleted file mode 100644
index 27946de2..00000000
--- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/license.txt
+++ /dev/null
@@ -1,458 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/sharpsnmplib.snk b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/sharpsnmplib.snk
deleted file mode 100644
index fe6f345a..00000000
Binary files a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/sharpsnmplib.snk and /dev/null differ
diff --git a/src/apps/snmp/LwipMibCompiler/example/compile_udp_mib.cmd b/src/apps/snmp/LwipMibCompiler/example/compile_udp_mib.cmd
deleted file mode 100644
index 1c84dbfe..00000000
--- a/src/apps/snmp/LwipMibCompiler/example/compile_udp_mib.cmd
+++ /dev/null
@@ -1 +0,0 @@
-..\LwipMibCompiler\bin\Debug\LwipMibCompiler.exe ..\Mibs\UDP-MIB .\ ..\Mibs\
diff --git a/src/apps/snmp/LwipMibCompiler/example/compile_udp_mib.sh b/src/apps/snmp/LwipMibCompiler/example/compile_udp_mib.sh
deleted file mode 100755
index 93798c01..00000000
--- a/src/apps/snmp/LwipMibCompiler/example/compile_udp_mib.sh
+++ /dev/null
@@ -1 +0,0 @@
-../LwipMibCompiler/bin/Debug/LwipMibCompiler.exe ../Mibs/UDP-MIB ./ ../Mibs/
diff --git a/src/apps/snmp/snmp_core.c b/src/apps/snmp/snmp_core.c
index 5c8b42fe..0887243c 100644
--- a/src/apps/snmp/snmp_core.c
+++ b/src/apps/snmp/snmp_core.c
@@ -37,7 +37,8 @@
* @defgroup snmp SNMPv2c agent
* @ingroup apps
* SNMPv2c compatible agent\n
- * There is also a MIB compiler and a MIB viewer included in this project.\n
+ * There is also a MIB compiler and a MIB viewer in lwIP contrib repository
+ * (lwip-contrib/apps/LwipMibCompiler).\n
* The agent implements the most important MIB2 MIBs including IPv6 support
* (interfaces, UDP, TCP, SNMP, ICMP, SYSTEM). IP MIB is an older version
* whithout IPv6 statistics (TODO).\n