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