{"id":20115516,"url":"https://github.com/asphaltt/xdpsnoop","last_synced_at":"2025-05-06T13:32:54.754Z","repository":{"id":225666591,"uuid":"766544057","full_name":"Asphaltt/xdpsnoop","owner":"Asphaltt","description":"xdpsnoop is a tool to trace XDP installation on NIC drivers.","archived":false,"fork":false,"pushed_at":"2024-03-06T15:41:53.000Z","size":763,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-17T23:59:06.005Z","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/Asphaltt.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}},"created_at":"2024-03-03T15:03:02.000Z","updated_at":"2024-03-05T05:43:10.000Z","dependencies_parsed_at":"2024-03-03T16:25:39.660Z","dependency_job_id":"a34177be-a58a-4357-8a68-c41d6e18998a","html_url":"https://github.com/Asphaltt/xdpsnoop","commit_stats":null,"previous_names":["asphaltt/xdpsnoop"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Fxdpsnoop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Fxdpsnoop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Fxdpsnoop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Fxdpsnoop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Asphaltt","download_url":"https://codeload.github.com/Asphaltt/xdpsnoop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224505542,"owners_count":17322623,"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-13T18:35:32.363Z","updated_at":"2024-11-13T18:35:32.823Z","avatar_url":"https://github.com/Asphaltt.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n Copyright 2024 Leon Hwang.\n SPDX-License-Identifier: Apache-2.0\n--\u003e\n\n# xdpsnoop: A tool to trace XDP installation on NIC drivers\n\n`xdpsnoop` is an eBPF-based tool to trace XDP program installation and removal on NIC drivers. It is useful when something bad happens to the XDP program installation, and some error message will be printed if provided.\n\n## Prerequisites\n\nLinux kernel version 5.2 or later with:\n\n- `CONFIG_BPF=y`\n- `CONFIG_BPF_SYSCALL=y`\n- `CONFIG_DEBUG_INFO_BTF=y`\n- `CONFIG_KPROBES=y`\n- `CONFIG_FUNCTION_TRACER=y`\n\n## Usage\n\n```sh\nsudo ./xdpsnoop\n2024/03/03 15:00:33 Listening for events...\n2024/03/03 15:00:36 Installed XDP to ifindex=2 ifname=ens33 bpf_prog_id=438 bpf_prog_name=dummy\n2024/03/03 15:00:37 Removed XDP from ifindex=2 ifname=ens33\n```\n\n## Build\n\nWith Go and clang installed, you can build `xdpsnoop` by running:\n\n```sh\ngit clone https://github.com/Asphaltt/xdpsnoop.git\ncd xdpsnoop\ngo generate\ngo build\n```\n\n## Credits\n\nThanks for [pwru](github.com/cilium/pwru) to retrieve BTF info from all kernel modules.\n\n## License\n\n`xdpsnoop` is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text.\n\nIts bpf source code is licensed under the GNU General Public License v2.0. See [LICENSE.GPL-2.0](./bpf/LICENSE.GPL-2.0) for the full license text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasphaltt%2Fxdpsnoop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasphaltt%2Fxdpsnoop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasphaltt%2Fxdpsnoop/lists"}