pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/exabgp Unlike BIRD or Quagga, ExaBGP was not desig...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7877c1d5cf63
branches:  trunk
changeset: 627824:7877c1d5cf63
user:      pettai <pettai%pkgsrc.org@localhost>
date:      Sun Dec 15 22:22:44 2013 +0000

description:
Unlike BIRD or Quagga, ExaBGP was not designed to transform a general purpose
server into a router, but to allow engineers to control their BGP (rfc4271)
network easily. Think of it as Software Defined Networking for people with
"commodity" routers.

ExaBGP transform BGP (rfc4271) messages into friendly plain text or JSON
which can be easily manipulate by scripts.

It allows the creation of tools such as:
 * advanced looking glass graphically display the routing of prefix
 * high availability tool which automatically isolate broken services
 * DDOS mitigation
 * an anycasted server

diffstat:

 net/exabgp/DESCR                                 |   13 +
 net/exabgp/Makefile                              |   46 ++
 net/exabgp/PLIST                                 |  368 +++++++++++++++++++++++
 net/exabgp/distinfo                              |   18 +
 net/exabgp/patches/patch-dev_bin_selfcheck       |   15 +
 net/exabgp/patches/patch-dev_self_api_first      |   20 +
 net/exabgp/patches/patch-dev_self_api_second     |   20 +
 net/exabgp/patches/patch-dev_self_attribute_send |   20 +
 net/exabgp/patches/patch-dev_self_big_receive    |   20 +
 net/exabgp/patches/patch-dev_self_big_send       |   20 +
 net/exabgp/patches/patch-dev_self_load_recieve   |   20 +
 net/exabgp/patches/patch-dev_self_load_send      |   20 +
 net/exabgp/patches/patch-dev_self_refresh_first  |   20 +
 net/exabgp/patches/patch-dev_self_refresh_second |   20 +
 net/exabgp/patches/patch-dev_self_simple_first   |   20 +
 net/exabgp/patches/patch-dev_self_simple_second  |   20 +
 net/exabgp/patches/patch-setup.py                |   17 +
 17 files changed, 697 insertions(+), 0 deletions(-)

diffs (truncated from 765 to 300 lines):

