Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: pyroute2 (python netlink library) initial public release

25 views
Skip to first unread message

Peter V. Saveliev

unread,
May 7, 2013, 3:46:05 PM5/7/13
to python-ann...@python.org

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
0 new messages