* [devel] A: pyroute2 — python netlink interface
@ 2013-05-05 16:53 Peter V. Saveliev
0 siblings, 0 replies; only message in thread
From: Peter V. Saveliev @ 2013-05-05 16:53 UTC (permalink / raw)
To: ALT Linux Team development discussions
…
Краткий анонс.
В связи с некоторым проектом снова поднял тему netlink, и переписал
библиотеку на pure python, без ctypes, т.о. избежав проблем с selinux.
Может работать в средах вроде RHEL «искаропки», не требуя сторонних
библиотек и не вылезая за рамки стандартной модели питона.
В общем, библиотека работы с netlink. На данный момент:
* decoder/encoder сообщений netlink, работает в обе стороны
* простой формат описания сообщений, доступен даже младшеклассникам
* возможность удалённой работы с netlink, с аутентификацией по
сертификатам TLS/SSL (SASL планируется)
Для rtnetlink:
* адреса, интерфейсы, ARP-записи и маршруты, остальное в планах
* транзакционная база данных, интерфейсы как контекст-менеджеры («with»)
Примеры:
…
from pyroute2 import iproute
ip = iproute()
ip.get_links()
…
from pyroute2 import ipdb
ip = ipdb()
ip.tap0.address = '00:11:22:33:44:55'
ip.tap0.ipaddr.add(('10.0.0.1', 24))
ip.tap0.ipaddr.add(('10.0.0.2', 24))
ip.tap0.ifname = 'vpn'
ip.tap0.commit()
# now it is «vpn»:
ip.vpn.up()
ip.vpn.commit()
…
Больше примеров в документации.
ipdb работает на событиях netlink, т.е. база данных в постоянной
синхронизации с актуальными настройками ip-стека, вне зависимости от
того, что используется для настройки — хоть etcnet, хоть network
manager, хоть самодельные скрипты, использующие ifconfig.
До конца месяца планирую закинуть это в федору, как более-менее
внутренние API устаканятся. Если кому пригодится в Сизифе — пинайте,
туда выложу тоже. Если кто сам захочет выложить, тогда могу нужным
образом подогнать репозитарий к схеме сборки.
Ссылки:
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/
--
Peter V. Saveliev
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-05-05 16:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-05 16:53 [devel] A: pyroute2 — python netlink interface Peter V. Saveliev
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git