150 likes | 284 Views
SMI to XSD Translations. IETF70 David Harrington. Agenda. The Need The Approaches Comparisons. IETF69 XSDMI BOF. Proposal – a standard XSD translation for SMIv2 types, textual conventions, and macros for MIB definitions
E N D
SMI to XSD Translations IETF70 David Harrington
Agenda • The Need • The Approaches • Comparisons
IETF69 XSDMI BOF • Proposal – a standard XSD translation for SMIv2 types, textual conventions, and macros for MIB definitions • Goal – any XML-based protocol or implementation can leverage existing SMIv2 types, textual conventions, MIB structures, and existing code. • BOF Results: 13-0 in favor
Post-BOF • Decision to bring it to OPSAWG rather than start a whole new WG for this fairly simple work • YANG proposes an SMI-YANG-XSD translation path using tools. • Proponents of YANG concerned that a standard SMI-XSD translation would constrain YANG work. • Concern over competing standards slowed progress.
Moving Forward • Compare the current YANG tools with the XSDMI definitions, and other SMI-XSD translations of data types, etc. • Determine how far apart we are • Determine if we can eliminate differences • Determine why some differences might be needed.
The Approaches - XSDMI • Draft-romascanu-netconf-datatypes-00 hand-crafted translations of SMI types and textual conventions • Goal- to quickly provide types for implementers developing their own proprietary XML data models for Netconf • Rough consensus on the need. • Work stopped when Romascanu became AD.
The Approaches - XSDMI • Work restarted by Li Yan when original authors no longer available. • SMI is a separate standard from SNMP and from MIB modules, per RFC1052. • Draft-romascanu-netconf-datatypes-01,02 positioned as protocol-independent translation to meet standard and proprietary needs for Netconf, MIB2RDML, and other uses.
The Approaches - XSDMI • Libsmi is a popular open-source toolkit for validating MIB modules. Smidump (from libsmi toolkit) can translate a MIB module into XSD. • Draft-romascanu-netconf-datatypes-01,02 based on documenting the open source code translation algorithms of smidump. • “Running code” for SMI-XSD translations.
The Approaches – MIB2RDML • MIB2RDML wants to make existing MIB available for reuse in Web Services environments by providing translations of SMI types, TCs, and structures. • Leader of MIB2RDML recognized this could be done in two steps – SMI-XSD and then XSD-RDML (and other). • Bob Natale joined XSDMI team after BOF.
The Approaches – XSDMI/MIB2RDML • Draft-li-netconf-datatypes-03 unfocused due to competing use cases; confusion over relation to netconf; never published. • We improved focus on SMIv2 fidelity and netconf-independence. • New cleaner draft with a new name – draft-li-natale-smi-datatypes-in-xsd-00 • Would like to make this simply an OPSAWG draft – not XSDMI, not YANG, not MIB2RDML
The Approaches - YANG • YANG is focused on Netconf. Period. • YANG based on “running code” from multiple sources (Juniper, Tail-f, Ericsson, Bierman, libsmi) • YANG can import SMI MIB modules (including types, TCs, structures) • Tools include smidump and pyang. • Tools provide YANG-to-XSD translations.
The Approaches - YANG • YANG specs are incomplete. As a result, the tools are still in development • Current XSD output of tools doesn’t match
Proposal • I have XSD from • Romascanu-netconf-datatypes-03 • Pyang output • Smidump output • Let’s look these over and decide how different they are. • Let’s decide whether it makes sense to try to reach consensus on the XSD format
Proposal • Can these XSD formats be “harmonized”? • We may need to accept that SMI to XSD translations might differ to meet requirements of different protocols • If translations are protocol-independent, this is an OPS area task. • Should this harmonizing be done in OPSAWG?
Thank You • Questions?