Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.opendaylight.org SNMP Plugin TSC Update December, 18 2014.

Similar presentations


Presentation on theme: "Www.opendaylight.org SNMP Plugin TSC Update December, 18 2014."— Presentation transcript:

1 www.opendaylight.org SNMP Plugin TSC Update December, 18 2014

2 www.opendaylight.org History 2  Posted SNMP Plugin project on 12/4/2014  Needed by Device Identification and Driver Management (DIDM) project to fetch identification information from a device using SNMP  Proposed a very simple SNMP Plugin using open source SNMP library (eg, snmp4j)  Concerns were raised stating the SNMP Plugin should be an “MD- SAL plugin” representing MIBs as YANG models and using MD- SAL access mechanism  Cisco has developed a lot of the code for an MD-SAL SNMP Plugin  This project is to continue and complete the work started by Cisco

3 www.opendaylight.org Motivation 3  Applications need the ability to interact with a device using SNMP  Use Cases:  Device type identification  Determine capabilities not available via OF protocol  VLAN configuration  VxLAN configuration  Etc…..

4 www.opendaylight.org Goals 4  Allow ODL Applications (plugins) access to SNMP stack  Use Yang Models to represent SNMP MIBs  Provides a consists, well defined, method for interacting with devices using SNMP (REST API, RPCs, DB Storage)  Use MD-SAL architecture

5 www.opendaylight.org Architecture 5 Opendaylight SNMP Plugin SNMP4JMIBs Plugin YANG Models MIB fileOID file Maven OID Plugin Much of the code has been developed and contributed by Cisco

6 www.opendaylight.org "ifNumber""1.3.6.1.2.1.2.1" "ifTable""1.3.6.1.2.1.2.2" "ifEntry""1.3.6.1.2.1.2.2.1" "ifIndex""1.3.6.1.2.1.2.2.1.1" "ifDescr""1.3.6.1.2.1.2.2.1.2" "ifType""1.3.6.1.2.1.2.2.1.3" "ifMtu""1.3.6.1.2.1.2.2.1.4" "ifSpeed""1.3.6.1.2.1.2.2.1.5" "ifPhysAddress""1.3.6.1.2.1.2.2.1.6" "ifAdminStatus""1.3.6.1.2.1.2.2.1.7" "ifOperStatus""1.3.6.1.2.1.2.2.1.8" "ifLastChange""1.3.6.1.2.1.2.2.1.9" Architecture 6 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 } "ifNumber""1.3.6.1.2.1.2.1" "ifTable""1.3.6.1.2.1.2.2" "ifEntry""1.3.6.1.2.1.2.2.1" "ifIndex""1.3.6.1.2.1.2.2.1.1" "ifDescr""1.3.6.1.2.1.2.2.1.2" "ifType""1.3.6.1.2.1.2.2.1.3" "ifMtu""1.3.6.1.2.1.2.2.1.4" "ifSpeed""1.3.6.1.2.1.2.2.1.5" "ifPhysAddress""1.3.6.1.2.1.2.2.1.6" "ifAdminStatus""1.3.6.1.2.1.2.2.1.7" "ifOperStatus""1.3.6.1.2.1.2.2.1.8" "ifLastChange""1.3.6.1.2.1.2.2.1.9" leaf ifDescr { type smiv2:DisplayString { length "0..255"; } config false; 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."; } leaf ifType { type ianaiftype-mib:IANAifType; config false; 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."; } @Override @OID(value = "1.3.6.1.2.1.2.2.1.7") public IfAdminStatus getIfAdminStatus() { return _ifAdminStatus; } @Override @OID(value = "1.3.6.1.2.1.2.2.1.2") public java.lang.String getIfDescr() { return _ifDescr; } @Override @OID(value = "1.3.6.1.2.1.2.2.1.13") public Counter32 getIfInDiscards() { return _ifInDiscards; } @Override @OID(value = "1.3.6.1.2.1.2.2.1.14") public Counter32 getIfInErrors() { return _ifInErrors; } MIB/OID YANGJAVA

7 www.opendaylight.org Architecture 7 Get MIB + OID files Convert MIB.my into YANG model Use libsmi or similar YANG-TOOLS Maven Plugin Convert YANG model of MIBs into JAVA code OID Maven Plugin Add OID tags to generated JAVA code using MIB.oid file RPC Method Invoked Get the specified MIB on a given host GET-BULK using SNMP4J 1 request per table, using OID tags from mvn plugin Aggregate results from all tables in a MIB Return fully populated MIB table SNMP Lifecycle

8 www.opendaylight.org Scope 8  Allow ODL applications (plugins) access to SNMP stack  Represent SNMP MIBs as YANG models to ensure consistent and well defined access to SNMP MIB data  Support SNMP versions v1, v2, and v3  Support Gets, Sets, Walks, Traps  Dynamic loading of MIBs at runtime  Move OID tags from OID plugin to YANG extensions in YANG tools

9 www.opendaylight.org Dependencies 9  No dependencies on other projects  Offset 1 project:  DIDM is dependent on SNMP Plugin project

10 www.opendaylight.org Project Details 10  Project Lead (elected by Committers) – Steve Dean  Project Contact – Steve Dean  Test Contact – Steve Dean  Initial code contribution from Cisco  Initial committers – 2 Cisco, 2 HP  Draft Lithium Release Plan – Available for review  https://wiki.opendaylight.org/view/SNMP_Plugin:Lithium https://wiki.opendaylight.org/view/SNMP_Plugin:Lithium


Download ppt "Www.opendaylight.org SNMP Plugin TSC Update December, 18 2014."

Similar presentations


Ads by Google