diff -r 8e6e092c73e0 -r 7877c1d5cf63 net/exabgp/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/exabgp/DESCR  Sun Dec 15 22:22:44 2013 +0000
@@ -0,0 +1,13 @@
+Unlike BIRD or Quagga, ExaBGP was not designed to transform a general purpose
+server into a router, but to allow engineers to control their BGP (rfc4271)
+network easily. Think of it as Software Defined Networking for people with
+"commodity" routers.
+
+ExaBGP transform BGP (rfc4271) messages into friendly plain text or JSON
+which can be easily manipulate by scripts.
+
+It allows the creation of tools such as:
+ * advanced looking glass graphically display the routing of prefix
+ * high availability tool which automatically isolate broken services
+ * DDOS mitigation
+ * an anycasted server
diff -r 8e6e092c73e0 -r 7877c1d5cf63 net/exabgp/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/exabgp/Makefile       Sun Dec 15 22:22:44 2013 +0000
@@ -0,0 +1,46 @@
+# $NetBSD: Makefile,v 1.1 2013/12/15 22:22:44 pettai Exp $
+
+DISTNAME=      exabgp-exabgp-3.2.18
+PKGNAME=       exabgp-3.2.18
+CATEGORIES=    net
+MASTER_SITES=  -https://github.com/Exa-Networks/exabgp/tarball/3.2.18
+
+MAINTAINER=    pettai%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/Exa-Networks/exabgp/
+COMMENT=       ExaBGP is a userspace BGP daemon written in python
+LICENSE=       modified-bsd
+
+FETCH_USING=    curl
+
+WRKSRC=                ${WRKDIR}/Exa-Networks-exabgp-51d6b56
+
+USE_TOOLS+=    perl:run
+
+REPLACE_PERL=          etc/exabgp/processes/dynamic-1.pl
+REPLACE_PERL+=         etc/exabgp/processes/watchdog-1.pl
+REPLACE_PYTHON=                lib/exabgp/application/bmp.py
+REPLACE_PYTHON+=       lib/exabgp/bgp/message/update/nlri/eor.py
+REPLACE_PYTHON+=       lib/exabgp/reactor/api/encoding.py
+REPLACE_PYTHON+=       lib/netlink/route.py
+REPLACE_PYTHON+=       lib/netlink/test/get.py
+REPLACE_PYTHON+=       lib/netlink/test/route.py
+REPLACE_PYTHON+=       etc/exabgp/processes/healthcheck.py
+REPLACE_PYTHON+=       etc/exabgp/processes/read-write.py
+REPLACE_PYTHON+=       etc/exabgp/processes/tcp-server
+REPLACE_PYTHON+=       etc/exabgp/processes/syslog-1.py
+
+PYDISTUTILSPKG=        yes
+
+PYSETUP=       setup.py
+
+USE_LANGUAGES=  # none
+
+INSTALLATION_DIRS=     bin/exabgp sbin
+
+post-install:
+       ${LN} -s ${DESTDIR}${PREFIX}/bin/exabgp/exabgp \
+                       ${DESTDIR}${PREFIX}/sbin/
+
+.include "../../lang/python/extension.mk"
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 8e6e092c73e0 -r 7877c1d5cf63 net/exabgp/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/exabgp/PLIST  Sun Dec 15 22:22:44 2013 +0000
@@ -0,0 +1,368 @@
+@comment $NetBSD: PLIST,v 1.1 2013/12/15 22:22:44 pettai Exp $
+bin/dynamic-1.pl
+bin/dynamic-1.sh
+bin/exabgp/exabgp
+bin/healthcheck.py
+bin/read-write.py
+bin/syslog-1.py
+bin/tcp-server
+bin/watchdog-1.pl
+bin/watchdog-1.sh
+${PYSITELIB}/exabgp/__init__.py
+${PYSITELIB}/exabgp/__init__.pyc
+${PYSITELIB}/exabgp/__init__.pyo
+${PYSITELIB}/exabgp/application/bgp.py
+${PYSITELIB}/exabgp/application/bgp.pyc
+${PYSITELIB}/exabgp/application/bgp.pyo
+${PYSITELIB}/exabgp/application/bmp.py
+${PYSITELIB}/exabgp/application/bmp.pyc
+${PYSITELIB}/exabgp/application/bmp.pyo
+${PYSITELIB}/exabgp/bgp/__init__.py
+${PYSITELIB}/exabgp/bgp/__init__.pyc
+${PYSITELIB}/exabgp/bgp/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/__init__.py
+${PYSITELIB}/exabgp/bgp/message/__init__.pyc
+${PYSITELIB}/exabgp/bgp/message/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/direction.py
+${PYSITELIB}/exabgp/bgp/message/direction.pyc
+${PYSITELIB}/exabgp/bgp/message/direction.pyo
+${PYSITELIB}/exabgp/bgp/message/keepalive.py
+${PYSITELIB}/exabgp/bgp/message/keepalive.pyc
+${PYSITELIB}/exabgp/bgp/message/keepalive.pyo
+${PYSITELIB}/exabgp/bgp/message/nop.py
+${PYSITELIB}/exabgp/bgp/message/nop.pyc
+${PYSITELIB}/exabgp/bgp/message/nop.pyo
+${PYSITELIB}/exabgp/bgp/message/notification.py
+${PYSITELIB}/exabgp/bgp/message/notification.pyc
+${PYSITELIB}/exabgp/bgp/message/notification.pyo
+${PYSITELIB}/exabgp/bgp/message/open/__init__.py
+${PYSITELIB}/exabgp/bgp/message/open/__init__.pyc
+${PYSITELIB}/exabgp/bgp/message/open/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/open/asn.py
+${PYSITELIB}/exabgp/bgp/message/open/asn.pyc
+${PYSITELIB}/exabgp/bgp/message/open/asn.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/__init__.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/__init__.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/addpath.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/addpath.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/addpath.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/graceful.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/graceful.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/graceful.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/id.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/id.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/id.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/mp.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/mp.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/mp.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/ms.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/ms.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/ms.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/negotiated.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/negotiated.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/negotiated.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/operational.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/operational.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/operational.pyo
+${PYSITELIB}/exabgp/bgp/message/open/capability/refresh.py
+${PYSITELIB}/exabgp/bgp/message/open/capability/refresh.pyc
+${PYSITELIB}/exabgp/bgp/message/open/capability/refresh.pyo
+${PYSITELIB}/exabgp/bgp/message/open/holdtime.py
+${PYSITELIB}/exabgp/bgp/message/open/holdtime.pyc
+${PYSITELIB}/exabgp/bgp/message/open/holdtime.pyo
+${PYSITELIB}/exabgp/bgp/message/open/routerid.py
+${PYSITELIB}/exabgp/bgp/message/open/routerid.pyc
+${PYSITELIB}/exabgp/bgp/message/open/routerid.pyo
+${PYSITELIB}/exabgp/bgp/message/open/version.py
+${PYSITELIB}/exabgp/bgp/message/open/version.pyc
+${PYSITELIB}/exabgp/bgp/message/open/version.pyo
+${PYSITELIB}/exabgp/bgp/message/operational.py
+${PYSITELIB}/exabgp/bgp/message/operational.pyc
+${PYSITELIB}/exabgp/bgp/message/operational.pyo
+${PYSITELIB}/exabgp/bgp/message/refresh.py
+${PYSITELIB}/exabgp/bgp/message/refresh.pyc
+${PYSITELIB}/exabgp/bgp/message/refresh.pyo
+${PYSITELIB}/exabgp/bgp/message/unknown.py
+${PYSITELIB}/exabgp/bgp/message/unknown.pyc
+${PYSITELIB}/exabgp/bgp/message/unknown.pyo
+${PYSITELIB}/exabgp/bgp/message/update/__init__.py
+${PYSITELIB}/exabgp/bgp/message/update/__init__.pyc
+${PYSITELIB}/exabgp/bgp/message/update/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/__init__.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/__init__.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aggregator.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aggregator.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aggregator.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aigp.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aigp.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aigp.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aspath.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aspath.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/aspath.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/atomicaggregate.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/atomicaggregate.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/atomicaggregate.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/clusterlist.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/clusterlist.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/clusterlist.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/communities.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/communities.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/communities.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/flag.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/flag.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/flag.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/id.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/id.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/id.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/localpref.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/localpref.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/localpref.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/med.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/med.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/med.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/mprnlri.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/mprnlri.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/mprnlri.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/mpurnlri.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/mpurnlri.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/mpurnlri.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/nexthop.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/nexthop.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/nexthop.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/origin.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/origin.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/origin.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/originatorid.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/originatorid.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/originatorid.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attribute/unknown.py
+${PYSITELIB}/exabgp/bgp/message/update/attribute/unknown.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attribute/unknown.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attributes/__init__.py
+${PYSITELIB}/exabgp/bgp/message/update/attributes/__init__.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attributes/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/update/attributes/factory.py
+${PYSITELIB}/exabgp/bgp/message/update/attributes/factory.pyc
+${PYSITELIB}/exabgp/bgp/message/update/attributes/factory.pyo
+${PYSITELIB}/exabgp/bgp/message/update/eor.py
+${PYSITELIB}/exabgp/bgp/message/update/eor.pyc
+${PYSITELIB}/exabgp/bgp/message/update/eor.pyo
+${PYSITELIB}/exabgp/bgp/message/update/factory.py
+${PYSITELIB}/exabgp/bgp/message/update/factory.pyc
+${PYSITELIB}/exabgp/bgp/message/update/factory.pyo
+${PYSITELIB}/exabgp/bgp/message/update/nlri/__init__.py
+${PYSITELIB}/exabgp/bgp/message/update/nlri/__init__.pyc
+${PYSITELIB}/exabgp/bgp/message/update/nlri/__init__.pyo
+${PYSITELIB}/exabgp/bgp/message/update/nlri/bgp.py
+${PYSITELIB}/exabgp/bgp/message/update/nlri/bgp.pyc
+${PYSITELIB}/exabgp/bgp/message/update/nlri/bgp.pyo
+${PYSITELIB}/exabgp/bgp/message/update/nlri/eor.py
+${PYSITELIB}/exabgp/bgp/message/update/nlri/eor.pyc
+${PYSITELIB}/exabgp/bgp/message/update/nlri/eor.pyo
+${PYSITELIB}/exabgp/bgp/message/update/nlri/factory.py
+${PYSITELIB}/exabgp/bgp/message/update/nlri/factory.pyc
+${PYSITELIB}/exabgp/bgp/message/update/nlri/factory.pyo
+${PYSITELIB}/exabgp/bgp/message/update/nlri/flow.py
+${PYSITELIB}/exabgp/bgp/message/update/nlri/flow.pyc
+${PYSITELIB}/exabgp/bgp/message/update/nlri/flow.pyo
+${PYSITELIB}/exabgp/bgp/message/update/nlri/prefix.py
+${PYSITELIB}/exabgp/bgp/message/update/nlri/prefix.pyc
+${PYSITELIB}/exabgp/bgp/message/update/nlri/prefix.pyo
+${PYSITELIB}/exabgp/bgp/neighbor.py
+${PYSITELIB}/exabgp/bgp/neighbor.pyc
+${PYSITELIB}/exabgp/bgp/neighbor.pyo
+${PYSITELIB}/exabgp/bgp/timer.py
+${PYSITELIB}/exabgp/bgp/timer.pyc
+${PYSITELIB}/exabgp/bgp/timer.pyo
+${PYSITELIB}/exabgp/bmp/__init__.py
+${PYSITELIB}/exabgp/bmp/__init__.pyc
+${PYSITELIB}/exabgp/bmp/__init__.pyo
+${PYSITELIB}/exabgp/bmp/header.py
+${PYSITELIB}/exabgp/bmp/header.pyc
+${PYSITELIB}/exabgp/bmp/header.pyo
+${PYSITELIB}/exabgp/bmp/message.py
+${PYSITELIB}/exabgp/bmp/message.pyc
+${PYSITELIB}/exabgp/bmp/message.pyo
+${PYSITELIB}/exabgp/bmp/negotiated.py
+${PYSITELIB}/exabgp/bmp/negotiated.pyc
+${PYSITELIB}/exabgp/bmp/negotiated.pyo
+${PYSITELIB}/exabgp/bmp/peer.py
+${PYSITELIB}/exabgp/bmp/peer.pyc
+${PYSITELIB}/exabgp/bmp/peer.pyo
+${PYSITELIB}/exabgp/compatibility/__init__.py
+${PYSITELIB}/exabgp/compatibility/__init__.pyc
+${PYSITELIB}/exabgp/compatibility/__init__.pyo
+${PYSITELIB}/exabgp/compatibility/ipaddress.py
+${PYSITELIB}/exabgp/compatibility/ipaddress.pyc
+${PYSITELIB}/exabgp/compatibility/ipaddress.pyo
+${PYSITELIB}/exabgp/compatibility/ordereddict.py
+${PYSITELIB}/exabgp/compatibility/ordereddict.pyc
+${PYSITELIB}/exabgp/compatibility/ordereddict.pyo
+${PYSITELIB}/exabgp/configuration/__init__.py
+${PYSITELIB}/exabgp/configuration/__init__.pyc
+${PYSITELIB}/exabgp/configuration/__init__.pyo
+${PYSITELIB}/exabgp/configuration/environment.py
+${PYSITELIB}/exabgp/configuration/environment.pyc
+${PYSITELIB}/exabgp/configuration/environment.pyo
+${PYSITELIB}/exabgp/configuration/file.py
+${PYSITELIB}/exabgp/configuration/file.pyc
+${PYSITELIB}/exabgp/configuration/file.pyo
+${PYSITELIB}/exabgp/configuration/json.py
+${PYSITELIB}/exabgp/configuration/json.pyc
+${PYSITELIB}/exabgp/configuration/json.pyo
+${PYSITELIB}/exabgp/configuration/loader.py
+${PYSITELIB}/exabgp/configuration/loader.pyc
+${PYSITELIB}/exabgp/configuration/loader.pyo
+${PYSITELIB}/exabgp/configuration/validation.py
+${PYSITELIB}/exabgp/configuration/validation.pyc
+${PYSITELIB}/exabgp/configuration/validation.pyo
+${PYSITELIB}/exabgp/data/__init__.py
+${PYSITELIB}/exabgp/data/__init__.pyc
+${PYSITELIB}/exabgp/data/__init__.pyo
+${PYSITELIB}/exabgp/data/check.py
+${PYSITELIB}/exabgp/data/check.pyc
+${PYSITELIB}/exabgp/data/check.pyo
+${PYSITELIB}/exabgp/debug.py
+${PYSITELIB}/exabgp/debug.pyc
+${PYSITELIB}/exabgp/debug.pyo



Home | Main Index | Thread Index | Old Index