pythonモジュール py-radix

概要

  • ルーティングテーブルの検索(longest match)を行えるpythonのモジュール。
  • 同一のライブラリを使用しているため、基本的な動作はerlのNet::Patriciaと同じ。
  • IPv6アドレスにも対応している。
  • http://www.mindrot.org/projects/py-radix/

インストール

  • windows
    • 上記サイトでpython2.4|2.5のバイナリあり。
    • amd64版pythonには未対応なので注意
  • UNIX系
    # wget http://www.mindrot.org/files/py-radix/py-radix-0.5.tar.gz
    # tar zxvft py-radix-0.5.tar.gz
    # cd py-radix-0.5
    # python setup.py build
    # python setup.py install
    • FreeBSD:portsあり
    • Centos/Redhat/Fedora:python-develパッケージが必要

対話モードでの簡単な例

>>> import radix #読み込み
>>> rtree = radix.Radix() #tree作成
>>> rtree.add("10.0.0.0/8") #prefix追加
>>> rtree.add("10.1.0.0/16") #prefix追加
>>> rtree.add("10.2.0.0/16") #prefix追加
>>> rnode = rtree.search_best("10.123.45.6") #longest match検索
>>> print rnode.prefix #表示 
10.0.0.0/8
>>> rtree.add("2001:DB8::/16") #IPv6のprifix追加 
>>> rtree.add("2002:DB8::/16") #IPv6のprifix追加
>>> rnode = rtree.search_best("2002:DB8::1") #longest match検索
>>> print rnode.prefix #表示
2002::/16

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-09-30 (水) 14:57:12 (2944d)