IETF69 BOF XSD for accessing SMIv2 data models - PowerPoint PPT Presentation

About This Presentation
Title:

IETF69 BOF XSD for accessing SMIv2 data models

Description:

Their semantics and syntax could be reused by NETCONF and other XML-based management protocols ... columnar objects. 13. Example of IF-MIB ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 22
Provided by: Yan111
Learn more at: https://www.ietf.org
Category:

less

Transcript and Presenter's Notes

Title: IETF69 BOF XSD for accessing SMIv2 data models


1
IETF69 BOFXSD for accessing SMIv2 data models
  • Yan Li
  • liyan_77_at_huawei.com

2
Outline
  • Datatypes for Netconf Data Models
  • Using Smidump to Convert MIB to XSD
  • Accessing MIBs using NETCONF

3
  • Datatypes for Netconf Data Models
  • Using Smidump to Convert MIB to XSD
  • Accessing MIBs using NETCONF

4
Background
  • RFC 4181 Guidelines for Authors and Reviewers of
    MIB Documents lists an initial set of commonly
    used Textual Conventions. Their semantics and
    syntax could be reused by NETCONF and other
    XML-based management protocols

5
Mapping of Datatypes and Textual Conventions
SMI / TC XSD
TruthValue Boolean
Enumerated INTEGER String (with an enumeration constrain)
Numeric Integer (Integer32, Counter, Gauge) Integer and its derivant (int, unsignedInt, long, unsignedLong)
Timeticks, TimeInterval, TimeStamp Duration
DateAndTime dateTime
String (OctetString, DisplayString) String and its derivant
Address (IpAddress, MacAddress, InetAddress) String (with a specific pattern)
6
Mapping of Datatypes and Textual Conventions
(cont.)
SMI / TC XSD
BITS A list of enumerated string
OBJECT IDENTIFIER anyURI String representing an XPath expression
7
Open Issues
  • Is the EnabledStatus (P-BRIDGE-MIB) needed?
  • SNMP-Specific TCs
  • - TestAndIncr
  • - RowStatus
  • - StorageType

8
Next Step
  • Discuss case by case to identify which TCs are
    needed.

9
  • Datatypes for Netconf Data Models
  • Using Smidump to Convert MIB to XSD
  • Accessing MIBs using NETCONF

10
Mapping of Datatypes Used by Smidump
SMI / TC XSD
Integer32 int
OctetString hexBinary (with restriction of length)
Unsigned32, Counter32, Gauge32 unsignedInt
Counter64 unsignedLong
Enumerated INTEGER NMTOKEN (with restriction of enumeration)
TimeTicks, TimeStamp unsignedInt
TimeInterval int
DateAndTime String (with a specific pattern)
11
Mapping of Datatyes Used by Smidump (cont.)
SMI / TC XSD
OBJECT IDENTIFIER string (with restriction of length and pattern)
BITS A list of enumerated NMTOKEN (The list is restricted by maxLength)
12
Structure of the XML Instance Documents invented
by Smidump
  • Smidump invents a "flattened" structure of the
    XML instance documents
  • ltsnmp-datagt
  • --ltcontextgt
  • --A container of scalar elements
    (one or more)
  • --scalar objects
  • --An instance of table entry (one
    or more)
  • --columnar objects

13
Example of IF-MIB
  • ltsnmp-data xmlns"http//www.ibr.cs.tu-bs.de/proje
    cts/libsmi/xsd/IF-MIB"gt
  • ltcontext ipaddr hostname port
    community timegt
  • ltinterfacesgt
  • ltifNumbergtlt/ifNumbergt
  • lt/interfacesgt
  • ltifMIBObjectsgt
  • ltifTableLastChangegtlt/ifTableLastChang
    egt
  • ltifStackLastChangegtlt/ifStackLastChang
    egt
  • lt/ifMIBObjectsgt
  • ltifEntry ifIndex"1"gt
  • ltifTypegtlt/ifTypegt
  • lt/ifEntrygt
  • ltifXEntrygtlt/ifXEntrygt
  • ltifStackEntrygtlt/ifStackEntrygt
  • ltifTestEntrygtlt/ifTestEntrygt
  • ltifRcvAddressEntrygtlt/ifRcvAddressEntrygt
  • lt/contextgt
  • lt/snmp-datagt

