{"id":20115513,"url":"https://github.com/asphaltt/learn-by-example","last_synced_at":"2025-06-25T22:04:38.533Z","repository":{"id":138614660,"uuid":"426655831","full_name":"Asphaltt/learn-by-example","owner":"Asphaltt","description":"Learn something interesting by examples.","archived":false,"fork":false,"pushed_at":"2025-03-30T16:09:12.000Z","size":24103,"stargazers_count":65,"open_issues_count":0,"forks_count":13,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-13T10:57:34.920Z","etag":null,"topics":["bpf2bpf","ebpf","fentry","fexit","freplace","go","iptables-nfqueue","kprobe","nfnetlink","nsenter","tc-bpf","tracepoint","xdp","xdp-acl"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-10T14:35:48.000Z","updated_at":"2025-04-01T00:18:16.000Z","dependencies_parsed_at":"2023-12-17T15:31:19.885Z","dependency_job_id":"8678054c-0d26-4581-bfd7-ba8faf7a5fdd","html_url":"https://github.com/Asphaltt/learn-by-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Asphaltt/learn-by-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Flearn-by-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Flearn-by-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Flearn-by-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Flearn-by-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Asphaltt","download_url":"https://codeload.github.com/Asphaltt/learn-by-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asphaltt%2Flearn-by-example/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261960506,"owners_count":23236572,"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":["bpf2bpf","ebpf","fentry","fexit","freplace","go","iptables-nfqueue","kprobe","nfnetlink","nsenter","tc-bpf","tracepoint","xdp","xdp-acl"],"created_at":"2024-11-13T18:35:32.039Z","updated_at":"2025-06-25T22:04:38.507Z","avatar_url":"https://github.com/Asphaltt.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# learn-by-example\n\nLearn something interesting by examples.\n\n---\n\n1. [`nsenter` in Go](./nsenter/)\n2. [`nfnetlink`(`iptables-nfqueue`) in Go](./nfnetlink/)\n3. [`nfqueue`(another example of `iptables-nfqueue`) in Go](./nfqueue/)\n\n## eBPF examples\n\n1. [`demo for 「eBPF 技术实践：高性能 ACL」`](./ebpf/acl/)\n2. [`为 eBPF 程序注入黑魔法`](./ebpf/inject/)\n3. [`bpf2bpf functions call example`](./ebpf/bpf2bpf/)\n4. [`bpf_tail_call() example`](./ebpf/tailcall/)\n5. [`eBPF global variables`](./ebpf/global-variable/)\n6. [`XDP metadata 实战指南`](./ebpf/xdpmetadata/)\n7. [`XDP ping`](./ebpf/xdpping/)\n8. [`ping latency injection with XDP metadata`](./ebpf/metadata_xdp2afxdp/)\n9. [`eBPF timer`](./ebpf/timer/)\n10. [`eBPF iterator`](./ebpf/iter/)\n11. [`binary search in eBPF`](./ebpf/bsearch/)\n12. [`fentry/fexit on XDP program`](./ebpf/fentry_fexit-xdp/)\n13. [`fentry/fexit on tc-bpf program`](./ebpf/fentry_fexit-tc)\n14. [`fentry/fexit on tailcall target program` (FAILED)](./ebpf/fentry_fexit-tailcall/)\n15. [`fentry/fexit on bpf2bpf target program`](./ebpf/fentry_fexit-bpf2bpf/)\n16. [`fentry/fexit on freplace program`](./ebpf/fentry_fexit-freplace/)\n17. [`fentry/fexit on freplace program (XDP)`](./ebpf/fentry_fexit-freplace-xdp/)\n18. [`fentry/fexit on kprobe program`](./ebpf/fentry_fexit-kprobe/)\n19. [`fentry/fexit on tracepoint program`](./ebpf/fentry_fexit-tracepoint/)\n20. [`tracepoint of netlink_extack`](./ebpf/tracepoint/)\n21. [`tailcall shared on multi-processes`](./ebpf/tailcall-shared/)\n22. [`tailcall stack overflow?`](./ebpf/tailcall-stack-overflow/)\n23. [`XDP supports traceroute`](./ebpf/xdp-traceroute/)\n24. [`tailcall in bpf2bpf`](./ebpf/tailcall-in-bpf2bpf/)\n25. [`fexit on RPS/XPS`](./ebpf/fexit_rpsxps/)\n26. [`fexit on ipv4 sysctl`](./ebpf/fexit_ipv4_sysctl/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasphaltt%2Flearn-by-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasphaltt%2Flearn-by-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasphaltt%2Flearn-by-example/lists"}