{"id":20074280,"url":"https://github.com/juniper/ebplane","last_synced_at":"2025-05-05T21:31:36.124Z","repository":{"id":137207531,"uuid":"200134864","full_name":"Juniper/ebplane","owner":"Juniper","description":"eBPF based dataplane prototypes","archived":false,"fork":false,"pushed_at":"2019-11-22T16:50:36.000Z","size":104,"stargazers_count":24,"open_issues_count":1,"forks_count":4,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-09T04:27:09.021Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/Juniper.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":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-02T00:07:50.000Z","updated_at":"2025-03-13T22:59:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"a40cf9a5-1991-4bb1-a283-2c33587268b0","html_url":"https://github.com/Juniper/ebplane","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Febplane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Febplane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Febplane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Febplane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Juniper","download_url":"https://codeload.github.com/Juniper/ebplane/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252580032,"owners_count":21771253,"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","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":[],"created_at":"2024-11-13T14:50:14.861Z","updated_at":"2025-05-05T21:31:36.118Z","avatar_url":"https://github.com/Juniper.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ebplane - an eBPF based dataplane\n\nThis repository contains prototypes of an eBPF based dataplane for network applications,\nits supporting libraries, tools, and documentation.\n\n# Working on ebplane\n\n## Install development tools locally\nTo work on ebplane, you must:\n\n1) Install bazel, by following the [instructions here](https://docs.bazel.build/versions/master/install.html). \nMake sure you install version [0.29.1](https://github.com/bazelbuild/bazel/releases/tag/0.29.1), \nnewer versions do not yet work.\n\n2) Build all the binaries, by running:\n\n        bazel build ...:all\n\n3) Run the tests, by running:\n\n        bazel test ...:all\n\nBinaries can then be found in the `bazel-bin` directory.\n\nThe build environment transparently downloads and uses a default toolchain.\nYour system does not need compiler, linker or header files installed.\n\nHowever, if you receive a python stack trace with the error:\n\n    Failed to detect host OS version: [...]\n\nIt means there is no pre-built environment for your platform.\nWe recommend you send a PR to update:\n\n    https://github.com/grailbio/bazel-toolchain/blob/master/toolchain/tools/llvm_release_name.py#L34\n\nand/or pass `TODO` flag to use a local clang install.\n\nIf you see the following error while building:\n\n   /usr/include/stdint.h:26:10: fatal error: 'bits/libc-header-start.h' file not found\n\nOn Ubuntu this can be resolved by installing:\n\n   apt install gcc-multilib g++-multilib\n\n\n## Docker build container\n\nInstead of installing the build tools locally you could also use a docker \ncontainer that will install all the required tools. For more details see the\n[README.md](docker/README.md) in the docker folder.\n\n\n# Developing ebplane\n\n1) All code checked in must have corresponding tests.\n\n2) Make sure your code is formatted properly with `clang-format`, by running:\n\n        TODO\n\n3) Verify no new warnings via static analysis:\n\n        TODO\n\n4) Verify that all tests are passing:\n\n        bazel test ...:all\n        bazel test --config=msan ...:all # Uses memory sanitizer.\n        bazel test --config=tsan ...:all # Uses thread sanitizer.\n        bazel test --config=asan ...:all # Uses address sanitizer.\n        bazel test --config=ubsan ...:all # Uses the undefined behavior sanitizer.\n\n5) Send code for review.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Febplane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuniper%2Febplane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Febplane/lists"}