16
IETF 95, Aries Apr 2016 YANG/NETCONF/RESTCONF

YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

  • Upload
    dinhdan

  • View
    238

  • Download
    8

Embed Size (px)

Citation preview

Page 1: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

IETF 95, AriesApr 2016

YANG/NETCONF/RESTCONF

Page 2: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

Protocol Work

Page 4: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

4© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

• https://github.com/Juniper/netconf-call-home

• Contact: Kent Watsen

NETCONF Call Home

4

Page 5: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

YANG Data Model Catalog

Page 6: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

6© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

• A tool to extract the info from YANG models to populate a YANG model catalog, for the industry

• Based on the previous hackathon (Carl Moberg)

• Based on draft-openconfig-netmod-model-catalog-00

+--rw name string +--rw namespace? string +--rw prefix? string +--rw revision? string

• Contact: Carl, Ignas, Qin, Michael, Ning

• https://github.com/cmoberg/confd-module-catalog

YANG Data Model Catalog

6

Page 7: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

CONTACTS

REMOTE: Munish Nayyar, Pravin Gohite, Abhishek Keshav

LOCAL: Mahesh Jethanandani (Sunday)

YAM (YDK App Maker) - YDK

Page 8: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

8© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

• Simplify app development

• Abstract transport and encoding

• API generated from YANG model

• One-to-one correspondence between model and class hierarchy

• Multi-language (Python, C++, Ruby, Go, etc.)

Model-Driven APIs

8

YANG ModelClass Hierarchy

(Python, C++, Ruby, Go)

Page 9: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

9© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

Yang Explorer

Page 10: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

10© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

• Starting programmer, use GUI to give data to YANG model and auto-generate YDK app.

• Have NETCONF, RESTCONF payload and want to migrate to YDK based app with minimal effort via tool.

• Looking for an educational channel on how to use YDK objects.

• YANG data model payload transcoding (convert XML to YDK to JSON to YDK to ….or vice versa)

YAM - is it for you?

10

Page 11: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

11© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

• CODECService in YDK

developed to expose API that allows binding of Payload (XML/JSON) to YDKObjects and vice-versa.

• Reflection API in YDK

that reflect object and provide methods to reflect object values, types with granularity of yang properties.

• YangExplorer enhancements

Frontend and backend trigger for YAM interfaces

YAM – development items

11

Page 12: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

12© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

• Contact: Python library for NETCONF clients (http://ncclient.org/)

• YANG Explorer (https://git.io/vg7Jm)

• YDK-py (https://goo.gl/kM00f2)

• YDK-gen (https://goo.gl/8Fokc4)

• Cisco IOS XR at DevNet (https://goo.gl/uaxrpN)

• Cisco IOS XR YANG models (https://git.io/vg7fk)

• Getting Started With OpenConfig in Cisco IOS XR (https://git.io/vg7vF)

• Getting Started With gRPC in Cisco IOS XR (https://git.io/vg7vP)

YAM Resources

12

Page 13: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

YANG Tooling

Page 14: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

14© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

• Qin Wu: pyang in the submission tool include all the existing YANG ⇒models in the path.

• Hariharan Ananthakrishnan: symd improvement for depending YANG data models

• See http://gitlab.cisco.com/einarnn/symd

• David Lamparter: code generation bridge between YANG schemas and Cap'n Proto schemas

• Benoit Claise: improve YANG model monitoring tools on claise.be

• Some more …

• Please join

YANG Tooling

14

Page 15: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (
Page 16: YANG/NETCONF/RESTCONF - IETF · • Getting Started With OpenConfig in Cisco IOS XR (

16© 2015 Cisco and/or its affiliates. All rights reserved. [email protected] - Cisco Confidential

NETCONFNETCONF gRPCgRPCRESTCONFRESTCONF

XMLXML JSONJSON

Model-Driven Programmability Stack

Model-Driven APIsYANG Development Kit (YDK)

Model-Driven APIsYANG Development Kit (YDK)

YANG Models (native, open, common)

YANG Models (native, open, common)

XR Data Model DatabaseXR Data Model Database

App1App1 App2App2 App3App3

Models

Encoding

Protocol

APIs

Apps

SSHSSH HTTPHTTPTransport