A production-ready C library providing blazing-fast longest prefix match (LPM) operations for IPv4 and IPv6 routing tables. This release includes native packages, language bindings, and containerized environments.
Installation
Choose the installation method that best fits your environment.
Native C Library
| Distribution | Runtime | Development | Documentation |
|---|---|---|---|
| Deb | liblpm_2.0.0_amd64.deb | See -dev package | Install Guide |
Language Bindings
| Language | Package | Platform | Documentation |
|---|---|---|---|
| Python | liblpm-2.0.0-cp312-cp312-linux_x86_64.whl | PyPI / pip | Python Guide |
| Python | python3-liblpm_2.0.0-1_amd64.deb | Debian/Ubuntu | Python Guide |
| PHP | liblpm-1.0.0.tgz | PECL | PHP Guide |
| PHP | php8.1-liblpm_1.0.0-1_amd64.deb | Debian/Ubuntu | PHP Guide |
| PHP | php8.2-liblpm_1.0.0-1_amd64.deb | Debian/Ubuntu | PHP Guide |
| PHP | php8.3-liblpm_1.0.0-1_amd64.deb | Debian/Ubuntu | PHP Guide |
| Perl | liblpm-perl_2.0.0-1_amd64.deb | Debian/Ubuntu | Perl Guide |
| Java | liblpm-1.0.0.jar | JVM | Java Guide |
| C# | liblpm.2.0.0.nupkg | .NET | C# Guide |
| Go | liblpm-go-source.tar.gz | Go modules | Go Guide |
| Lua | liblpm.so | Lua 5.4 | Lua Guide |
Container Images
All container images are available on GitHub Container Registry and signed with Sigstore Cosign.
| Image | Description | Image Name |
|---|---|---|
| Runtime | Min runtime | ghcr.io/MuriloChianfa/liblpm-base:v2.1.0 |
| Development | Development env | ghcr.io/MuriloChianfa/liblpm-dev:v2.1.0 |
| Testing | Test env | ghcr.io/MuriloChianfa/liblpm-test:v2.1.0 |
| Fuzzing | AFL++ fuzzing | ghcr.io/MuriloChianfa/liblpm-fuzz:v2.1.0 |
| C++ | C++ bindings | ghcr.io/MuriloChianfa/liblpm-cpp:v2.1.0 |
| Go | Go bindings | ghcr.io/MuriloChianfa/liblpm-go:v2.1.0 |
| Java | Java bindings | ghcr.io/MuriloChianfa/liblpm-java:v2.1.0 |
| C# | C# bindings | ghcr.io/MuriloChianfa/liblpm-csharp:v2.1.0 |
| Lua | Lua bindings | ghcr.io/MuriloChianfa/liblpm-lua:v2.1.0 |
| Perl | Perl bindings | ghcr.io/MuriloChianfa/liblpm-perl:v2.1.0 |
| PHP | PHP bindings | ghcr.io/MuriloChianfa/liblpm-php:v2.1.0 |
| Python | Python bindings | ghcr.io/MuriloChianfa/liblpm-python:v2.1.0 |
| Benchmark | Bench tools | ghcr.io/MuriloChianfa/liblpm-benchmark:v2.1.0 |
Verification
All artifacts include SHA256 and SHA512 checksums. Download SHA256SUMS or SHA512SUMS and verify:
# Verify SHA256
sha256sum -c SHA256SUMS
# Verify SHA512
sha512sum -c SHA512SUMSGPG Signatures
Artifacts are signed with GPG key: 54A271464DDB23AC88E1BEE90CAD90A505252A35
# Import the public key (if not already imported)
gpg --keyserver keyserver.ubuntu.com --recv-keys 54A271464DDB23AC88E1BEE90CAD90A505252A35
# Verify a package signature
gpg --verify package.deb.asc package.deb
# Verify checksum file signature
gpg --verify SHA256SUMS.asc SHA256SUMSContainer Signatures
Container images are signed with Sigstore Cosign (keyless OIDC):
# Install cosign
# https://docs.sigstore.dev/cosign/installation/
# Verify container signature
cosign verify ghcr.io/MuriloChianfa/liblpm-base:v2.1.0 \
--certificate-identity-regexp="https://github.com/MuriloChianfa/liblpm/*" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"Full Changelog: v2.1.0...v2.1.0