1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
|
Links
=====
RFCs
~~~~
- `RFC 7950 - The YANG 1.1 Data Modeling
Language <https://tools.ietf.org/html/rfc7950>`__
- `RFC 7951 - JSON Encoding of Data Modeled with
YANG <https://tools.ietf.org/html/rfc7951>`__
- `RFC 8342 - Network Management Datastore Architecture
(NMDA) <https://tools.ietf.org/html/rfc8342>`__
- `RFC 6087 - Guidelines for Authors and Reviewers of YANG Data Model
Documents <https://tools.ietf.org/html/rfc6087>`__
- `RFC 8340 - YANG Tree
Diagrams <https://tools.ietf.org/html/rfc8340>`__
- `RFC 6991 - Common YANG Data
Types <https://tools.ietf.org/html/rfc6991>`__
- `RFC 6241 - Network Configuration Protocol
(NETCONF) <https://tools.ietf.org/html/rfc6241>`__
- `RFC 8040 - RESTCONF
Protocol <https://tools.ietf.org/html/rfc8040>`__
YANG models
~~~~~~~~~~~
- Collection of several YANG models, including models from standards
organizations such as the IETF and vendor specific models:
https://github.com/YangModels/yang
- OpenConfig: https://github.com/openconfig/public
Presentations
~~~~~~~~~~~~~
- FRR Advanced Northbound API (May 2018)
- Slides:
https://www.dropbox.com/s/zhybthruwocbqaw/netdef-frr-northbound.pdf?dl=1
- Ok, We Got Data Models, Now What?
- Video: https://www.youtube.com/watch?v=2oqkiZ83vAA
- Slides:
https://www.nanog.org/sites/default/files/20161017_Alvarez_Ok_We_Got_v1.pdf
- Data Model-Driven Management: Latest Industry and Tool Developments
- Video: https://www.youtube.com/watch?v=n_oKGJ_jgYQ
- Slides:
https://pc.nanog.org/static/published/meetings/NANOG72/1559/20180219_Claise_Data_Modeling-Driven_Management__v1.pdf
- Network Automation And Programmability: Reality Versus The Vendor
Hype When Considering Legacy And NFV Networks
- Video: https://www.youtube.com/watch?v=N5wbYncUS9o
- Slides:
https://www.nanog.org/sites/default/files/1_Moore_Network_Automation_And_Programmability.pdf
- Lightning Talk: The API is the new CLI?
- Video: https://www.youtube.com/watch?v=ngi0erGNi58
- Slides:
https://pc.nanog.org/static/published/meetings/NANOG72/1638/20180221_Grundemann_Lightning_Talk_The_v1.pdf
- Lightning Talk: OpenConfig - progress toward vendor-neutral network
management
- Video: https://www.youtube.com/watch?v=10rSUbeMmT4
- Slides:
https://pc.nanog.org/static/published/meetings/NANOG71/1535/20171004_Shaikh_Lightning_Talk_Openconfig_v1.pdf
- Getting started with OpenConfig
- Video: https://www.youtube.com/watch?v=L7trUNK8NJI
- Slides:
https://pc.nanog.org/static/published/meetings/NANOG71/1456/20171003_Alvarez_Getting_Started_With_v1.pdf
- Why NETCONF and YANG
- Video: https://www.youtube.com/watch?v=mp4h8aSTba8
- NETCONF and YANG Concepts
- Video: https://www.youtube.com/watch?v=UwYYvT7DBvg
- NETCONF Tutorial
- Video: https://www.youtube.com/watch?v=N4vov1mI14U
Whitepapers
~~~~~~~~~~~
- Automating Network and Service Configuration Using NETCONF and YANG:
http://www.tail-f.com/wordpress/wp-content/uploads/2013/02/Tail-f-Presentation-Netconf-Yang.pdf
- Creating the Programmable Network: The Business Case for NETCONF/YANG
in Network Devices:
http://www.tail-f.com/wordpress/wp-content/uploads/2013/10/HR-Tail-f-NETCONF-WP-10-08-13.pdf
- NETCONF/YANG: What’s Holding Back Adoption & How to Accelerate It:
https://www.oneaccess-net.com/images/public/wp_heavy_reading.pdf
- Achieving Automation with YANG Modeling Technologies:
https://www.cisco.com/c/dam/en/us/products/collateral/cloud-systems-management/network-services-orchestrator/idc-achieving-automation-wp.pdf
Blog posts and podcasts
~~~~~~~~~~~~~~~~~~~~~~~
- OpenConfig and IETF YANG Models: Can they converge? -
http://rob.sh/post/215/
- OpenConfig: Standardized Models For Networking -
https://packetpushers.net/openconfig-standardized-models-networking/
- (Podcast) OpenConfig: From Basics to Implementations -
https://blog.ipspace.net/2017/02/openconfig-from-basics-to.html
- (Podcast) How Did NETCONF Start on Software Gone Wild -
https://blog.ipspace.net/2017/12/how-did-netconf-start-on-software-gone.html
- YANG Data Models in the Industry: Current State of Affairs (March
2018) -
https://www.claise.be/2018/03/yang-data-models-in-the-industry-current-state-of-affairs-march-2018/
- Why Data Model-driven Telemetry is the only useful Telemetry? -
https://www.claise.be/2018/02/why-data-model-driven-telemetry-is-the-only-useful-telemetry/
- NETCONF versus RESTCONF: Capabilitity Comparisons for Data
Model-driven Management -
https://www.claise.be/2017/10/netconf-versus-restconf-capabilitity-comparisons-for-data-model-driven-management-2/
- An Introduction to NETCONF/YANG -
https://www.fir3net.com/Networking/Protocols/an-introduction-to-netconf-yang.html
- Network Automation and the Rise of NETCONF -
https://medium.com/@k.okasha/network-automation-and-the-rise-of-netconf-e96cc33fe28
- YANG and the Road to a Model Driven Network -
https://medium.com/@k.okasha/yang-and-road-to-a-model-driven-network-e9e52d47148d
Software
~~~~~~~~
libyang
^^^^^^^
libyang is a YANG data modelling language parser and toolkit written
(and providing API) in C.
- GitHub page: https://github.com/CESNET/libyang
- Documentaion: https://netopeer.liberouter.org/doc/libyang/master/
pyang
^^^^^
pyang is a YANG validator, transformator and code generator, written
in python. It can be used to validate YANG modules for correctness,
to transform YANG modules into other formats, and to generate code
from the modules.
- GitHub page: https://github.com/mbj4668/pyang
- Documentaion: https://github.com/mbj4668/pyang/wiki/Documentation
ncclient
^^^^^^^^
ncclient is a Python library that facilitates client-side scripting
and application development around the NETCONF protocol.
- GitHub page: https://github.com/ncclient/ncclient
- Documentaion: https://ncclient.readthedocs.io/en/latest/
YDK
^^^
ydk-gen is a developer tool that can generate API’s that are modeled
in YANG. Currently, it generates language binding for Python, Go and
C++ with planned support for other language bindings in the future.
- GitHub pages:
- Generator: https://github.com/CiscoDevNet/ydk-gen
- Python: https://github.com/CiscoDevNet/ydk-py
- Python samples: https://github.com/CiscoDevNet/ydk-py-samples
- Go: https://github.com/CiscoDevNet/ydk-go
- C++: https://github.com/CiscoDevNet/ydk-cpp
- Documentation:
- Python: http://ydk.cisco.com/py/docs/
- Go: http://ydk.cisco.com/go/docs/
- C++: http://ydk.cisco.com/cpp/docs/
- (Blog post) Simplifying Network Programmability with Model-Driven
APIs:
https://blogs.cisco.com/sp/simplifying-network-programmability-with-model-driven-apis
- (Video introduction) Infrastructure as a Code Using YANG, OpenConfig
and YDK: https://www.youtube.com/watch?v=G1b6vJW1R5w
pyangbind
^^^^^^^^^
A plugin for pyang that creates Python bindings for a YANG model.
- GitHub page: https://github.com/robshakir/pyangbind
- Documentation: http://pynms.io/pyangbind/
ConfD
^^^^^
- Official webpage (for ConfD Basic):
http://www.tail-f.com/confd-basic/
- Training Videos: http://www.tail-f.com/confd-training-videos/
- Forum: http://discuss.tail-f.com/
Sysrepo
^^^^^^^
Sysrepo is an YANG-based configuration and operational state data
store for Unix/Linux applications.
- GitHub page: https://github.com/sysrepo/sysrepo
- Official webpage: http://www.sysrepo.org/
- Documentation: http://www.sysrepo.org/static/doc/html/
Netopeer2
^^^^^^^^^
Netopeer2 is a set of tools implementing network configuration tools
based on the NETCONF Protocol. This is the second generation of the
toolset, originally available as the Netopeer project. Netopeer2 is
based on the new generation of the NETCONF and YANG libraries -
libyang and libnetconf2. The Netopeer server uses sysrepo as a
NETCONF datastore implementation.
- GitHub page: https://github.com/CESNET/Netopeer2
Clixon
^^^^^^
Clixon is an automatic configuration manager where you generate
interactive CLI, NETCONF, RESTCONF and embedded databases with
transaction support from a YANG specification.
- GitHub page: https://github.com/clicon/clixon
- Project page: http://www.clicon.org/
|