Skip to content

Releases: pierky/arouteserver

v1.20.1

19 Mar 12:27
Compare
Choose a tag to compare

New: add support for OpenBGPD 7.8, also added to the integration testing suite.

v1.20.0

14 Mar 18:23
Compare
Choose a tag to compare
  • Deprecation: support for overly old OpenBGPD versions (< 7.0) is removed.

    See GitHub PR #117.

  • New: add support for BIRD 2.0.11, also added to the integration testing suite.

  • New: mapping of 32bit ASNs to 16bit private ASNs for announcement control standard BGP communities.

    A new feature is added to allow 32bit ASN clients to be mapped to 16bit ASNs in the standard BGP communities used for announcement control. This feature allows clients to use the 16bit mapped ASN as the peer_as value for standard BGP communities like do not announce to $PEER. In those communities, the 32bit ASN will be represented by the 16bit value which is mapped to it.

    For details on how to configure this feature, see the documentation, "BGP Communities" section.

    See also GitHub issue #101.

  • New: add support for RFC9234 Route Leak Prevention and Detection Using Roles.

    A new configuration option is available in general.yml to enable RFC9234 roles (supported by BIRD >= 2.0.11 and OpenBGPD >= 7.5, even though discouraged until 7.8 will be out).
    When that's set, BGP sessions on the route server are configured to announce the route-server role and routes received from clients and tagged with the OTC (Only To Customer) attribute are dropped.

    This option can be enabled in backward compatibility mode in the general.yml file, and can also be tuned on a client-by-client basis via the clients.yml file.

    Details can be found in the documentation page of general.yml.

  • New: anchors in HTML pages.

    The route server policy textual representation HTML files generated via the html command now have anchors at the various headers and sub-headers, so when referring other parties to the policy they can be pointed directly to the relevant section.

    See also GitHub issue #119.

  • Fix: minor issues with the HTML pages.

    Wrong URL in some links and a misleading reference to a wrong mailing list post about private ASNs.

    See also GitHub issue #119.

Please note: starting with the next release, the default target version used to build BIRD configurations (when the --target-version argument is not given) will be the latest from the 2.x
major version; until now it was 1.6.8. Operators will need to use the --target-version 1.6.8 command line argument to build BIRD 1.x compatible configurations.

v1.19.0

23 Dec 13:55
Compare
Choose a tag to compare
  • Deprecation: the ARIN Whois OriginAS feature (config knob use_arin_bulk_whois_data, documented in Use ARIN Whois database to accept routes) is being deprecated.

    Per Recommended Draft Policy ARIN-2021-8, the "Autonomous System Originations" field is going to be removed from the ARIN database. Consequentially, this feature that is based on that is going to be deprecated as well and will be dropped in future releases of ARouteServer.

    Operators that will run ARouteServer with use_arin_bulk_whois_data.enabled set to True will see a warning message being logged, about the deprecation.

    The publicly available intermediate data relay which was running on the NLNOG infrastructure already removed the source file, which was used to fetch those records. So, operators willing to support this feature will need to provide their own version of the file.

    See also GitHub issue #116

v1.18.0

04 Dec 17:21
Compare
Choose a tag to compare

No new functionalities nor bug fixes here, just a change in the releases of Python which are supported and tested.

  • Tests are no longer performed for Python 3.6 (EoL).

  • Tests for Python 3.10 and 3.11 are introduced: 3.11 is the release used to perform the integration tests.

  • Docker images are built on top of Python 3.11 and PyPy 3.9.

v1.17.1

13 Oct 07:04
Compare
Choose a tag to compare
  • New: add support for OpenBGPD 7.6 and 7.7, also added to the integration testing suite (portable edition only).

v1.17.0

24 Jul 11:57
Compare
Choose a tag to compare
  • New: add support for BIRD 2.0.10, also added to the integration testing suite.

  • New: add support for OpenBGPD 7.5, also added to the integration testing suite (portable edition only).

  • New (OpenBGPD): add support for ADD-PATH (on version 7.5 or above).

  • Improvement: abort the configuration building process as soon as one enricher fails.

    This shorten the user feedback in case of errors that unavoidably would make the final configuration broken and not usable.

  • Fix: remove RGNET from the list of default IRR sources.

    To remove it from existing deployments, or to add it back, users can edit the arouteserver.yml file, bgpq3_sources section.

    See also GitHub issue #111.

v1.16.1

19 Jun 11:24
Compare
Choose a tag to compare
  • New: add support for OpenBGPD 7.4, also added to the integration testing suite (portable edition only).

  • Fix: pin down urllib3 version to avoid issues on upgrade.

    See also GitHub issue #110.

  • Fix: the playground Docker image was not building anymore.

    Go and AliceLG birdwatcher versions have been bumped to the latest available.

v1.16.0

25 May 19:59
Compare
Choose a tag to compare
  • Improvement: use bulk queries to get clients' records from PeeringDB.

    Clients' details (such as IRR records and max-prefix limits) are now retrieved from PeeringDB using bulk API queries, where multiple ASNs are checked at once.

    This speeds up the configuration building process and reduces the number of queries to PeeringDB, reducing the risk of hitting the API rate limit.

    See also GitHub issue #107

v1.15.1

18 May 19:47
Compare
Choose a tag to compare
  • Fix: update the requirements.

    The min. version of Jinja2 reported in the requirements file was not enough to satisfy the needs of the templates.

    See also GitHub issue #106.

  • Fix: allow setting PeeringDB API key to mitigate anonymous API throttling mechanism.

    ARouteServer can now be instructed to use an API key to perform authentication against the PeeringDB API server. This can be done by setting the environment variable SECRET_PEERINGDB_API_KEY or by storing the same key inside one of the following well-known files: ~/.arouteserver/peeringdb_api.key, ~/.peeringdb_api.key.

    This should mitigate the effects of the anonymous API throttling mechanism introduced on PeeringDB.

    See also GitHub issue #107.

  • Improvement: retry on PeeringDB API failure or rate-limit.

    In case of failure or rate-limit of the PeeringDB API the tool now retries the same query multiple times.

    See also GitHub issue #107.

v1.15.0

04 May 20:21
Compare
Choose a tag to compare
  • New: add support for OpenBGPD 7.3, also added to the integration testing suite (portable edition only).

  • New: md command, to build a textual representation in Markdown format.

    This command works like the html command and can be used to build a textual representation of the route server's configuration policy in Markdown format.

    For more details see the Textual representation section of the documentation.

  • New: add custom_options to the clients definition file.

    This new section can be used to add BGP-speaker-specific arbitrary lines of configuration to the file generated by ARouteServer.

    For more details see the Client custom options section of the documentation.

    See also GitHub PR #104.

  • Improvement (BIRD): skip NEXT_HOP check for IPv6 link-local clients.

    Due to a limitation of BIRD, it is not possible to verify the NEXT_HOP attribute of routes announced by IPv6 clients configured using link-local addresses.
    The configurations generated using this release skip that check (upon operator's approval if such clients are present).

    See also GitHub PR #104.

  • Fix: detect infeasible extended BGP communities when a 32bit ASN is used for the route server.

    When the route server uses a 32bit ASN, certain extended BGP communities may end being configured to match multiple 32bit values, which is not possible because the way they are encoded.

    This release detects similar situations in advance and aborts the configuration building process.

    See also GitHub PR #104.