Skip to content
C NETCONF library
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
dev-tools libnetconf BUGFIX condition fixed Sep 14, 2015
doc DOC regenerate doxygen documentation Apr 15, 2016
examples Enable debugging of netconf message interchanges Jun 15, 2016
headers BUILD fixed macros with libssh disabled Nov 11, 2015
m4 FEATURE: building Python API Aug 22, 2014
models CHANGE add missing model for libnetconf-specific notifications Jul 21, 2016
python pyapi: BUGFIX: editConfig() usage of optional arguments Apr 19, 2015
src BUGFIX do not validate empty data Nov 24, 2016
AUTHORS MAINTENANCE: update authors list Sep 30, 2013
COPYING MAINTENANCE: copyright date update Jan 14, 2014 CHANGE: print Release info in generated doxygen documentation Aug 4, 2014
Doxyfile.python FEATURE: building Python API Aug 22, 2014
INSTALL DOC update info about the project homepage and contact to authors Nov 20, 2015 DOC fix links markdown format in README Jun 29, 2017
RELEASE_NOTES DOC: release notes for 0.10.0 Jun 10, 2015
VERSION VERSION: bump to version 0.10.0 Jun 10, 2015
config.guess lib: BUGFIX: cross-compilation support Jul 12, 2012
config.sub lib: BUGFIX: cross-compilation support Jul 12, 2012
configure build CHANGE support for libssh v0.8.0 and higher Sep 17, 2018 build CHANGE support for libssh v0.8.0 and higher Sep 17, 2018
install-sh libnetconf: initial commit Apr 20, 2012 CHANGE: Added path to libnetconfs working directory to pkg-config file. Mar 5, 2014 build: BUGFIX: add missing generated files Jul 24, 2013

libnetconf – The NETCONF protocol library

Project Stats

libnetconf is a NETCONF library in C intended for building NETCONF clients and servers. It provides basic functions to connect NETCONF client and server to each other via SSH, to send and receive NETCONF messages and to store and work with the configuration data in a datastore.

With the experiences from libnetconf, we have moved our activities to work on next generation of this library based on libyang library. libnetconf2 is mature enough to be used as a replacement of the original libnetconf. Therefore, the libnetconf is no more developed neither maintained. Note, that while libnetconf2 does not include NETCONF datastore implementation, this particular functionality can be implemented via sysrepo project. Similarly, the NETCONF server/client implementation Netopeer is deprecated and replaced by Netopeer2 which can be also used as a reference tool using libnetconf2 functions.

libnetconf was developed by the Tools for Monitoring and Configuration department of CESNET. It implements the NETCONF protocol introduced by IETF - more information about NETCONF protocol can be found at NETCONF WG.


libnetconf's API documentation including a description of its use is available here (Python API is available here).

Documentation can be also built from source codes:

$ make doc

Instructions to compile the libnetconf library can be found in INSTALL file.

Informations about differencies to the previous version can be found in [RELEASE_NOTES] (./RELEASE_NOTES) document or compatibility reports.



In November 2012, prior to the IETF 85 meeting, libnetconf was one of the NETCONF protocol implementation participating in NETCONF Interoperability Testing.

Papers and Articles

  • Building NETCONF-enabled Network Management Systems with libnetconf at the IFIP/IEEE International Symposium on Integrated Network Management 2013 (IM2013),
  • Managing SamKnows Probes using NETCONF at the IEEE/IFIP Network Operations and Management Symposium 2014 (NOMS 2014),

Project History

libnetconf comes from the Netopeer project. The first version of Netopeer was implemented in 2007 as a bachelor thesis at Masaryk university (available only czech). Further work on the project was covered by CESNET, z.s.p.o., Czech National Research and Education Network (NREN) operator and in 2009 released as an open source project at GoogleCode.

Further development led to splitting the original Netopeer applications and creating a separate library implementing NETCONF functionality. The libnetconf library was detached as a standalone project in 2012. For some time, the Netopeer server was developed internally at CESNET to control specific CESNET devices.

In 2013, the Netopeer project was restarted. Currently it contains an advanced NETCONF server developed at CESNET with several transAPI modules covering basic configuration of the Linux server. Furthermore, it also contains a command line interface that came from the libnetconf, where it was used as example application. The Netopeer web client is available separately at GitHub.

In June 2015, the project was moved to GitHub because of GoogleCode shutdown.

In 2016 we have moved our activity to libyang and libnetconf2. The tools became mature in 2017 so the original libnetconf is no more maintained from that time.

Release History

  • libnetconf-0.10 was released in June 2015
  • libnetconf-0.9 was released in November 2014
  • libnetconf-0.8 was released in May 2014
  • libnetconf-0.7 was released in February 2014
  • libnetconf-0.6 was released in September 2013
  • libnetconf-0.5 was released in June 2013
  • libnetconf-0.4 was released in April 2013
  • libnetconf-0.3 was released in December 2012
  • libnetconf-0.2 was released in October 2012
  • libnetconf-0.1 was released in July 2012
  • The libnetconf project was started in April 2012

Other Resources

You can’t perform that action at this time.