Pkgsrc changes: adapt PLIST; the healtcheck script moved
Upstream changes:
This release is a bug fix "mostly" release, back porting fixes
performed in master.
* Change: install healthcheck in bin
* Feature: Allow single line flow route requested by: Pavel Odintsov
* Feature: show route (extensive) can take a neighbor as parameter
requested by: jtkdpu
* Fix: Do shutdown when waiting for a new connection to a peer
* Fix: Bad ASN enconding when ASN4 is not negotiated reported by:
Orangefish on github
* Fix: Shutdown when waiting for a new outgoing connection to establish
* Fix: JSON counter reported by:
* Fix: JSON flow printing for source and destination
* Fix: Do not always locate exabgp.env reported by: Florian Obser
* Fix: Correctly drop root privileges reported by: Florian Obser
* Fix: validation of flow routes
* Fix: Python differences between Unix version breaking process forking
* Fix: Allow = with flowspec singleton reported by: Pavel Odintsov
* Fix: selfcheck feature
* Fix: do not refuse to parse multiple MP attributes in an update
* Fix: possible bug with attribute information due to caching
Local changes:
* Adapt PLIST
* Add to REPLACE_PYTHON, re-sort lines
* Use MASTER_SITE_GITHUB, appease pkglint.
Upstream changes:
3.4.10: ExaBGP 'Happy Birthday' release
A bug fix release only which tackle the follow bugs:
* Fix parsing attributes with PARTIAL flag set (patch by: Daniel Neiter)
* Fix: Fix -t exit with error code 1 when -t is used and the
configuration is invalid (reported by: Kevin Landreth)
* Fix: Using split option with large MP could lead to invalid
update (reported by: m4ccbr on github)
* Fix: MD5 support for incoming connection (patch by: Sandy Breeze
and David Overton)
* Fix: prevent multiple similar binding (reported by: Sandy Breeze)
* Fix: allow different MD5 for the same binding (reported by: Sandy Breeze)
* Fix: issue with ASN4 code (reported by: Florian Obser - with a
patch, thank you)
* Fix: issue with --decode
Pkgsrc changes:
* fix up the set of REPLACE_PYTHON settings to match
* remove patch which has been accepted upstream, adapt remaining patch
* install the newly contributed man pages
* adapt PLIST
Upstream changes:
3.4.9:
This release mostly fixes a very embarrassing issue introduced with
3.4.8 with non IPv4 unicast route decoding, the handlers were badly
registered.
3.4.8:
This is a bug fix release. It fixes an obscure bug when routes
would not reach the backend API as two NLRI could be seen as
identical due to a bad hashing of the attributes.
* Fix: bug with multiple configuration files
* Fix: allow generic attribute not only in single line but also
in multiple lines patch by: Eiichiro Watanabe (issue #214)
* Fix: issue with parsing extended-community origin reported by: Tim Preston
* Fix: handle numeric community parsing correctly reported by: Aaron Kalin
* Fix: bug in AS_PATH with AS_SET handling patch by: Eiichiro Watanabe
* Fix: off by one for the maximum message size generation reported
by: Eiichiro Watanabe
* Fix: issue with handling of some generic attributes reported
by: Hiroshi Yokoi
* Fix: restore old api syntax broken by mistake patch by: David Waring
* Fix: issue with E-VPN NLRI patch by: Thomas Morin
* Fix: bad iteration for JSON generation ( bug created during
3.4.8 dev ) patch by: Ian bobbitt
* Fix: healthcheck.py: optionally match "alias" in ifconfig output
patch by: Havard Eidnes
* Fix: healthcheck.py: make the ifconfig path work; regexp fix
patch by: Havard Eidnes
* Change: moved the netlink library within exabgp
* Feature: qa/bin/ip and qa/bin/route
Most of our patches (mostly == for test in Bourne Shell) have been
integrated upstream. Retain a more minimal fix to the healthcheck
script. Add dependency on python setuptools.
The helper scripts of exabgp are now in share/exabgp/, to make
pkglint happy.
Upstream changes:
Version 3.4.7
* Package: be more pythonic and use enty points with pip installation
* Package: automatically update debian's changelog on release
* Fix: issue with aggregator generation
reported by: Yan Filyurin
Version 3.4.6
* Fix: a badly formated flow route would throw the parser in limbo
reported by: NickGudov (issue #203)
* Fix: allow multiple extended attribute (like flow rediction with a
origin/target)
* Fix: use ICMP Type and Code when printing flows (respectively using
name and number)
* Fix: do not use space printing redirect extended community
* Fix: not parsing correctly multisession configurations
* Fix: bug in ASPath parsing
reported by: Terry Hardie (issue #205)
* Feature: use ETC environment variable for configuration location if set
* Feature: JSON now includes ASN (local,peer) and IP (local,IP)
requested by: jtkdpu (issue #196)
patch by: Ryan Tinianov (pull #199) for the IP
* Feature: API support for sending eor
requested by: spakka (issue #109)
* Feature: allow routes to have a name (which can be used as comment)
requested by: lazy404 (issue #167)
* Feature: improve release code to prevent version mismatch (issue #202)
reported by: Anand Buddhdev
* Fix: systemd file is not installed anymore by default (issue #202)
to add to the file installation list use "python setup.py install systemd"
requested by: Anand Buddhdev
* QA: moved all testing code (used by travis-ci) in the ./qa folder
* QA: added nosetest, updating some of the old unittest code
* QA: integrated travis-ci with coveralls.io to have real time code coverage
* QA: ExaBGP can take more than one configuration file and on configuration
reload rotate between them
* QA: checking that broken flows do not break the parser
* QA: checking that configuration routes are well added and removed on SIGUSR1
* QA: checking that incoming notifications are handled correctly
* QA: moved many sample configuration file from etc/exabgp to the new qa/conf
Version 3.4.5
* Fix: improper distribution of events to process workers
reported by: Tim Epkes
Version 3.4.4
* Fix: bug with IPv4 / ipv6 handling
* Fix: better peer isolation when parsing messages
* Fix: IPv6 decoding when the routes includes link-local
* Fix: missing text API paramter
* Fix: no JSON for Aggregator
* Fix: show route extensive
patch by: Michal Grzedzicki, thank you
* Fix: 4-Octet AS Specific BGP Extended Community (RFC 5668)
patch by: Michal Grzedzicki
* Fix: bug with label encoding
patch by: Jesse Mather
* Improvement: add support for add-path with family MPLS
requested by: Tim Epkes
* Fix: bug when process writes multiple lines
reported by: Ilya Voronin
* Feature: accept packet with confedation (RFC 3065)
requested by: oriordan (with a patch, thank you)
* Fix: do not bark if an unknown ASPath attribute is found
* Fix: correctly accept connection on AF_INET6 socket
patch by: John W. O'Brien
* Fix: restore lost python2.6 compatibility
reported by: Minsuk Song
* Fix: IPv6 MD5
reported by: Dave J Knight
* Add framework to debug SIGUSR1 related problems
* Fix: do not drop session when receiving an unknown capability
patch by: Peter van Dijk (PowerDNS)
Version 3.4.3
* Fix: JSON message increment
reported by: Daniel Neiter, with a patch, thank you.
* Fix: JSON message format for operational
reported by: Rob Barnes, with a patch, thank you.
* Fix: JSON message for route-refresh
* Fix: EOR unpack issue
* Fix: ASPath encoding
* Fix: possible bad notify call
* Fix: Aggregator configuration issue
* Fix: pycharm reported issues
* operational, using afi instead of safi
* bad function paramters
* missing return keyword
* many cleanups
* Change: use RFC MULTISESSION capability and not CISCO variant anymore
Version 3.4.2
* Feature: add more information in crash report
* Fix: problem when trying to report exception errors
* Fix: better handling of on PIPE errors
reported by: Thomas Raabo
* Fix: could not split MPLS routes
reported by: Hideaki HAYASHI
* Fix: not correctly handling NOTIFICATION message
reported by: Hideaki HAYASHI
* Fix: do not block on a peer should a socket become blocking
reported by: Wouter Miltenburg
* Fix: API JSON message id incrementation
reported by: Wouter Miltenburg
Version 3.4.1
* Fix: on bad JSON message
patch from: Wouter Miltenburg
* Fix: parsing of default route
reported by: Wouter Miltenburg
* Fix: remove legacy exabgp.tcp.timeout
* Fix: forgot some processes options when printing neighbor
* Fix: bad function call for API
* Fix: correct JSON for OPEN
* Fix: issues with bad naming of APIOption
patch from: Wouter Miltenburg
* Fix: do not try to be clever (and possibly get it wrong) and rely on
keepalive timer to detect TCP faults
* Fix: formating issue of extended community
* Fix: issue with EOR
* Fix: caching issue
reported by: Wouter Miltenburg
* Fix: make sure we do not call select with a negative time
reported by: Wouter Miltenburg, Daniel Piekacz
patch from: Wouter Miltenburg
* Fix: handle AS4_PATH with PARTIAL bit set
reported by: Daniel Piekacz
* Fix: bug with generic attribute generation
* Fix: bad Notification
patch from: Wouter Miltenburg
* Fix: bad Keepalive JSON message
patch from: Wouter Miltenburg
Version 3.4.0
* Feature: add support for extended-attribute for FlowSpec
* Feature: more detailed JSON objects
patch from: Wouter Miltenburg
* Feature: support for L2VPN (experimental)
patch from: Nikita V. Shirokov
* Improvement: better handling of NOTIFICATION received during OPEN
negotiation
* Improvement: ExaBGP can restart failed helper process
* Fix: Do not reconnect too fast when connection fails
reported by: Robert Barnes
* Fix: Invalid JSON object for route-refresh
reported by: Robert Barnes
* Fix: We were not reporting the NLRI of the route received when
exabgp.log.routes was set
* Fix: accept exabgp_tcp_port as configuration option and not only
exabgp.tcp.port
* Fix: duplicate line output
* Fix: bad refactorisation which caused an bad ASN4 bug
* Fix: change EOR from IPv4 multicast (mistake) to IPv4 unicast
reported by: Mark Treacy
* Fix: bad encoding of flow fragment encoding
reported by: Andrei-Marius Radu
* Fix: bad reporting of process open sending
reported by: Mark Treacy (with patch, thank you)
* Fix: Incorporating NETBSD compatibility patches
* Fix: Generation of Generic Attributes
* Fix: Faster reactor (should be able to process much more API/BGP messages)
* Change: new commands for the configuration of the API
* Change: JSON objects now include a unique neighbor identifier
* Change: JSON objects now include a counter for unique message id
* Change: JSON objects now include a "type" to now how to best parse them
* Change: JSON new EOR object
* Change: JSON new Flow format
* Change: slight variation with the command line option names, now using
docopt patch from: Michael Robert Watson
* Change: the profile information is now exported in kcachegrind format
* Compatibility: JSON re-introduced the family under the "announce"
section (removed by mistake)
* Compatibility: restoring integer as default time, high resolution must
be enabled to not break older installations
* Change: JSON and Text shutdown object now shows the PID and PPID
from "ifconfig lo0" -- no sense in insisting on leading spaces in the
regexp after having done string.strip() on the target string...
Add dependency on py-ipaddr for healthcheck.py.
Remove *.orig files before installing, and make install target re-runnable.
Bump PKGREVISION.
* Fix: work toward working operational-01
* Fix: do not use . notation in systemd but _
Version 3.3.1
* Fix: typo using uid instead gid (could prevent dropping privileges !)
* Fix: prevent ExaBGP to start if the log folder is not writeable by the user
* Fix: configuration defaults for booleans ( and warns when group-updates is not enabled );
* Fix: issue when removing some routes
* Fix: bad printing of route as-path
* Fix: neighbor matching was too permissive
* Fix: under load ExaBGP could miss some commands sent through the API
* Change: performing KeepAlive handling as first action
* Change: time is provided as an high resolution real number and not an integer
Version 3.3.0
* Fix: typo causing issue when parsing multiple neighbor commands
* Fix: bad handling of EOR
* Fix: multiple bugs with multi neighbor commands
* Feature: allow as-path [ asn asn, [ asn ] ]
* Other: migrate the setup.py script to work with git (vs hg)
* Change: TEXT API format changed and version updated to 3.3.0
(reflect the version when the last change was introduced)
* Change: JSON API format changed and version updated to 3.3.0
* Change: as-path now returns two JSON keys, 'as-path' and 'as-set'
* Change: NLRI are now grouped by next-hop, next-hop removed from the NLRI
* Change: raw message use the keyword "message" and not "update"
* Change/Fix: JSON for announcement was missing next-hop
* Change: on TEXT API, "announced route eor" becomes "announced eor"
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
* Fix: bug when displaying EOR
* Fix: invalid check on next-hop for multi-line routes
* Fix: badly parsing command line for run option
* Fix: allow the creation of 'allow' flows
* Fix: bad JSON encoding for EOR
* Fix: API message encoding
* Improvement: allow digit:digit in extended communities
* Improvement: healtcheck.py, python 2.6 and community support
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