Skip to content

v6.2.0 - 'Partial Port Speed' Support, New Features and Improvements, Bug Fixes

Compare
Choose a tag to compare
@barryo barryo released this 14 Nov 11:38
· 298 commits to master since this release
3a42e07

head-only

This release provides a long sought-after feature to allow for a differentiation between the declared port speed (where the IXP provides subrate connectivity) and that configured on the switch which may not match. Among some other small additions, we've also included support for per-facility graphs which are the aggregate of all peering ports excluding core/trunk ports in a given location.

This release also provides a large amount of improvements and bug fixes accumulated since v6.1 was released about two months ago. Most of these relate to the bigger changes in v6.0 and have been found and reported as more IXPs upgraded. Thanks to all how contributed via those reports.

Release Summary

git --no-pager diff --shortstat v6.1.0 release-v6
 174 files changed, 6187 insertions(+), 4775 deletions(-)

Upgrade Instructions

The official upgrade instructions can be found here.

This release does include some minor database migrations - please follow the instructions above.

Post-Upgrade Instructions

NB: If you have skinned the router configuration templates then review the following changes. If you have not skinned these files, you can safely skip this section.

  1. As part of #716 (transit ASNs) the following files changed:
  2. To implement a fix for the minimum subset size logic from #682, a large number of the template files required minor changes - see 0b7a958.
  3. In moving rfc1997 communities config to neighbour template for #730, these two files changed:

We further improved the IRRDB efficiency from the route server speed upgrades in v6.1.0. While not necessary, you can prime the cache in advance if you like by running the following:

php artisan irrdb:update-prefix-db -v
php artisan irrdb:update-asn-db -v

Lastly, the IRRDB hosts as set in IXP Manager under IRRDB Configuration in the left hand menu was always ignored by the code which executes BGPQ3 using its default of whois.radb.net. One of the migrations will set all IRRDB sources to whois.radb.net which preserves existing behavior and ensures no production issues. Any changes by an admin there after will work. There was a discussion on the mailing list about this here.

New Feature: Partial Port Speeds

In cases where the IXP provides subrate connectivity, the declared port speed at an IXP may not match the port speed which is configured on the access device. Our first pass at supporting this is now including in v6.2.0 and includes:

  • New rate_limit column on the database as the actual request for partial port speeds is really a request to honour rate limits on ports. If there are other use cases this can still be used, the actual physical (production) effect is determined by how individual IXPs use this information in their provisioning systems / as they manually configure switches.
  • Rate Limit field when adding and editing a physical interface through the normal virtual interface overview. NB: this means if using the New Interface Wizard, you configure the physical speed and then edit the physical interface afterwards. The wizard is meant to cover the 90% scenario and we'd prefer to keep it de-cluttered.
  • This is for member ports; not core ports.
  • Speed reported on various member screens as the rate limited speed (and sometimes, where space / appropriate) as x / y and also GUI labels to make it clear when a port is rate limited.
  • IX-F Member Export now reports rate_limit speed and adds an IXP Manager specific field called if_phys_speed to show the physical port speed.
  • The switch configuration viewer (e.g. INEX's one also updated to support this.
  • Port utilisation updated to be congnisant of this.
  • Switch provisioner yaml/json output now has rate_limit for peering ports, null means not in use.
  • MRTG configuration has not been updated as the MRTG config uses the detected speed from SNMP. We currently do not see any value in swapping this for the rate limited speed as rate limiters can be buggy / misconfigured / etc and we'll want to see that traffic.
  • The dashboard statistics also reflect this and include a new section at the end which shows how partial ports were accounted for.
  • The physical interface list (left hand menu -> Interfaces -> Physical Interfaces) has a rate limit column to make it easy to see the rate limited ports.

These notes are also included in the documentation.

New Feature: Per-Facility Aggregate Graphs

These are defined and built automatically from the locations / facilities you have defined and the switches you have assigned to them. These graphs are available from the Statistics menu under Facility Aggregate Graphs.

These graphs are the aggregate of all peering ports excluding core/trunk ports in a given location / facility. It is the aggregate of traffic originating and/or terminating in a location rather than traffic simply passing through a location.

You'll find examples of facility graphs on INEX's own IXP Manager where they are public be default.

New Features

  • [NF] Export reseller / resold / manrs state in IX-F export - implements #674
  • TravisCI has removed the free tier for OSS projects; a number of commits relate to the migration from TravisCI to GitHub Actions
  • [NF] Per-Facility / PoP aggregate graphs as requested in #635 (see above)
  • [NF] Partial port speeds as requested in #260 (see above)

Improvements

  • [IM] Route Servers: Update transit ASN filtering and allow greater control - closes #716 (docs)
  • [IM] Route Servers: IRRDB - better sorting consistency and logic in one place
  • [IM] Route Servers: tidy logic on "minimum subnet size" filters - closes #682
  • [IM] Route Servers: move rfc1997 communities config to neighbour template (#730)
  • [IM] Include PeeringDB link on peering request emails
  • Refine peeringDB OAuth checks to fix #703
  • [BF|IM] Use the IrrdbConfig host rather than defaulting to BGPQ3 - fixes #678
  • Include port counts by cabinet - closes #585
  • [IM] Allow the switch ports we poll via snmp to be configurable - fixes #695
  • Use pollable for mrtg graphing - closes #694 and closes #690
  • [IM] Grapher - MRTG - skip manually added dummy ports per #746

Bug Fixes

  • [BF] Identify single member LAGs in welcome email - closes #714
  • fix routing for statistics@member 0c889e9 / bdece40
  • Fix logic in log search controller - closes #733
  • [BF] Allow ordering reset on patch panel ports - fixes #639
  • [BF] Fix (reimplement) deletion of a user's 2fa by superadmin - fixes islandbridgenetworks/IXP-Manager-Archive-Yann#275
  • [BF] Error when adding patch panel without Port name prefix - fixes #738
  • [BF] Error when adding patch panel without Port name prefix #738
  • [BF] SQL Error when duplicating VLAN Interface if it has linked MAC address - fixes #750
  • BF: Weird time format for created_at column. (#749)
  • [BF] 500 Error when customer updates logo file #744
  • [BF] SQL Error/orphaned record when custadmin user deletes another user #742
  • [BF] Configured mac address list doesn't show MAC addresses - fixes #740
  • [BF] Moving simplex patch panel ports doesn't work #743