14
The Output XSD of Smidump
  • ltxsdelement name"ifDescr" minOccurs"0"gt
  • ltxsdannotationgt
  • ltxsdappinfogt
  • ltmaxAccessgtread-onlylt/maxAccessgt
  • ltoidgt1.3.6.1.2.1.2.2.1.2lt/oidgt
  • ltstatusgtcurrentlt/statusgt
  • lt/xsdappinfogt
  • ltxsddocumentationgtlt/xsddocumentationgt
  • lt/xsdannotationgt
  • ltxsdsimpleTypegt
  • ltxsdannotationgt
  • ltxsdappinfogt
  • ltdisplayHintgt255alt/displayHintgt
  • lt/xsdappinfogt
  • lt/xsdannotationgt
  • ltxsdrestriction base"xsdstring"gt
  • ltxsdpattern value"((((\pIsBasicLati
    n))0,255))0,1"/gt
  • lt/xsdrestrictiongt
  • lt/xsdsimpleTypegt

15
  • Datatypes for Netconf Data Models
  • Using Smidump to Convert MIB to XSD
  • Accessing MIBs using NETCONF

16
Motivation
  • There is no data model for NETCONF, even a data
    modeling language at this time. But operators
    expect device vendors support NETCONF right now.
    What data models should device vendors provide?
  • The proprietary data models impair
    interoperability between devices and applications
    from different vendors. Actually it is another
    version of CLI.
  • The standard data models for NETCONF are destined
    to replace the proprietary data models in the
    near future. So device vendors will gain little
    return from developing proprietary data models
  • There is a need for standard data models for
    transiting toward NETCONF, the SMI MIB is an
    alternative
  • - SMI MIB is widely used for a long time,
    there are over 200 standard MIB modules
  • -There is an open source tool, libsmi,
    which can convert SMI MIB into XSD conveniently
  • A standard approach for accessing MIB may be used
    by not only NETCONF, but other XML-based NM
    protocols as well.

17
Approach for Accessing MIB
  • Use the XSD converted by smidump as data model
  • Add a capability for NETCONF
  • The capability contains two SNMP-specific
    operations
  • - ltmib-getgt, has a optional
    max-repetitions attribute for retrieving table
    entries.
  • - ltmib-setgt, has a optional operation
    attribute for creating or deleting a table entry.

18
Example of ltmib-getgt
  • ltrpc message-id"101"
  • xmlns"urnietfparamsxmlnsnetconfbase1
    .0"
  • xmlnsmib"urnietfparamsxmlnsnetconfmi
    b1.0"gt
  • ltmibmib-getgt
  • ltfilter type"subtree"gt
  • ltsnmp-data
  • xmlns"http//www.ibr.cs.tu-bs.de/projec
    ts/libsmi/xsd/IF-MIB"gt
  • ltcontext ipaddr"192.0.2.1" port"830"
  • community"public"
    time"2006-12-05T080808Z"gt
  • ltifEntry ifIndex"1"gt
  • ltifType/gt
  • ltifMtu/gt
  • lt/ifEntrygt
  • lt/contextgt
  • lt/snmp-datagt
  • lt/filtergt
  • lt/mibmib-getgt
  • lt/rpcgt

19
Example of ltmib-setgt
  • ltrpc message-id"101"
  • xmlns"urnietfparamsxmlnsnetconfbase
    1.0"
  • xmlnsmib"urnietfparamsxmlnsnetconf
    mib1.0"gt
  • ltmibmib-setgt
  • ltsnmp-data
  • xmlns"http//www.ibr.cs.tu-bs.de/projec
    ts/libsmi/xsd/IF-MIB"gt
  • ltcontext ipaddr"192.0.2.1" port"830"
  • community"public"
    time"2006-12-05T080808Z"gt
  • ltifStackEntry ifStackHigherLayer"1"
    ifStackLowerLayer"2"
  • miboperation"create"/gt
  • lt/contextgt
  • lt/snmp-datagt
  • lt/mibmib-setgt
  • lt/rpcgt

20
Open Issues
  • ltmib-getgt vs. ltgetgt
  • Should the max-repetitions attribute be
    inherited from SNMP?
  • Is the set functionality needed?

21
Thank You
  • Questions?
  • Contact info
  • Yan Li liyan_77_at_huawei.com
Write a Comment
User Comments (0)
About PowerShow.com