{"id":30313005,"url":"https://github.com/l3af-project/l3afd","last_synced_at":"2025-08-17T18:02:33.734Z","repository":{"id":37025727,"uuid":"373643956","full_name":"l3af-project/l3afd","owner":"l3af-project","description":"L3AFD eBPF Programs control plane","archived":false,"fork":false,"pushed_at":"2025-08-06T16:13:42.000Z","size":15855,"stargazers_count":203,"open_issues_count":24,"forks_count":41,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-06T18:14:48.991Z","etag":null,"topics":["ebpf","go","linux"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/l3af-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-06-03T21:19:45.000Z","updated_at":"2025-08-06T16:10:53.000Z","dependencies_parsed_at":"2023-02-15T19:01:05.614Z","dependency_job_id":"27aeb000-acb3-4699-a10b-f904c0f5bfdc","html_url":"https://github.com/l3af-project/l3afd","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/l3af-project/l3afd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3af-project%2Fl3afd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3af-project%2Fl3afd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3af-project%2Fl3afd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3af-project%2Fl3afd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/l3af-project","download_url":"https://codeload.github.com/l3af-project/l3afd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3af-project%2Fl3afd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270884769,"owners_count":24662308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ebpf","go","linux"],"created_at":"2025-08-17T18:01:05.407Z","updated_at":"2025-08-17T18:02:33.693Z","avatar_url":"https://github.com/l3af-project.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# L3AFD: Lightweight eBPF Daemon\n![L3AF_Logo](https://github.com/l3af-project/l3af-arch/blob/main/images/logos/Color/L3AF_logo.svg)\n\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6075/badge)](https://bestpractices.coreinfrastructure.org/projects/6075)\n[![Go Report Card](https://goreportcard.com/badge/github.com/l3af-project/l3afd)](https://goreportcard.com/report/github.com/l3af-project/l3afd)\n[![GoDoc](https://godoc.org/github.com/l3af-project/l3afd?status.svg)](https://pkg.go.dev/github.com/l3af-project/l3afd)\n[![Apache licensed](https://img.shields.io/badge/license-Apache-blue.svg)](LICENSE)\n[![L3AF Slack](https://img.shields.io/badge/slack-L3AF-brightgreen.svg?logo=slack)](http://l3afworkspace.slack.com/)\n\nL3AFD is a crucial part of the L3AF ecosystem. For more information on L3AF see\nhttps://l3af.io/\n\n# Overview\nL3AFD is the primary component of the L3AF control plane. L3AFD is a daemon\nthat orchestrates and manages multiple eBPF programs. L3AFD runs on each node\nwhere the user wishes to run eBPF programs. L3AFD reads configuration data and\nmanages the execution and monitoring of eBPF programs running on the node.\n\nL3AFD downloads pre-built eBPF programs from a user-configured repository.\nHowever, we envision the creation of a community-driven eBPF package marketplace\nwhere L3AF users can obtain a variety of eBPF programs developed by multiple\nsources.\n\n![L3AF Platform](https://github.com/l3af-project/l3af-arch/blob/main/images/L3AF_platform.png)\n\n# Try it out\nSee our [L3AF Development Environment](https://github.com/l3af-project/l3af-arch/tree/main/dev_environment)\nfor a quick and easy way to try out L3AF on your local machine.\n\n# Installing\nTry [a binary release](https://github.com/l3af-project/l3afd/releases/latest).\n\n# Building\nTo build on your local machine, including swagger docs do the following.\n\nFor Linux:\n```\nmake\n```\n\nFor Windows:\n```\ncmake -B build\ncmake --build build\n```\n# Docker build\n- L3AFD binary \u0026 configuration that is required in the Docker image needs to be built locally and copied to build-docker directory\n- Execute below command to build the docker image\n```\ndocker build -t l3afd:\u003cversion\u003e -f Dockerfile .\n```\nRequirements to run L3AFD as a Container\n- BPF, debugfs \u0026 shared-memory filesystems mount points should be available in the container\n- L3AFD container needs privileged access as it needs to manage eBPF programs\n- eBPF programs should be attached to the host interface so that it will apply to all the containers in the host\n\nIn order to satisfy the above requirements L3afd docker container needs to be run using the below command\n```\ndocker run -d -v /sys/fs/bpf:/sys/fs/bpf -v /sys/kernel/debug/:/sys/kernel/debug/ -v /dev/shm:/dev/shm --privileged --net=host l3afd:\u003cversion\u003e\n```\n# Testing\nTo test on your local machine, do the following.\n\nFor Linux:\n```\ngo test ./...\n```\n\nFor Windows:\n```\ngo test -tags WINDOWS ./...\n```\n\n# Generate Swagger Docs\nSee our [Swaggo setup](docs/swagger.md)\n\n# Contributing\nContributing to L3afd is fun. To get started:\n- [Contributing guide](docs/CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl3af-project%2Fl3afd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fl3af-project%2Fl3afd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl3af-project%2Fl3afd/lists"}