Skip to content
This repository has been archived by the owner. It is now read-only.


Switch branches/tags

Latest commit

Co-authored-by: Vladimir Ostapchuk <>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This project will reach end-of-life on September 1st, 2022. On this date:

  1. This repository will be archived, making it read-only.
  2. The Google Group will be locked, but will remain publicly searchable.
  3. The project homepage, this README, and group will be updated to indicate that the project is end-of-life.

We will consider bug fixes from the community or support requests from existing customers up until this date.

Please make appropriate plans if you are using this library in production, e.g.:

  • Dedicate personnel to maintaining your own internal copy of the library.
  • Consider a commercial library such as the one offered by Step Function I/O.

You can read about this decision in these blog posts:


Opendnp3 is a portable, scalable, and rigorously tested implementation of the DNP3 protocol stack written in C++11. The library is designed for high-performance applications like many concurrent TCP sessions or huge device simulations. It also embeds with a small footprint on Linux.

Build status

Branch Build Code coverage Quality
release-2.x CI 2.x Codecov -
develop CI 2.x Codecov Language grade: C/C++


The documentation can be found on the project homepage.

If you want to help contribute to the official guide its in this repo.


Licensed under the terms of the Apache 2.0 License.

Copyright (c) 2010, 2011 Green Energy Corp

Copyright (c) 2013 - 2020 Step Function I/O LLC

Copyright (c) 2020 - 2022 Step Function I/O LLC

Copyright (c) 2010 - 2022 various contributors