Skip to content

Releases: holo-routing/holo

Holo v0.8.0

07 Jul 12:19
Compare
Choose a tag to compare

Main changes:

  • holo-isis

    • Implement RFC 5120 (Multi Topology Routing in Intermediate System to Intermediate Systems)
    • Implement RFC 8667 (IS-IS Extensions for Segment Routing)
    • Implement RFC 7981 (IS-IS Extensions for Advertising Router Information)
    • Implement RFC 7794 (IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability)
    • Implement RFC 8918 (Invalid TLV Handling in IS-IS)
    • Implement BFD integration
    • Implement support for route redistribution
    • Implement route summarization when propagating routes from Level 1 to Level 2
    • Add configuration option to control N-flag on loopback routes
  • holo-ospf

    • Implement RFC 5613 (OSPF Link-Local Signaling) by @nrybowski
  • holo-bgp

    • Implement RFC 9774 (Deprecation of AS_SET and AS_CONFED_SET in BGP)
  • holo-routing

    • Update to rtnetlink v0.17 with:
      • Support for MPLS
      • Support for ECMP (Equal-Cost Multi-Path) routes
      • Support for unnumbered interfaces
      • Support for blackhole routes
    • Uninstall routes on exit
    • Purge stale routes on startup
  • holo-daemon

    • Handle SIGINT/SIGTERM for graceful shutdown
  • Other

    • Introduce initial fuzz testing infrastructure (by @Paul-weqe)
    • Convert all protocol packet parsers to use fallible (safer) APIs (by @Paul-weqe)
    • Remove usage of unstable Rust features to support compilation with stable toolchain (>= 1.88)
    • Introduce trace-options in all protocol crates for fine-grained logging control
    • Split Docker images into separate holod, holo-cli, and holo-bundle images
    • Several bug fixes

Docker:

Full Changelog: v0.7.0...v0.8.0

Holo v0.7.0

27 Mar 11:07
Compare
Choose a tag to compare

Main changes:

  • holo-isis

    • Implement RFC 8401 (BIER Support via IS-IS) by @nrybowski
    • Implement RFC 5305 (IS-IS Extensions for Traffic Engineering)
    • Implement RFC 5304 (IS-IS Cryptographic Authentication)
    • Implement RFC 5301 (Dynamic Hostname Exchange Mechanism for IS-IS)
    • Implement draft-ietf-bier-lsr-non-mpls-extensions-03 (LSR Extensions for BIER non-MPLS Encapsulation) by @nrybowski
    • Implement Hello PDU padding
    • Implement the LSPBufferSize TLV
    • Set ATT bit in L1 LSPs when connected to L2 backbone
    • Handle ATT bit in SPF for default routes to nearest L1/L2 routers
    • Introduce knobs to control attached-bit behavior
    • Propagate L1 IP reachability information to L2
    • Increase coverage of the IETF YANG module
  • holo-ospf

    • Implement RFC 7777 (Advertising Node Administrative Tags in OSPF) by @fliqqs
    • Implement RFC 5642 (Dynamic Hostname Exchange Mechanism for OSPF) by @fliqqs
    • Implement draft-ietf-bier-ospfv3-extensions-07 (OSPFv3 Extensions for BIER) by @nrybowski
    • Implement draft-ietf-bier-lsr-non-mpls-extensions-03 (LSR Extensions for BIER non-MPLS Encapsulation) by @nrybowski
  • holo-vrrp

    • Implement RFC 5798 (VRRP Version 3 for IPv4 and IPv6) by @Paul-weqe
  • Other

    • Introduce infrastructure for efficient pub-sub ibus communication
    • Migrate to Rust 2024 edition
    • build: make libyang3 bundling optional
    • docker: add argument to specify build profile
    • CI: run tests on Arm64
    • Several bug fixes and performance improvements

Docker: https://github.com/holo-routing/holo/pkgs/container/holo/383984066?tag=v0.7.0

