# Install olsrd with Homebrew, apk, Nix

Implementation of the optimized link state routing protocol. Version 0.9.8 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:olsrd
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install olsrd
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add olsrd
```

  Evidence: Alpine Linux edge package indexes: olsrd from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#olsrd
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ol/olsrd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:olsrd
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/olsrd>
- **Version:** 0.9.8
- **Source summary:** Implementation of the optimized link state routing protocol
- **Homepage:** <https://github.com/OLSR/olsrd>
- **Repository:** <https://github.com/OLSR/olsrd>
- **Upstream docs:** <https://github.com/OLSR/olsrd/tree/master/doc>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/OLSR/olsrd/archive/refs/tags/v0.9.8.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- olsrd (cli)
- sgw_policy_routing_setup.sh (cli)
- olsrd (alias)
- sgw_policy_routing_setup.sh (alias)

## Build dependencies

- coreutils

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.9.8
- Local data: ok
- Upstream repository: https://github.com/OLSR/olsrd
- Upstream latest detected: v0.9.8 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

olsrd is the OLSR.org routing daemon, a C implementation of the Optimized Link State Routing protocol for mobile ad hoc and wireless mesh networks. Its historical importance is tied to RFC 3626, which standardized OLSR in October 2003 as a proactive link-state protocol that reduces wireless flooding with multipoint relays.

### Project history

The OLSR.org project says olsrd began in 2004 as Andreas Tonnesen's master's thesis implementation of the IETF MANET OLSR protocol. After the thesis work, development continued as an open source project because community networks needed a real daemon, not just a protocol specification.

The daemon evolved into a modular implementation with loadable plugins and ports beyond Linux. Historical project material records the addition of a plugin interface, Windows and BSD ports, an OS X port, and link-quality routing work during the 2004-2005 period.

### Adoption history

olsrd's adoption story is unusually concrete for a routing daemon: Freifunk, FunkFeuer, and other community wireless networks used it to build multi-hop mesh networks. The GitHub repository identifies the OLSR.org v1 codebase as maintained by Freifunk Berlin, which matches its long association with European community mesh deployments.

Research and engineering literature around community networks treated the OLSR.org implementation as one of the widely deployed open source OLSRv1 daemons. That made olsrd a reference point for later comparisons with B.A.T.M.A.N., Babel, OLSRv2, and other mesh-routing approaches.

### How it is used

Operators run olsrd as a standalone routing daemon on each mesh node. It discovers neighbors with OLSR messages, installs routes into the host routing table, and can advertise external networks through host/network association settings.

Package users usually care about the daemon plus its configuration and plugin ecosystem: interface selection, link-quality behavior, gateway advertisement, status output, and integrations for embedded router distributions such as OpenWrt.

### Why package nerds care

For package nerds, olsrd is a compact example of a network protocol escaping an RFC and becoming operational infrastructure. It sits at the intersection of IETF MANET work, hobbyist/community networking, embedded Linux routers, and distro packaging.

It also matters because it is old infrastructure with real-world wrinkles: platform ports, plugins, wireless link-quality extensions, and packaging across Unix-like systems all show the difference between a protocol paper and deployable routing software.

### Timeline

- October 2003: RFC 3626 documents the OLSR protocol for mobile ad hoc networks.
- 2004: olsrd starts as Andreas Tonnesen's master's thesis implementation and then continues as an open source project.
- 2004-2005: project history records plugin support, additional platform ports, and link-quality routing work.
- 2010s-2020s: the OLSR.org v1 repository lives on GitHub under the OLSR organization, with the repository description identifying Freifunk Berlin maintenance.

### Related projects

- OLSRv2 is the IETF successor to OLSR and keeps the multipoint-relay family resemblance while using newer MANET components. In package collections, olsrd is commonly compared with other mesh daemons such as Babel and B.A.T.M.A.N. rather than with general-purpose wired routing suites.

### Sources

- <https://api.github.com/repos/OLSR/olsrd>
- <https://datatracker.ietf.org/doc/rfc3626/>
- <https://datatracker.ietf.org/doc/rfc7181/>
- <https://github.com/OLSR/olsrd>
- <https://ieeexplore.ieee.org/document/6673346/>
- <https://openwrt.org/docs/guide-user/network/wifi/mesh/olsr>
- <https://wirelesspt.net/arquivos/docs/olsr/Implementation.Of.Olsrd.pdf>
- <https://www.olsr.org/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** olsrd
- **Version Scheme:** 0
- **Revision:** 3
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - olsrd: normalized package name match | nixpkgs package indexes: pkgs/by-name/ol/olsrd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - olsrd - 0.9.8-r3: normalized package name match | Alpine Linux edge package indexes: olsrd from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | An implementation of the IETF RFC 3626: Optimized Link State Routing Protocol | http://www.olsr.org/mediawiki/index.php/Olsr_Daemon
- apk - olsrd-doc - 0.9.8-r3: normalized package name match | Alpine Linux edge package indexes: olsrd-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | An implementation of the IETF RFC 3626: Optimized Link State Routing Protocol | http://www.olsr.org/mediawiki/index.php/Olsr_Daemon
- apk - olsrd-openrc - 0.9.8-r3: normalized package name match | Alpine Linux edge package indexes: olsrd-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | An implementation of the IETF RFC 3626: Optimized Link State Routing Protocol (OpenRC init scripts) | http://www.olsr.org/mediawiki/index.php/Olsr_Daemon
- apk - olsrd-plugins - 0.9.8-r3: normalized package name match | Alpine Linux edge package indexes: olsrd-plugins from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Optional plugins for olsrd | http://www.olsr.org/mediawiki/index.php/Olsr_Daemon


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [coreutils](https://www.automicvault.com/pkg/brew/coreutils/) - Build dependency declared by Homebrew.
- [babeld](https://www.automicvault.com/pkg/brew/babeld/) - Shares av.db curated category or tags: cli, mesh-networking, networking, routing.
- [iproute2](https://www.automicvault.com/pkg/brew/iproute2/) - Shares av.db curated category or tags: cli, networking, routing.
- [iproute2mac](https://www.automicvault.com/pkg/brew/iproute2mac/) - Shares av.db curated category or tags: cli, networking, routing.
- [irrtoolset](https://www.automicvault.com/pkg/brew/irrtoolset/) - Shares av.db curated category or tags: cli, networking, routing.
- [osrm-backend](https://www.automicvault.com/pkg/brew/osrm-backend/) - Shares av.db curated category or tags: cli, networking, routing.
- [zebra](https://www.automicvault.com/pkg/brew/zebra/) - Shares av.db curated category or tags: cli, networking, routing.
- [cjdns](https://www.automicvault.com/pkg/brew/cjdns/) - Shares av.db curated category or tags: cli, mesh-networking, networking, routing.
- [ahcpd](https://www.automicvault.com/pkg/brew/ahcpd/) - Shares av.db curated category or tags: cli, daemon, networking.

## Combined YAML source

View the package source record on GitHub. [combined/olsrd.yml](https://github.com/automic-vault/db/blob/main/combined/olsrd.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
