SlideShare a Scribd company logo
NETCONF Tutorial
Presented by Tail-f
MAY 27, 2013 2©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Transport
NETCONF messages are encoded in XML
• Each message is framed by
• NETCONF 1.0: a character sequence ]]>]]>
• NETCONF 1.1: a line with the number of characters to read in ASCII
NETCONF messages are encrypted by SSH
• NETCONF over SOAP, BEEP (both now deprecated) and TLS are also defined, but not used
• SSH provides authentication, integrity and confidentiality
NETCONF is connected oriented using TCP
• No need for manager to request resends
• Efficient use of the medium
MAY 27, 2013 3©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Extensibility
When a NETCONF Manager connects to a NETCONF Server (Device), they
say<hello>
The contents of the <hello> message declares which NETCONF Capabilities each
party is capable of.
• Some capabilities are defined by the base NETCONF specification
• Each Yang Data model the device knows is also a capability
• Other specifications (standards body or proprietary) also define capabilities
By declaring support for a capability in <hello>, the manager will know which
operations it can submit to the Device.
Extensions go in separate XML namespaces, which makes it easier to build
backwards and forwards compatible management applications.
MAY 27, 2013 4©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Configuration Data Stores
• Named configuration stores
• Each data store may hold a full copy of the configuration
• Running is mandatory, Startup and Candidate optional (capabilities :startup, :candidate)
• Running may or may not be directly writable (:writable-running)
• Need to copy from other stores if not directly writable
Startup Running Candidate Files… / URLs…
MAY 27, 2013 5©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Transactions, Network-wide Transactions
NETCONF allows a Manager to send down a set of configuration changes, or an
entirely new configuration, in a single <edit-config> transaction.
When doing so, the Manager does not need to
• Figure out which order to send down the configuration changes in. All different sequences
are treated equal.
• Recover if the transaction fails. If the transaction was unsuccessful because of
• inconsistency in the configuration
• an out of memory condition
• any other reason
… none of the transaction content has been activated.
The transaction did not roll back. It was simply never activated.
MAY 27, 2013 6©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Transactions, Network-wide Transactions
Using the Candidate data store a NETCONF Manager can implement a network wide
transaction.
• Send a configuration change to the candidate of each participating device
• Validate candidate
• If all participants are fine, tell all participating devices to commit changes
Confirmed-commit allows a manager to activate a change, and test it for a while
• Measure KPIs, test connectivity, …
If satisfactory, commit. If not, drop the connection to the devices.
• Connection closed/lost is the NETCONF command for abort transaction
• All devices will roll back
MAY 27, 2013 7©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Base Operations
• <get>
• <get-config>
• <edit-config>
• test-option (:validate)
• error-option
• operation
• <copy-config>
• <commit> (:candidate, :confirmed)
• <discard-changes> (:candidate)
• <cancel-commit> (:candidate)
• <delete-config>
• <lock>
• <unlock>
• <close-session>
• <kill-session>
MAY 27, 2013 8©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Example Configuration Sequence
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="5">
<edit-config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<target>
<candidate/>
</target>
<test-option>test-then-set</test-option>
<error-option>rollback-on-error</error-option>
<config>
<interface xmlns=”urn:ietf:params:xml:ns:yang:ietf-interfaces">
<name>eth1</name>
<ipv4-address>192.168.5.10</ipv4-address>
<macaddr>aa:bb:cc:dd:ee:ff</macaddr>
</interface>
</config>
</edit-config>
</rpc>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="6">
<validate>
<source>
<candidate/>
</source>
</validate>
</rpc>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="7">
<commit>
<confirmed/>
</commit>
</rpc>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
message-id="5">
<ok/>
</rpc-reply>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
message-id="6">
<ok/>
</rpc-reply>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
message-id=“7">
<ok/>
</rpc-reply>
MAY 27, 2013 9©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF RFC6241 Optional Capabilities
:writable-running
:candidate
:confirmed-commit
:rollback-on-error
:validate
:startup
:url (scheme=http, ftp, file, …)
:xpath (filters)
MAY 27, 2013 10©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Non-base NETCONF Capabilities
:notification, :interleave (RFC 5277)
:partial-lock (RFC 5717)
:with-defaults (RFC 6243)
:ietf-netconf-monitoring (RFC 6022)
And you can define your own, like
:actions (tail-f)
:inactive (tail-f)
MAY 27, 2013 11©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF Operations
MAY 27, 2013 12©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <hello> Operation
• Capabilities exchange
• Data model ID exchange
• Encoding
• Framing
• NETCONF 1.0 EOM, ]]>]]>
• NETCONF 1.1 Chunk Framing
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
</capabilities>
</hello>
MAY 27, 2013 13©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <hello> Operation
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability
<capability>urn:ietf:params:netconf:capability:candidate:1.0</capability>
<capability>urn:ietf:params:netconf:capability:confirmed-commit:1.0</capability
<capability>urn:ietf:params:netconf:capability:xpath:1.0</capability>
<capability>urn:ietf:params:netconf:capability:validate:1.0</capability>
<capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capabilit
<capability>http://tail-f.com/ns/netconf/with-defaults/1.0</capability>
<capability>http://tail-f.com/ns/netconf/actions/1.0</capability>
<capability>http://tail-f.com/ns/netconf/commit/1.0</capability>
<capability>http://tail-f.com/ns/example/dhcpd?module=dhcpd</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2010-09-
24&amp;module=ietf-inet-types</capability>
</capabilities>
<session-id>5</session-id>
</hello>
MAY 27, 2013 14©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <get-config> Operation
• Subtree filtering • XPATH filtering
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1">
<get-config>
<source>
<running/>
</source>
<filter xmlns="http://tail-f.com/ns/aaa/1.1">
<aaa/>
</filter>
</get-config>
</rpc>
MAY 27, 2013 15©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <get-config> Operation
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1">
<data>
<aaa xmlns="http://tail-f.com/ns/aaa/1.1">
<authentication>
<users>
<user>
<name>admin</name>
<uid>9000</uid>
<gid>0</gid>
<password>$1$3ZHhR6Ow$acznsyClFc0keo3B3BVjx/</password>
<ssh_keydir>/var/confd/homes/admin/.ssh</ssh_keydir>
<homedir>/var/confd/homes/admin</homedir>
</user>
<user>
<name>oper</name>
…
</users>
</authentication>
</aaa>
</data>
</rpc-reply>
MAY 27, 2013 16©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <edit-config> Operation
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1">
<edit-config>
<target><running/></target>
<config>
<dhcp xmlns="http://tail-f.com/ns/example/dhcpd"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1">
<defaultLeaseTime nc:operation="merge”>PT1H
</defaultLeaseTime>
</dhcp>
</config>
</edit-config>
</rpc>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="1">
<ok/>
</rpc-reply>
MAY 27, 2013 18©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <copy-config> Operation
• Copy configuration data between stores or URLs
<rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<copy-config>
<target><running/></target>
<source>
<url>https://user@example.com:passphrase/cfg/new.txt
</url>
</source>
</copy-config>
</rpc>
<rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<ok/>
</rpc-reply>
MAY 27, 2013 19©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <delete-config> Operation
• Delete a complete data store (not running)
<rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<delete-config>
<target>
<startup/>
</target>
</delete-config>
</rpc>
<rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<ok/>
</rpc-reply>
MAY 27, 2013 20©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <lock>, <unlock> Operation
• Lock/unlock a complete data store
<rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<lock>
<target>
<candidate/>
</target>
</lock>
</rpc>
<rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<ok/>
</rpc-reply>
MAY 27, 2013 21©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <get> Operation
• Read configuration and status
<rpc message-id="101”
xmlns=”urn:ietf:param
<get>
<filter type="subtree">
<top xmlns="http://example.com/ns/dhc
<interfaces>
<interface>
<ifName>eth0</ifName>
</interface>
</interfaces>
</top>
</filter>
</get>
<rpc-reply message-id="101” xmlns=“urn:ie
<data>
<top xmlns="http://example.com/ns/dhc
<interfaces>
<interface>
<ifName>eth0</ifName>
<ifInOctets>45621</ifInOctets>
<ifOutOctets>774344</ifOutOctet
</interface>
</interfaces>
</top>
</data>
</rpc-reply>
MAY 27, 2013 22©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <close-session> Operation
• Polite way of disconnecting
<rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<close-session/>
</rpc>
<rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<ok/>
</rpc-reply>
MAY 27, 2013 23©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
NETCONF <kill-session> Operation
• Not so polite way of disconnecting another session
Releases any locks, aborts any confirmed commit related to session
<rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<kill-session>
<session-id>17</session-id>
</kill-session>
</rpc>
<rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<ok/>
</rpc-reply>
MAY 27, 2013 24©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Additional NETCONF operations by capabilities
• <commit>, <discard-changes> (:candidate)
• <validate> (:validate)
• Copy candidate to running
• Discard changes in candidate (copy running to candidate)
• <create-subscription> (:notification)
• <partial-lock>, <partial-unlock> (:partial-lock)
• <commit>, <cancel-commit> (:commit)
• <get-schema> (:ietf-netconf-monitoring)
MAY 27, 2013 25©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Example:
VPN provisioning using NETCONF Network-wide Transactions
MAY 27, 2013 26©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
VPN Scenario
North
East
West
• An operator owns a network of routers
and other equipment from different
vendors
• They have a management station
connected to all the devices in the
network to provision and monitor
services
• Now, we need to set up a VPN
between two customer sites
• There is no point what so ever to
make any changes on any device
unless all changes succeed
• We need a Network-wide Transaction
Site A
Site B
MAY 27, 2013 27©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Hello
• Exchange capabilities
>>>>> Router-West (Sun Nov 15 14:41:25 CET 2009)
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
</capabilities>
</hello>
<<<< Router-West (Sun Nov 15 14:41:25 CET 2009)
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>http://tail-f.com/ns/netconf/actions/1.0</capability>
<capability>http://tail-f.com/ns/aaa/1.1</capability>
<capability>http://tail-f.com/ns/example/quagga/1.0</capability>
</capabilities>
<session-id>4</session-id>
</hello>
MAY 27, 2013 28©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Clear the candidate data stores
>>>>> Router-West (Sun Nov 15 15:24:32 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="1">
<nc:discard-changes></nc:discard-changes>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:24:33 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="1">
<ok></ok>
</rpc-reply>
MAY 27, 2013 29©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Lock the candidate data stores
>>>>> Router-West (Sun Nov 15 15:24:33 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="2">
<nc:lock>
<nc:target>
<nc:candidate></nc:candidate>
</nc:target>
</nc:lock>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:24:33 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="2">
<ok></ok>
</rpc-reply>
MAY 27, 2013 30©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Lock the running data stores
>>>>> Router-West (Sun Nov 15 15:24:33 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="3">
<nc:lock>
<nc:target>
<nc:running></nc:running>
</nc:target>
</nc:lock>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:24:33 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="3">
<ok></ok>
</rpc-reply>
MAY 27, 2013 31©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Copy running to candidates (logically)
>>>>> Router-West (Sun Nov 15 15:24:33 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="4">
<nc:copy-config>
<nc:target>
<nc:candidate></nc:candidate>
</nc:target>
<nc:source>
<nc:running></nc:running>
</nc:source>
</nc:copy-config>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:24:33 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="4">
<ok></ok>
</rpc-reply>
MAY 27, 2013 32©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Edit the candidates
>>>>> Router-West (Sun Nov 15 15:24:33 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="5">
<nc:edit-config>
<nc:target><nc:candidate></nc:candidate></nc:target>
<nc:config>
<quagga:system xmlns:quagga="http://tail-f.com/ns/example/quagga
<quagga:vpn>
<quagga:ipsec>
<quagga:tunnel>
<quagga:name>volvo-0</quagga:name>
<quagga:local-endpoint>10.7.7.4</quagga:local-endpoint>
<quagga:local-net>33.44.55.0</quagga:local-net>
<quagga:local-net-mask>255.255.255.0</quagga:local-net-mas
<quagga:remote-endpoint>10.3.4.1</quagga:remote-endpoint>
<quagga:remote-net>62.34.65.0</quagga:remote-net>
<quagga:pre-shared-key>ford</quagga:pre-
<quagga:encryption-algo>default
<quagga:hash-algo>defau
MAY 27, 2013 33©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Validate candidates
>>>>> Router-West (Sun Nov 15 15:24:33 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="6">
<nc:validate>
<nc:source>
<nc:candidate></nc:candidate>
</nc:source>
</nc:validate>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:24:33 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="6">
<ok></ok>
</rpc-reply>
MAY 27, 2013 34©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Commit candidates to running
Confidential Information | February 13, 2015
>>>>> Router-West (Sun Nov 15 15:24:33 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="7">
<nc:commit></nc:commit>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:24:33 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="7">
<ok></ok>
</rpc-reply>
MAY 27, 2013 35©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Unlock candidates
>>>>> Router-West (Sun Nov 15 15:24:33 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="8">
<nc:unlock>
<nc:target>
<nc:candidate></nc:candidate>
</nc:target>
</nc:unlock>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:24:33 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="8">
<ok></ok>
</rpc-reply>
MAY 27, 2013 36©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Using confirmed-commit
• Now do the same thing again, but instead of commit…
>>>>> Router-West (Sun Nov 15 15:29:19 CET 2009)
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="16">
<nc:commit>
<nc:confirmed></nc:confirmed>
<nc:confirm-timeout>120</nc:confirm-timeout>
</nc:commit>
</nc:rpc>
<<<< Router-West (Sun Nov 15 15:29:19 CET 2009)
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="16">
<ok></ok>
</rpc-reply>
MAY 27, 2013 37©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Disaster happens
• One of the devices disconnected
• The management station disconnects all the rest
• The all roll back to the previous configuration
• The management station reconnects
>>>>> Router-West (Sun Nov 15 15:30:22 CET 2009)
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
</capabilities>
</hello>
<<<< Router-West (Sun Nov 15 15:30:22 CET 2009)
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:capability:writable-running:1.
MAY 27, 2013 38©2013 TAIL-F all rights reserved
TUTORIAL: NETCONF AND YANG
Common NETCONF Use Cases
• Network-wide transactions
• Applying and testing a configuration
• Testing and rejecting a configuration
• Rollback when device goes down
• Transactions requiring all devices to be up
• Backlogging transactions
• Synchronizing
Module 4: NETCONF Tutorial

More Related Content

What's hot

NETCONF Call Home
NETCONF Call Home NETCONF Call Home
NETCONF Call Home
ADVA
 
Tail-f - Why NETCONF
Tail-f - Why NETCONFTail-f - Why NETCONF
Tail-f - Why NETCONF
Tail-f Systems
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
Shu Sugimoto
 
VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)
Netwax Lab
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
Juniper Networks (日本)
 
CCMAv5 - S4: Chapter 6: Broadband Solutions
CCMAv5 - S4: Chapter 6: Broadband SolutionsCCMAv5 - S4: Chapter 6: Broadband Solutions
CCMAv5 - S4: Chapter 6: Broadband Solutions
Vuz Dở Hơi
 
VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRouting
Faisal Reza
 
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース 【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
Juniper Networks (日本)
 
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
 
Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overview
Cisco DevNet
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?
Yuya Rin
 
ACI DHCP Config Guide
ACI DHCP Config GuideACI DHCP Config Guide
ACI DHCP Config Guide
Woo Hyung Choi
 
VXLAN Practice Guide
VXLAN Practice GuideVXLAN Practice Guide
VXLAN Practice Guide
Prasenjit Sarkar
 
Juniper Switch Overview
Juniper Switch OverviewJuniper Switch Overview
Juniper Switch Overview
igxglobal UK Ltd
 
FlexEのご紹介 - JANOG 39.5 発表資料
FlexEのご紹介 - JANOG 39.5 発表資料FlexEのご紹介 - JANOG 39.5 発表資料
FlexEのご紹介 - JANOG 39.5 発表資料
Juniper Networks (日本)
 
Mikrotik IP Settings For Performance and Security
Mikrotik IP Settings For Performance and SecurityMikrotik IP Settings For Performance and Security
Mikrotik IP Settings For Performance and Security
GLC Networks
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
Juniper Networks (日本)
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
Juniper Networks (日本)
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
Michal Rostecki
 
Basic command to configure mikrotik
Basic command to configure mikrotikBasic command to configure mikrotik
Basic command to configure mikrotik
Tola LENG
 

What's hot (20)

NETCONF Call Home
NETCONF Call Home NETCONF Call Home
NETCONF Call Home
 
Tail-f - Why NETCONF
Tail-f - Why NETCONFTail-f - Why NETCONF
Tail-f - Why NETCONF
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
 
VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)VRF (virtual routing and forwarding)
VRF (virtual routing and forwarding)
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
 
CCMAv5 - S4: Chapter 6: Broadband Solutions
CCMAv5 - S4: Chapter 6: Broadband SolutionsCCMAv5 - S4: Chapter 6: Broadband Solutions
CCMAv5 - S4: Chapter 6: Broadband Solutions
 
VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRouting
 
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース 【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
 
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
 
Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overview
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?
 
ACI DHCP Config Guide
ACI DHCP Config GuideACI DHCP Config Guide
ACI DHCP Config Guide
 
VXLAN Practice Guide
VXLAN Practice GuideVXLAN Practice Guide
VXLAN Practice Guide
 
Juniper Switch Overview
Juniper Switch OverviewJuniper Switch Overview
Juniper Switch Overview
 
FlexEのご紹介 - JANOG 39.5 発表資料
FlexEのご紹介 - JANOG 39.5 発表資料FlexEのご紹介 - JANOG 39.5 発表資料
FlexEのご紹介 - JANOG 39.5 発表資料
 
Mikrotik IP Settings For Performance and Security
Mikrotik IP Settings For Performance and SecurityMikrotik IP Settings For Performance and Security
Mikrotik IP Settings For Performance and Security
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
 
Basic command to configure mikrotik
Basic command to configure mikrotikBasic command to configure mikrotik
Basic command to configure mikrotik
 

Viewers also liked

Module 9: CDB Technical Intro
 Module 9: CDB Technical Intro Module 9: CDB Technical Intro
Module 9: CDB Technical Intro
Tail-f Systems
 
Module 10: CDB Subscribers
Module 10: CDB SubscribersModule 10: CDB Subscribers
Module 10: CDB Subscribers
Tail-f Systems
 
Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2
Tail-f Systems
 
Module 8: C Data Types
Module 8: C Data TypesModule 8: C Data Types
Module 8: C Data Types
Tail-f Systems
 
Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View
Tail-f Systems
 
Module 12: NETCONF Northbound Interface
Module 12: NETCONF Northbound InterfaceModule 12: NETCONF Northbound Interface
Module 12: NETCONF Northbound Interface
Tail-f Systems
 
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16
Kentaro Ebisawa
 
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Systems
 
Module 11: Operational Data Providers
Module 11: Operational Data ProvidersModule 11: Operational Data Providers
Module 11: Operational Data Providers
Tail-f Systems
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining
Tail-f Systems
 
Module 7: Installation and Getting Started
Module 7: Installation and Getting StartedModule 7: Installation and Getting Started
Module 7: Installation and Getting Started
Tail-f Systems
 

Viewers also liked (11)

Module 9: CDB Technical Intro
 Module 9: CDB Technical Intro Module 9: CDB Technical Intro
Module 9: CDB Technical Intro
 
Module 10: CDB Subscribers
Module 10: CDB SubscribersModule 10: CDB Subscribers
Module 10: CDB Subscribers
 
Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2
 
Module 8: C Data Types
Module 8: C Data TypesModule 8: C Data Types
Module 8: C Data Types
 
Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View
 
Module 12: NETCONF Northbound Interface
Module 12: NETCONF Northbound InterfaceModule 12: NETCONF Northbound Interface
Module 12: NETCONF Northbound Interface
 
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16
 
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
 
Module 11: Operational Data Providers
Module 11: Operational Data ProvidersModule 11: Operational Data Providers
Module 11: Operational Data Providers
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining
 
Module 7: Installation and Getting Started
Module 7: Installation and Getting StartedModule 7: Installation and Getting Started
Module 7: Installation and Getting Started
 

Similar to Module 4: NETCONF Tutorial

NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
Cisco DevNet
 
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP ServletsMobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
telestax
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable Networks
MyNOG
 
Java one2013
Java one2013Java one2013
Java one2013
Aleksei Kornev
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
Cisco DevNet
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PROIDEA
 
Ln family portfolio_customer_presentation
Ln family portfolio_customer_presentationLn family portfolio_customer_presentation
Ln family portfolio_customer_presentation
Lenovo Data Center
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco Routers
SolarWinds
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
Neo4j
 
Data models-and-automation-jp
Data models-and-automation-jpData models-and-automation-jp
Data models-and-automation-jp
Miya Kohno
 
NGON 2019 OIF Optical Masterclass
NGON 2019 OIF Optical MasterclassNGON 2019 OIF Optical Masterclass
NGON 2019 OIF Optical Masterclass
Leah Wilkinson
 
SDN and metrics from the SDOs
SDN and metrics from the SDOsSDN and metrics from the SDOs
SDN and metrics from the SDOs
Open Networking Summit
 
Mikrotik® MPLS/VPN Lab Part 1
Mikrotik® MPLS/VPN Lab Part 1Mikrotik® MPLS/VPN Lab Part 1
Mikrotik® MPLS/VPN Lab Part 1
Kaveh Khosravi
 
BuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdfBuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdf
Fernando Velez Varela
 
configuration of switch campus network
configuration of switch campus networkconfiguration of switch campus network
configuration of switch campus network
subhash subbu
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Melton
harryvanhaaren
 
Migrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesMigrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetes
Konveyor Community
 
Sdn dell lab report v2
Sdn dell lab report v2Sdn dell lab report v2
Sdn dell lab report v2
Oded Rotter
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining
Odinot Stanislas
 
OIF Workshop at NGON & DCI World 2022
OIF Workshop at NGON & DCI World 2022OIF Workshop at NGON & DCI World 2022
OIF Workshop at NGON & DCI World 2022
Leah Wilkinson
 

Similar to Module 4: NETCONF Tutorial (20)

NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP ServletsMobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable Networks
 
Java one2013
Java one2013Java one2013
Java one2013
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
 
Ln family portfolio_customer_presentation
Ln family portfolio_customer_presentationLn family portfolio_customer_presentation
Ln family portfolio_customer_presentation
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco Routers
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
 
Data models-and-automation-jp
Data models-and-automation-jpData models-and-automation-jp
Data models-and-automation-jp
 
NGON 2019 OIF Optical Masterclass
NGON 2019 OIF Optical MasterclassNGON 2019 OIF Optical Masterclass
NGON 2019 OIF Optical Masterclass
 
SDN and metrics from the SDOs
SDN and metrics from the SDOsSDN and metrics from the SDOs
SDN and metrics from the SDOs
 
Mikrotik® MPLS/VPN Lab Part 1
Mikrotik® MPLS/VPN Lab Part 1Mikrotik® MPLS/VPN Lab Part 1
Mikrotik® MPLS/VPN Lab Part 1
 
BuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdfBuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdf
 
configuration of switch campus network
configuration of switch campus networkconfiguration of switch campus network
configuration of switch campus network
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Melton
 
Migrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesMigrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetes
 
Sdn dell lab report v2
Sdn dell lab report v2Sdn dell lab report v2
Sdn dell lab report v2
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining
 
OIF Workshop at NGON & DCI World 2022
OIF Workshop at NGON & DCI World 2022OIF Workshop at NGON & DCI World 2022
OIF Workshop at NGON & DCI World 2022
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 

Module 4: NETCONF Tutorial

  • 2. MAY 27, 2013 2©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Transport NETCONF messages are encoded in XML • Each message is framed by • NETCONF 1.0: a character sequence ]]>]]> • NETCONF 1.1: a line with the number of characters to read in ASCII NETCONF messages are encrypted by SSH • NETCONF over SOAP, BEEP (both now deprecated) and TLS are also defined, but not used • SSH provides authentication, integrity and confidentiality NETCONF is connected oriented using TCP • No need for manager to request resends • Efficient use of the medium
  • 3. MAY 27, 2013 3©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Extensibility When a NETCONF Manager connects to a NETCONF Server (Device), they say<hello> The contents of the <hello> message declares which NETCONF Capabilities each party is capable of. • Some capabilities are defined by the base NETCONF specification • Each Yang Data model the device knows is also a capability • Other specifications (standards body or proprietary) also define capabilities By declaring support for a capability in <hello>, the manager will know which operations it can submit to the Device. Extensions go in separate XML namespaces, which makes it easier to build backwards and forwards compatible management applications.
  • 4. MAY 27, 2013 4©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Configuration Data Stores • Named configuration stores • Each data store may hold a full copy of the configuration • Running is mandatory, Startup and Candidate optional (capabilities :startup, :candidate) • Running may or may not be directly writable (:writable-running) • Need to copy from other stores if not directly writable Startup Running Candidate Files… / URLs…
  • 5. MAY 27, 2013 5©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Transactions, Network-wide Transactions NETCONF allows a Manager to send down a set of configuration changes, or an entirely new configuration, in a single <edit-config> transaction. When doing so, the Manager does not need to • Figure out which order to send down the configuration changes in. All different sequences are treated equal. • Recover if the transaction fails. If the transaction was unsuccessful because of • inconsistency in the configuration • an out of memory condition • any other reason … none of the transaction content has been activated. The transaction did not roll back. It was simply never activated.
  • 6. MAY 27, 2013 6©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Transactions, Network-wide Transactions Using the Candidate data store a NETCONF Manager can implement a network wide transaction. • Send a configuration change to the candidate of each participating device • Validate candidate • If all participants are fine, tell all participating devices to commit changes Confirmed-commit allows a manager to activate a change, and test it for a while • Measure KPIs, test connectivity, … If satisfactory, commit. If not, drop the connection to the devices. • Connection closed/lost is the NETCONF command for abort transaction • All devices will roll back
  • 7. MAY 27, 2013 7©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Base Operations • <get> • <get-config> • <edit-config> • test-option (:validate) • error-option • operation • <copy-config> • <commit> (:candidate, :confirmed) • <discard-changes> (:candidate) • <cancel-commit> (:candidate) • <delete-config> • <lock> • <unlock> • <close-session> • <kill-session>
  • 8. MAY 27, 2013 8©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Example Configuration Sequence <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="5"> <edit-config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <target> <candidate/> </target> <test-option>test-then-set</test-option> <error-option>rollback-on-error</error-option> <config> <interface xmlns=”urn:ietf:params:xml:ns:yang:ietf-interfaces"> <name>eth1</name> <ipv4-address>192.168.5.10</ipv4-address> <macaddr>aa:bb:cc:dd:ee:ff</macaddr> </interface> </config> </edit-config> </rpc> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="6"> <validate> <source> <candidate/> </source> </validate> </rpc> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="7"> <commit> <confirmed/> </commit> </rpc> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="5"> <ok/> </rpc-reply> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="6"> <ok/> </rpc-reply> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" message-id=“7"> <ok/> </rpc-reply>
  • 9. MAY 27, 2013 9©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF RFC6241 Optional Capabilities :writable-running :candidate :confirmed-commit :rollback-on-error :validate :startup :url (scheme=http, ftp, file, …) :xpath (filters)
  • 10. MAY 27, 2013 10©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Non-base NETCONF Capabilities :notification, :interleave (RFC 5277) :partial-lock (RFC 5717) :with-defaults (RFC 6243) :ietf-netconf-monitoring (RFC 6022) And you can define your own, like :actions (tail-f) :inactive (tail-f)
  • 11. MAY 27, 2013 11©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF Operations
  • 12. MAY 27, 2013 12©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <hello> Operation • Capabilities exchange • Data model ID exchange • Encoding • Framing • NETCONF 1.0 EOM, ]]>]]> • NETCONF 1.1 Chunk Framing <?xml version="1.0" encoding="UTF-8"?> <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <capabilities> <capability>urn:ietf:params:netconf:base:1.1</capability> </capabilities> </hello>
  • 13. MAY 27, 2013 13©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <hello> Operation <?xml version="1.0" encoding="UTF-8"?> <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <capabilities> <capability>urn:ietf:params:netconf:base:1.1</capability> <capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability <capability>urn:ietf:params:netconf:capability:candidate:1.0</capability> <capability>urn:ietf:params:netconf:capability:confirmed-commit:1.0</capability <capability>urn:ietf:params:netconf:capability:xpath:1.0</capability> <capability>urn:ietf:params:netconf:capability:validate:1.0</capability> <capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capabilit <capability>http://tail-f.com/ns/netconf/with-defaults/1.0</capability> <capability>http://tail-f.com/ns/netconf/actions/1.0</capability> <capability>http://tail-f.com/ns/netconf/commit/1.0</capability> <capability>http://tail-f.com/ns/example/dhcpd?module=dhcpd</capability> <capability>urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2010-09- 24&amp;module=ietf-inet-types</capability> </capabilities> <session-id>5</session-id> </hello>
  • 14. MAY 27, 2013 14©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <get-config> Operation • Subtree filtering • XPATH filtering <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1"> <get-config> <source> <running/> </source> <filter xmlns="http://tail-f.com/ns/aaa/1.1"> <aaa/> </filter> </get-config> </rpc>
  • 15. MAY 27, 2013 15©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <get-config> Operation <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1"> <data> <aaa xmlns="http://tail-f.com/ns/aaa/1.1"> <authentication> <users> <user> <name>admin</name> <uid>9000</uid> <gid>0</gid> <password>$1$3ZHhR6Ow$acznsyClFc0keo3B3BVjx/</password> <ssh_keydir>/var/confd/homes/admin/.ssh</ssh_keydir> <homedir>/var/confd/homes/admin</homedir> </user> <user> <name>oper</name> … </users> </authentication> </aaa> </data> </rpc-reply>
  • 16. MAY 27, 2013 16©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <edit-config> Operation <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1"> <edit-config> <target><running/></target> <config> <dhcp xmlns="http://tail-f.com/ns/example/dhcpd" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1"> <defaultLeaseTime nc:operation="merge”>PT1H </defaultLeaseTime> </dhcp> </config> </edit-config> </rpc> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="1"> <ok/> </rpc-reply>
  • 17. MAY 27, 2013 18©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <copy-config> Operation • Copy configuration data between stores or URLs <rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <copy-config> <target><running/></target> <source> <url>https://user@example.com:passphrase/cfg/new.txt </url> </source> </copy-config> </rpc> <rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <ok/> </rpc-reply>
  • 18. MAY 27, 2013 19©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <delete-config> Operation • Delete a complete data store (not running) <rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <delete-config> <target> <startup/> </target> </delete-config> </rpc> <rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <ok/> </rpc-reply>
  • 19. MAY 27, 2013 20©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <lock>, <unlock> Operation • Lock/unlock a complete data store <rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <lock> <target> <candidate/> </target> </lock> </rpc> <rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <ok/> </rpc-reply>
  • 20. MAY 27, 2013 21©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <get> Operation • Read configuration and status <rpc message-id="101” xmlns=”urn:ietf:param <get> <filter type="subtree"> <top xmlns="http://example.com/ns/dhc <interfaces> <interface> <ifName>eth0</ifName> </interface> </interfaces> </top> </filter> </get> <rpc-reply message-id="101” xmlns=“urn:ie <data> <top xmlns="http://example.com/ns/dhc <interfaces> <interface> <ifName>eth0</ifName> <ifInOctets>45621</ifInOctets> <ifOutOctets>774344</ifOutOctet </interface> </interfaces> </top> </data> </rpc-reply>
  • 21. MAY 27, 2013 22©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <close-session> Operation • Polite way of disconnecting <rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <close-session/> </rpc> <rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <ok/> </rpc-reply>
  • 22. MAY 27, 2013 23©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG NETCONF <kill-session> Operation • Not so polite way of disconnecting another session Releases any locks, aborts any confirmed commit related to session <rpc message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <kill-session> <session-id>17</session-id> </kill-session> </rpc> <rpc-reply message-id="101” xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <ok/> </rpc-reply>
  • 23. MAY 27, 2013 24©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Additional NETCONF operations by capabilities • <commit>, <discard-changes> (:candidate) • <validate> (:validate) • Copy candidate to running • Discard changes in candidate (copy running to candidate) • <create-subscription> (:notification) • <partial-lock>, <partial-unlock> (:partial-lock) • <commit>, <cancel-commit> (:commit) • <get-schema> (:ietf-netconf-monitoring)
  • 24. MAY 27, 2013 25©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Example: VPN provisioning using NETCONF Network-wide Transactions
  • 25. MAY 27, 2013 26©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG VPN Scenario North East West • An operator owns a network of routers and other equipment from different vendors • They have a management station connected to all the devices in the network to provision and monitor services • Now, we need to set up a VPN between two customer sites • There is no point what so ever to make any changes on any device unless all changes succeed • We need a Network-wide Transaction Site A Site B
  • 26. MAY 27, 2013 27©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Hello • Exchange capabilities >>>>> Router-West (Sun Nov 15 14:41:25 CET 2009) <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <capabilities> <capability>urn:ietf:params:netconf:base:1.1</capability> </capabilities> </hello> <<<< Router-West (Sun Nov 15 14:41:25 CET 2009) <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <capabilities> <capability>urn:ietf:params:netconf:base:1.1</capability> <capability>http://tail-f.com/ns/netconf/actions/1.0</capability> <capability>http://tail-f.com/ns/aaa/1.1</capability> <capability>http://tail-f.com/ns/example/quagga/1.0</capability> </capabilities> <session-id>4</session-id> </hello>
  • 27. MAY 27, 2013 28©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Clear the candidate data stores >>>>> Router-West (Sun Nov 15 15:24:32 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="1"> <nc:discard-changes></nc:discard-changes> </nc:rpc> <<<< Router-West (Sun Nov 15 15:24:33 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="1"> <ok></ok> </rpc-reply>
  • 28. MAY 27, 2013 29©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Lock the candidate data stores >>>>> Router-West (Sun Nov 15 15:24:33 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="2"> <nc:lock> <nc:target> <nc:candidate></nc:candidate> </nc:target> </nc:lock> </nc:rpc> <<<< Router-West (Sun Nov 15 15:24:33 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="2"> <ok></ok> </rpc-reply>
  • 29. MAY 27, 2013 30©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Lock the running data stores >>>>> Router-West (Sun Nov 15 15:24:33 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="3"> <nc:lock> <nc:target> <nc:running></nc:running> </nc:target> </nc:lock> </nc:rpc> <<<< Router-West (Sun Nov 15 15:24:33 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="3"> <ok></ok> </rpc-reply>
  • 30. MAY 27, 2013 31©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Copy running to candidates (logically) >>>>> Router-West (Sun Nov 15 15:24:33 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="4"> <nc:copy-config> <nc:target> <nc:candidate></nc:candidate> </nc:target> <nc:source> <nc:running></nc:running> </nc:source> </nc:copy-config> </nc:rpc> <<<< Router-West (Sun Nov 15 15:24:33 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="4"> <ok></ok> </rpc-reply>
  • 31. MAY 27, 2013 32©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Edit the candidates >>>>> Router-West (Sun Nov 15 15:24:33 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="5"> <nc:edit-config> <nc:target><nc:candidate></nc:candidate></nc:target> <nc:config> <quagga:system xmlns:quagga="http://tail-f.com/ns/example/quagga <quagga:vpn> <quagga:ipsec> <quagga:tunnel> <quagga:name>volvo-0</quagga:name> <quagga:local-endpoint>10.7.7.4</quagga:local-endpoint> <quagga:local-net>33.44.55.0</quagga:local-net> <quagga:local-net-mask>255.255.255.0</quagga:local-net-mas <quagga:remote-endpoint>10.3.4.1</quagga:remote-endpoint> <quagga:remote-net>62.34.65.0</quagga:remote-net> <quagga:pre-shared-key>ford</quagga:pre- <quagga:encryption-algo>default <quagga:hash-algo>defau
  • 32. MAY 27, 2013 33©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Validate candidates >>>>> Router-West (Sun Nov 15 15:24:33 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="6"> <nc:validate> <nc:source> <nc:candidate></nc:candidate> </nc:source> </nc:validate> </nc:rpc> <<<< Router-West (Sun Nov 15 15:24:33 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="6"> <ok></ok> </rpc-reply>
  • 33. MAY 27, 2013 34©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Commit candidates to running Confidential Information | February 13, 2015 >>>>> Router-West (Sun Nov 15 15:24:33 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="7"> <nc:commit></nc:commit> </nc:rpc> <<<< Router-West (Sun Nov 15 15:24:33 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="7"> <ok></ok> </rpc-reply>
  • 34. MAY 27, 2013 35©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Unlock candidates >>>>> Router-West (Sun Nov 15 15:24:33 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="8"> <nc:unlock> <nc:target> <nc:candidate></nc:candidate> </nc:target> </nc:unlock> </nc:rpc> <<<< Router-West (Sun Nov 15 15:24:33 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="8"> <ok></ok> </rpc-reply>
  • 35. MAY 27, 2013 36©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Using confirmed-commit • Now do the same thing again, but instead of commit… >>>>> Router-West (Sun Nov 15 15:29:19 CET 2009) <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" nc:message-id="16"> <nc:commit> <nc:confirmed></nc:confirmed> <nc:confirm-timeout>120</nc:confirm-timeout> </nc:commit> </nc:rpc> <<<< Router-West (Sun Nov 15 15:29:19 CET 2009) <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.1" message-id="16"> <ok></ok> </rpc-reply>
  • 36. MAY 27, 2013 37©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Disaster happens • One of the devices disconnected • The management station disconnects all the rest • The all roll back to the previous configuration • The management station reconnects >>>>> Router-West (Sun Nov 15 15:30:22 CET 2009) <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <capabilities> <capability>urn:ietf:params:netconf:base:1.1</capability> </capabilities> </hello> <<<< Router-West (Sun Nov 15 15:30:22 CET 2009) <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1"> <capabilities> <capability>urn:ietf:params:netconf:base:1.1</capability> <capability>urn:ietf:params:netconf:capability:writable-running:1.
  • 37. MAY 27, 2013 38©2013 TAIL-F all rights reserved TUTORIAL: NETCONF AND YANG Common NETCONF Use Cases • Network-wide transactions • Applying and testing a configuration • Testing and rejecting a configuration • Rollback when device goes down • Transactions requiring all devices to be up • Backlogging transactions • Synchronizing