Full Changelog: v0.6.0...v0.7.0

Holo v0.6.0

22 Dec 23:29
Compare
Choose a tag to compare

Main changes:

  • Initial IS-IS implementation covering the following standards:

    • ISO/IEC 10589 - Information technology — Telecommunications and information exchange between systems — Intermediate System to Intermediate System intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode network service (ISO 8473)
    • RFC 1195 - Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
    • RFC 3719 - Recommendations for Interoperable Networks using Intermediate System to Intermediate System (IS-IS)
    • RFC 3787 - Recommendations for Interoperable IP Networks using Intermediate System to Intermediate System (IS-IS)
    • RFC 5308 - Routing IPv6 with IS-IS
    • RFC 8405 - Shortest Path First (SPF) Back-Off Delay Algorithm for Link-State IGPs
  • Initial VRRP implementation by @Paul-weqe

  • Initial BIER implementation by @nrybowski

  • gRPC

    • Add support for the LYB binary YANG data format
    • Introduce the GetSchema RPC
    • Update Capabilities RPC to return supported features per module
  • YANG

  • CI: Use cargo-llvm-cov to generate more accurate code coverage data

  • Several bug fixes and performance improvements

Docker: https://github.com/orgs/holo-routing/packages/container/holo/327042977?tag=v0.6.0

Full Changelog: v0.5.0...v0.6.0

Holo v0.5.0

14 Jun 13:05
Compare
Choose a tag to compare

Main changes:

  • holo-bgp
    • Implement next-hop tracking
    • Implement recursive next-hop resolution
    • Implement route redistribution
    • Implement matching of prefix sets in routing policies
    • Implement the "established" and "backward-transition" YANG notifications
    • Implement the "clear" YANG action for neighbors
    • Add initial test topologies
  • holo-routing
    • Introduce a framework for next-hop tracking
    • Fix next-hop recursion over connected routes
    • Introduce netlink protocol types for BGP and static routes
  • holo-interface
    • Enable configuration of IP addresses, MTU, administrative status, and VLANs (#19)
  • holo-northbound
    • Refactor infrastructure for operational-data retrieval, improving performance by approximately 90%
    • Refactor infrastructure for YANG-modeled notifications
  • holo-yang
  • holo-daemon
    • Make all components optional
  • holo-cli
    • Integrate external pager
    • Migrate to a separate repository (#12)
  • Several bug fixes and performance improvements

Docker: https://github.com/orgs/holo-routing/packages/container/holo/230131108?tag=v0.5.0

Full Changelog: v0.4.0...v0.5.0

Holo v0.4.0

26 Feb 12:21
Compare
Choose a tag to compare

Main changes:

  • Initial BGP implementaiton
  • Support for static routes
  • Support for opaque route attributes
  • Enhanced security with chroot jail
  • YANG
  • Several bug fixes and performance improvements

Docker: https://github.com/holo-routing/holo/pkgs/container/holo/183494029?tag=v0.4.0

Full Changelog: v0.3.0...v0.4.0

Holo v0.3.0

27 Oct 02:07
Compare
Choose a tag to compare

Main changes:

  • Introduction of netlink code to fetch interface information from the kernel
  • Introduction of netlink code to install routes into the kernel
  • Removal of the zebra runtime dependency
  • Introduction of an MPLS label manager
  • Centralized routing policy configuration management
  • OSPF (v2/v3): support for the Graceful Restart feature (helper mode only)
  • OSPFv3: support for inheritable instance ID configuration
  • YANG
  • Several minor improvements and bug fixes

NOTE: due to limitations in the upstream netlink crates, this release does not support the installation of MPLS routes into the Linux kernel. This limitation is expected to be addressed in the next release.

Docker: https://github.com/rwestphal/holo/pkgs/container/holo/141852177?tag=v0.3.0

Full Changelog: v0.2.0...v0.3.0

Holo v0.2.0

26 Jul 23:58
Compare
Choose a tag to compare

Initial release