{"id":13635095,"url":"https://github.com/holo-routing/holo","last_synced_at":"2026-02-22T01:36:19.458Z","repository":{"id":154483499,"uuid":"627157911","full_name":"holo-routing/holo","owner":"holo-routing","description":"Holo is a suite of routing protocols designed to support high-scale and automation-driven networks.","archived":false,"fork":false,"pushed_at":"2026-02-07T03:04:45.000Z","size":8557,"stargazers_count":458,"open_issues_count":17,"forks_count":40,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-02-07T10:16:22.792Z","etag":null,"topics":["bfd","bgp","bier","gnmi","grpc","is-is","ldp","mpls","network-automation","ospf","ospfv2","ospfv3","ripng","ripv2","routing-protocols","rust","segment-routing","vrrp","yang"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/holo-routing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-12T22:45:58.000Z","updated_at":"2026-02-07T03:04:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"e2c7349d-9d3d-46d4-9484-0de8db336d96","html_url":"https://github.com/holo-routing/holo","commit_stats":null,"previous_names":["holo-routing/holo"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/holo-routing/holo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holo-routing%2Fholo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holo-routing%2Fholo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holo-routing%2Fholo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holo-routing%2Fholo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/holo-routing","download_url":"https://codeload.github.com/holo-routing/holo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holo-routing%2Fholo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29703227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T23:35:04.139Z","status":"ssl_error","status_checked_at":"2026-02-21T23:35:03.832Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bfd","bgp","bier","gnmi","grpc","is-is","ldp","mpls","network-automation","ospf","ospfv2","ospfv3","ripng","ripv2","routing-protocols","rust","segment-routing","vrrp","yang"],"created_at":"2024-08-02T00:00:40.646Z","updated_at":"2026-02-22T01:36:19.452Z","avatar_url":"https://github.com/holo-routing.png","language":"Rust","funding_links":[],"categories":["Rust","Applications"],"sub_categories":["Routing protocols"],"readme":"[![MIT licensed][mit-badge]][mit-url]\n[![Build Status][actions-badge]][actions-url]\n[![codecov][codecov-badge]][codecov-url]\n[![Discord][discord-badge]][discord-url]\n\n[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[mit-url]: https://github.com/holo-routing/holo/blob/master/LICENSE\n[actions-badge]: https://github.com/holo-routing/holo/actions/workflows/ci.yaml/badge.svg?branch=master\n[actions-url]: https://github.com/holo-routing/holo/actions?query=workflow%3ACI+branch%3Amaster\n[codecov-badge]: https://codecov.io/gh/holo-routing/holo/branch/master/graph/badge.svg?token=OMV0RMNVY8\n[codecov-url]: https://codecov.io/gh/holo-routing/holo\n[discord-badge]: https://img.shields.io/discord/1090816494524452935.svg?logo=discord\n[discord-url]: https://discord.gg/deqkRvhHB9\n\nHolo is a suite of routing protocols designed to support high-scale and\nautomation-driven networks.\n\nFor a description of what a routing protocol is, please refer to this\n[Wikipedia page](https://en.wikipedia.org/wiki/Routing_protocol).\n\n## Features\n\n#### Focus on simplicity and correctness\n\nHolo's main goal is to create a reliable, easy-to-maintain, and\nextensible codebase.  With the ever increasing complexity of routing\nprotocols and their extensions, it's crucial to have routing protocol\nimplementations built on a robust foundation.  To that end, Holo's\ncodebase prioritizes simplicity, modularity, and thorough documentation.\nThanks to the strictness of the Rust compiler and extensive unit\ntests, it's expected that most regressions will be caught early in the\ndevelopment cycle of new features. For more details, please refer to the\n[Architecture](https://github.com/rwestphal/holo/wiki/Architecture) page.\n\n#### Automation-ready\n\nHolo was developed specifically for high-scale, automation-driven\nnetworks that require programmable configuration and monitoring\nusing structured and modeled data.  Holo natively implements standard\nYANG modules from IETF and supports multiple management interfaces,\nincluding native [gRPC](https://github.com/holo-routing/holo/wiki/gRPC) and\n[gNMI](https://github.com/holo-routing/holo/wiki/gNMI).  Additionally, Holo\nfeatures a standalone [CLI](https://github.com/holo-routing/holo/wiki/CLI)\nthat dynamically renders commands from YANG modules and communicates with\nthe Holo daemon through gRPC.\n\nThe changes made to the configuration are processed as transactions,\nguaranteeing that either all the changes are applied or none at all.\nThis feature is a significant facilitator of network automation as it\neliminates the need for error recovery in management applications.  Holo also\nsupports network-wide transactions involving multiple network devices.\nAdditional network automation capabilities include confirmed commits and\nconfiguration rollback support.\n\n#### Security\n\nBy virtue of being written in a memory-safe language, Holo is immune to a\nwide variety of memory-related bugs and security vulnerabilities.  Besides the\nsafety guarantees provided by Rust, the Holo daemon also drops privileges\nat startup. For certain operations, like binding sockets,\nLinux [capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html)\nare used to gain the minimum required permission for the least amount of time.\n\nHolo also provides robust protection against the most common attack vector in\nrouting protocol stacks: denial-of-service (DoS) attacks via malicious packet\ninput. Incoming packets are decoded in isolated, supervised async tasks,\nallowing the protocol implementations to recover gracefully from panics,\nsuch as by ignoring malformed packets or closing only the affected TCP stream,\nwithout compromising the stability of the entire daemon. Additionally, thanks\nto Holo's modular design and built-in support for coverage-guided fuzzing,\nmost parsing bugs are expected to be detected and addressed during development.\n\n#### Integrated protocol implementations\n\nSome protocols, such as OSPF and RIP, have different versions that are widely\ndeployed, typically one for IPv4 and another for IPv6.  Holo leverages Rust's\ngenerics to have version-agnostic protocol implementations, where most\nof the code is shared by the different protocol versions.  This approach\nreduces the maintenance cost of these protocols and facilitates shipping\nnew features that benefit all protocol versions.\n\n#### Parallelism\n\nHolo makes extensive use of asynchronous operations and relies on the\n[Tokio](https://github.com/tokio-rs/tokio) runtime to schedule tasks\nand run them on a thread pool.  In order to achieve better performance,\nboth I/O requests and CPU-intensive algorithms are offloaded to separate\ntasks, maximizing the utilization of all available CPU cores.  Support\nfor runtime-agnostic code is planned for the future, once the necessary\nabstractions are standardized by the Rust language team.\n\n#### Structured logging\n\nHolo generates log messages that contain structured data, which can be\npresented in various formats such as JSON, text, etc.\nAs logging is carried out through the *tracing* facade, diverse *tracing*\nsubscribers can be utilized to meet different user requirements. For instance,\nlogging can be directed to a file, journald, a centralized OpenTelemetry\ncollector, or any combination of these options with potentially varying\nlogging levels.\n\n#### Reproducible bugs\n\nHolo provides record-and-replay functionality, enabling easy reproduction\nof any user-reported bug.  The Holo daemon can be set up to record the\ncomplete lifespan of a protocol instance to a file. That file can then be\nplayed back on another machine, reproducing the same sequence of events.\nWhile a recording session may last for hours or days, the playback process\nshould take only a few seconds.  This is feasible thanks to Holo's modular\narchitecture, where all time-related and I/O operations are performed in\nseparate tasks and abstracted as event messages.\n\n## Installation\n\nFor detailed instructions on installation, please refer to the\n[INSTALL.md](INSTALL.md) file.\n\n#### Supported Platforms\n\nAt present, Holo is only compatible with Linux operating systems.\nWebAssembly support is planned for the future.\n\n#### Getting Started\n\nThe easiest way to start using Holo is by using pre-built Docker containers\nin combination with the [containerlab](https://containerlab.dev/) software.\nYou can find a variety of pre-configured network topologies at [this\nlink](https://github.com/holo-routing/containerlab-topologies).  These topologies\ncan be deployed with a single command, allowing you to test Holo in various\nnetwork setups, including interoperability testing with other implementations.\n\nAdditionally, Holo can be used wherever a routing stack is required, such\nas in software routers, provided that the feature set aligns with your\nspecific needs.\n\n## Compliance\n\nHolo supports the following Internet Standards:\n\n##### BFD\n\n* RFC 5880 - Bidirectional Forwarding Detection (BFD)\n* RFC 5881 - Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)\n* RFC 5882 - Generic Application of Bidirectional Forwarding Detection (BFD)\n* RFC 5883 - Bidirectional Forwarding Detection (BFD) for Multihop Paths\n\n##### BGP\n\n* RFC 1997 - BGP Communities Attribute\n* RFC 2385 - Protection of BGP Sessions via the TCP MD5 Signature Option\n* RFC 2545 - Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing\n* RFC 2918 - Route Refresh Capability for BGP-4\n* RFC 4271 - A Border Gateway Protocol 4 (BGP-4)\n* RFC 4360 - BGP Extended Communities Attribute\n* RFC 4486 - Subcodes for BGP Cease Notification Message\n* RFC 4760 - Multiprotocol Extensions for BGP-4\n* RFC 5082 - The Generalized TTL Security Mechanism (GTSM)\n* RFC 5492 - Capabilities Advertisement with BGP-4\n* RFC 5668 - 4-Octet AS Specific BGP Extended Community\n* RFC 5701 - IPv6 Address Specific BGP Extended Community Attribute\n* RFC 6286 - Autonomous-System-Wide Unique BGP Identifier for BGP-4\n* RFC 6608 - Subcodes for BGP Finite State Machine Error\n* RFC 6793 - BGP Support for Four-Octet Autonomous System (AS) Number Space\n* RFC 7606 - Revised Error Handling for BGP UPDATE Messages\n* RFC 7607 - Codification of AS 0 Processing\n* RFC 8092 - BGP Large Communities Attribute\n* RFC 8212 - Default External BGP (EBGP) Route Propagation Behavior without Policies\n* RFC 8642 - Policy Behavior for Well-Known BGP Communities\n* RFC 9774 - Deprecation of AS_SET and AS_CONFED_SET in BGP\n\n##### IS-IS\n\n* 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)\n* RFC 1195 - Use of OSI IS-IS for Routing in TCP/IP and Dual Environments\n* RFC 3719 - Recommendations for Interoperable Networks using Intermediate System to Intermediate System (IS-IS)\n* RFC 3787 - Recommendations for Interoperable IP Networks using Intermediate System to Intermediate System (IS-IS)\n* RFC 5120 - M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)\n* RFC 5301 - Dynamic Hostname Exchange Mechanism for IS-IS\n* RFC 5303 - Three-Way Handshake for IS-IS Point-to-Point Adjacencies\n* RFC 5304 - IS-IS Cryptographic Authentication\n* RFC 5305 - IS-IS Extensions for Traffic Engineering\n* RFC 5308 - Routing IPv6 with IS-IS\n* RFC 5310 - IS-IS Generic Cryptographic Authentication\n* RFC 6232 - Purge Originator Identification TLV for IS-IS\n* RFC 6233 - IS-IS Registry Extension for Purges\n* RFC 7602 - IS-IS Extended Sequence Number TLV\n* RFC 7794 - IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability\n* RFC 7917 - Advertising Node Administrative Tags in IS-IS\n* RFC 7981 - IS-IS Extensions for Advertising Router Information\n* RFC 7987 - IS-IS Minimum Remaining Lifetime\n* RFC 8401 - Bit Index Explicit Replication (BIER) Support via IS-IS\n* RFC 8405 - Shortest Path First (SPF) Back-Off Delay Algorithm for Link-State IGPs\n* RFC 8491 - Signaling Maximum SID Depth (MSD) Using IS-IS\n* RFC 8667 - IS-IS Extensions for Segment Routing\n* RFC 8918 - Invalid TLV Handling in IS-IS\n* draft-ietf-bier-lsr-non-mpls-extensions-03 - LSR Extensions for BIER non-MPLS Encapsulation\n* draft-ietf-lsr-distoptflood-12 - IS-IS Distributed Flooding Reduction\n\n##### MPLS LDP\n\n* RFC 5036 - LDP Specification\n* RFC 5561 - LDP Capabilities\n* RFC 5918 - Label Distribution Protocol (LDP) 'Typed Wildcard' Forward Equivalence Class (FEC)\n* RFC 5919 - Signaling LDP Label Advertisement Completion\n* RFC 6720 - The Generalized TTL Security Mechanism (GTSM) for the Label Distribution Protocol (LDP)\n\n##### Multicast\n\n* RFC 2236 - Internet Group Management Protocol, Version 2\n\n##### OSPF\n\n* RFC 2328 - OSPF Version 2\n* RFC 3623 - Graceful OSPF Restart\n* RFC 5187 - OSPFv3 Graceful Restart\n* RFC 5243 - OSPF Database Exchange Summary List Optimization\n* RFC 5250 - The OSPF Opaque LSA Option\n* RFC 5340 - OSPF for IPv6\n* RFC 5613 - OSPF Link-Local Signaling\n* RFC 5642 - Dynamic Hostname Exchange Mechanism for OSPF\n* RFC 5709 - OSPFv2 HMAC-SHA Cryptographic Authentication\n* RFC 5838 - Support of Address Families in OSPFv3\n* RFC 6987 - OSPF Stub Router Advertisement\n* RFC 7166 - Supporting Authentication Trailer for OSPFv3\n* RFC 7684 - OSPFv2 Prefix/Link Attribute Advertisement\n* RFC 7770 - Extensions to OSPF for Advertising Optional Router Capabilities\n* RFC 7777 - Advertising Node Administrative Tags in OSPF\n* RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility\n* RFC 8405 - Shortest Path First (SPF) Back-Off Delay Algorithm for Link-State IGPs\n* RFC 8476 - Signaling Maximum SID Depth (MSD) Using OSPF\n* RFC 8665 - OSPF Extensions for Segment Routing\n* RFC 8666 - OSPFv3 Extensions for Segment Routing\n* draft-ietf-bier-ospfv3-extensions-07 - OSPFv3 Extensions for BIER\n* draft-ietf-bier-lsr-non-mpls-extensions-03 - LSR Extensions for BIER non-MPLS Encapsulation\n\n##### RIP\n\n* RFC 2080 - RIPng for IPv6\n* RFC 2453 - RIP Version 2\n* RFC 4822 - RIPv2 Cryptographic Authentication\n\n##### VRRP\n\n* RFC 3768 - Virtual Router Redundancy Protocol (VRRP)\n* RFC 5798 - Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6\n\n#### Conformance Testing\n\nResults from conformance testing performed with the Ixia IxANVL RFC Compliance Tester are available [here](https://holo-routing.github.io/anvl/).\n\n#### IETF YANG implementation coverage\n\n| Module | Configuration | State | RPCs | Notifications | Total |\n| -- | -- | -- | -- | -- | -- |\n| ietf-bfd-ip-mh@2022-09-22 | 100.00% | 100.00% | - | 100.00% | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-bfd-ip-mh@2022-09-22.html) |\n| ietf-bfd-ip-sh@2022-09-22 | 100.00% | 100.00% | - | 100.00% | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-bfd-ip-sh@2022-09-22.html) |\n| ietf-bfd@2022-09-22 | 100.00% | 100.00% | - | - | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-bfd@2022-09-22.html) |\n| ietf-bgp-policy@2023-07-05 | 100.00% | - | - | - | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-bgp-policy@2023-07-05.html) |\n| ietf-bgp@2023-07-05 | 32.38% | 85.95% | - | - | [60.40%](https://holo-routing.github.io/ietf-yang-coverage/ietf-bgp@2023-07-05.html) |\n| ietf-bier@2023-09-12 | 100.00% | - | - | 0.00% | [72.50%](https://holo-routing.github.io/ietf-yang-coverage/ietf-bier@2023-09-12.html) |\n| ietf-if-extensions@2023-01-26 | 100.00% | 0.00% | - | - | [50.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-if-extensions@2023-01-26.html) |\n| ietf-if-vlan-encapsulation@2023-01-26 | 42.86% | - | - | - | [42.86%](https://holo-routing.github.io/ietf-yang-coverage/ietf-if-vlan-encapsulation@2023-01-26.html) |\n| ietf-igmp-mld@2019-11-01 | 84.62% | 100.00% | - | - | [95.83%](https://holo-routing.github.io/ietf-yang-coverage/ietf-igmp-mld@2019-11-01.html) |\n| ietf-interfaces@2018-02-20 | 100.00% | 0.00% | - | - | [22.22%](https://holo-routing.github.io/ietf-yang-coverage/ietf-interfaces@2018-02-20.html) |\n| ietf-ip@2018-02-22 | 52.17% | 0.00% | - | - | [40.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-ip@2018-02-22.html) |\n| ietf-ipv4-unicast-routing@2018-03-13 | 100.00% | 100.00% | - | - | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-ipv4-unicast-routing@2018-03-13.html) |\n| ietf-ipv6-unicast-routing@2018-03-13 | 40.62% | 100.00% | - | - | [45.71%](https://holo-routing.github.io/ietf-yang-coverage/ietf-ipv6-unicast-routing@2018-03-13.html) |\n| ietf-isis-msd@2024-09-02 | - | 100.00% | - | - | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-isis-msd@2024-09-02.html) |\n| ietf-isis-sr-mpls@2025-12-09 | 15.38% | 57.27% | - | - | [52.85%](https://holo-routing.github.io/ietf-yang-coverage/ietf-isis-sr-mpls@2025-12-09.html) |\n| ietf-isis@2022-10-19 | 93.62% | 70.37% | 100.00% | 100.00% | [80.92%](https://holo-routing.github.io/ietf-yang-coverage/ietf-isis@2022-10-19.html) |\n| ietf-key-chain@2017-06-15 | 100.00% | 100.00% | - | - | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-key-chain@2017-06-15.html) |\n| ietf-mpls-ldp@2022-03-14 | 86.96% | 92.31% | 100.00% | 100.00% | [92.38%](https://holo-routing.github.io/ietf-yang-coverage/ietf-mpls-ldp@2022-03-14.html) |\n| ietf-mpls@2020-12-18 | 0.00% | 57.14% | - | - | [35.29%](https://holo-routing.github.io/ietf-yang-coverage/ietf-mpls@2020-12-18.html) |\n| ietf-ospf-sr-mpls@2025-12-09 | 21.43% | 51.36% | - | - | [49.82%](https://holo-routing.github.io/ietf-yang-coverage/ietf-ospf-sr-mpls@2025-12-09.html) |\n| ietf-ospf@2022-10-19 | 95.70% | 85.04% | 100.00% | 58.06% | [83.89%](https://holo-routing.github.io/ietf-yang-coverage/ietf-ospf@2022-10-19.html) |\n| ietf-ospfv3-extended-lsa@2024-06-07 | 50.00% | 85.28% | - | - | [84.85%](https://holo-routing.github.io/ietf-yang-coverage/ietf-ospfv3-extended-lsa@2024-06-07.html) |\n| ietf-rip@2020-02-20 | 27.91% | 93.33% | 100.00% | - | [55.41%](https://holo-routing.github.io/ietf-yang-coverage/ietf-rip@2020-02-20.html) |\n| ietf-routing-policy@2021-10-11 | 100.00% | 0.00% | - | - | [98.11%](https://holo-routing.github.io/ietf-yang-coverage/ietf-routing-policy@2021-10-11.html) |\n| ietf-routing@2018-03-13 | 100.00% | 85.71% | - | - | [92.31%](https://holo-routing.github.io/ietf-yang-coverage/ietf-routing@2018-03-13.html) |\n| ietf-segment-routing-mpls@2021-05-26 | 62.50% | 0.00% | - | 23.53% | [32.76%](https://holo-routing.github.io/ietf-yang-coverage/ietf-segment-routing-mpls@2021-05-26.html) |\n| ietf-segment-routing@2021-05-26 | 100.00% | - | - | - | [100.00%](https://holo-routing.github.io/ietf-yang-coverage/ietf-segment-routing@2021-05-26.html) |\n| ietf-system@2014-08-06 | 26.67% | 60.00% | 0.00% | - | [38.24%](https://holo-routing.github.io/ietf-yang-coverage/ietf-system@2014-08-06.html) |\n| ietf-vrrp@2018-03-13 | 53.19% | 80.00% | - | 66.67% | [66.35%](https://holo-routing.github.io/ietf-yang-coverage/ietf-vrrp@2018-03-13.html) |\n\n## Funding\n\nThis project is funded through [NGI Zero Core](https://nlnet.nl/core), a\nfund established by [NLnet](https://nlnet.nl) with financial support from the\nEuropean Commission's [Next Generation Internet](https://ngi.eu) program. Learn\nmore at the [NLnet project page](https://nlnet.nl/project/HoloRouting/).\n\n[\u003cimg src=\"https://nlnet.nl/logo/banner.png\" alt=\"NLnet foundation logo\" width=\"20%\" /\u003e](https://nlnet.nl)\n[\u003cimg src=\"https://nlnet.nl/image/logos/NGI0_tag.svg\" alt=\"NGI Zero Logo\" width=\"20%\" /\u003e](https://nlnet.nl/core)\n\n## License\n\nThis project is licensed under the [MIT license].\n\n[MIT license]: https://github.com/holo-routing/holo/blob/master/LICENSE\n\n### Contribution\n\nWe welcome any contributions, from bug reports to Pull Requests. Please refer\nto our [Project Wishlist](https://github.com/users/holo-routing/projects/2)\nfor ideas on where to contribute.\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in Holo by you, shall be licensed as MIT, without any additional\nterms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholo-routing%2Fholo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fholo-routing%2Fholo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholo-routing%2Fholo/lists"}