General description
===================

Started as python NETLINK_ROUTE library, pyroute2 provides simple netlink encoder/decoder. Families and messages supported by now:

* rtnetlink: addresses, links, neighbors, routes
* taskstats

More netlink families to support are planned.

Features
========

* pure-python, w/o any additional *.so or ctypes
* transactional database for rtnetlink family
  * interfaces as context managers
  * transaction review() / rollback() / commit()
  * automatic transaction rollback() on commit() exception
  * monitors IP stack for changes
* for old-school guys: old-style API ip.link('set', dev, param=…)
* netlink-over-SOCK_STREAM — with TLS/SSL client/server auth

IP stack monitoring allows not to fetch data from the system upon user's request, but keep it in sync all the time in the database, and on huge arrays of VLANs or VPN nics response even faster than C with ioctl() does — and still provide more info, 'cause through ioctl() not any data is available.

Goals
=====

The main goal is to provide simple (maybe even simplest) API for netlink usage. In the todo list are (beside of support for different netlink families) also userspace-to-userspace netlink transport, more auth mechanisms, e.g. SASL (in addition to TLS/SSL).

Links
=====

    home: https://github.com/svinota/pyroute2
    bugs: https://github.com/svinota/pyroute2/issues
    pypi: https://pypi.python.org/pypi/pyroute2
    docs: http://peet.spb.ru/pyroute2/

Some easy code samples: http://peet.spb.ru/pyroute2/modules.html

--
Peter V. Saveliev
--
http://mail.python.org/mailman/listinfo/python-announce-list

       Support the Python Software Foundation:
       http://www.python.org/psf/donations/

Reply via email to