ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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