Title: IETF69 BOF XSD for accessing SMIv2 data models
1IETF69 BOFXSD for accessing SMIv2 data models
- Yan Li
- liyan_77_at_huawei.com
2Outline
- 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
4Background
- 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
5Mapping 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)
6Mapping of Datatypes and Textual Conventions
(cont.)
SMI / TC XSD
BITS A list of enumerated string
OBJECT IDENTIFIER anyURI String representing an XPath expression
7Open Issues
- Is the EnabledStatus (P-BRIDGE-MIB) needed?
- SNMP-Specific TCs
- - TestAndIncr
- - RowStatus
- - StorageType
8Next 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
10Mapping 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)
11Mapping 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)
12Structure 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
13Example 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
14The 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
16Motivation
- 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.
17Approach 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.
18Example 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
19Example 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
20Open Issues
- ltmib-getgt vs. ltgetgt
- Should the max-repetitions attribute be
inherited from SNMP? - Is the set functionality needed?
21Thank You
- Contact info
- Yan Li liyan_77_at_huawei.com