{"id":19599920,"url":"https://github.com/lbirchler/ip6hole","last_synced_at":"2026-05-10T23:46:36.819Z","repository":{"id":205719844,"uuid":"714894218","full_name":"lbirchler/ip6hole","owner":"lbirchler","description":"eBPF based tool to drop IPv6 traffic","archived":false,"fork":false,"pushed_at":"2023-11-06T04:19:50.000Z","size":1982,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-09T08:12:14.204Z","etag":null,"topics":["ebpf","ipv6","traffic-control","xdp"],"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/lbirchler.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}},"created_at":"2023-11-06T04:01:32.000Z","updated_at":"2023-11-06T04:26:11.000Z","dependencies_parsed_at":"2023-11-06T06:38:21.197Z","dependency_job_id":null,"html_url":"https://github.com/lbirchler/ip6hole","commit_stats":null,"previous_names":["lbirchler/ip6hole"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbirchler%2Fip6hole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbirchler%2Fip6hole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbirchler%2Fip6hole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbirchler%2Fip6hole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lbirchler","download_url":"https://codeload.github.com/lbirchler/ip6hole/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240877984,"owners_count":19872125,"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":["ebpf","ipv6","traffic-control","xdp"],"created_at":"2024-11-11T09:12:56.003Z","updated_at":"2026-05-10T23:46:31.780Z","avatar_url":"https://github.com/lbirchler.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ip6hole\neBPF based tool to drop IPv6 traffic\n\nOverview\n--------\n\nip6hole attaches XDP and tc programs to a specified network device. The XDP program drops ingress traffic and the tc program drops egress traffic. All programs and maps are pinned allowing devices/interfaces to be added or removed on the fly.\n\nDependencies\n------------\n\nUbuntu/Debian:\n```\n# apt install clang libelf1 libelf-dev zlib1g-dev\n```\n\nRHEL/CentOS/Fedora:\n```\n# dnf install clang elfutils-libelf elfutils-libelf-devel zlib-devel\n```\n\nBuild\n-----\n\n### Initialize libbpf and bpftool submodules\n\nWhen cloning the repository:\n```\n$ git clone --recurse-submodules https://github.com/lbirchler/ip6hole.git\n```\n\nIf you have already cloned the repository:\n```\n$ git submodule update --init \n```\n\n### Build ip6hole\n\nTo build only:\n```\n$ cd src\n$ make\n```\n\nTo build and install:\n```\n$ cd src\n$ sudo make install\n```\n\nUsage\n-----\n\n```\nUsage: ip6hole [OPTION...]\nDrop IPv6 Traffic.\n\nUSAGE: ip6hole [-a DEV] [-A] [-r DEV] [-R] [-s] [-d]\n\n  -a, --add=DEV              Add device\n  -A, --add-all              Add all devices\n  -d, --display              Display dropped IPv6 traffic\n  -r, --remove=DEV           Remove device\n  -R, --remove-all           Remove all devices\n  -s, --status               Display devices dropping IPv6 traffic\n  -v, --verbose              Verbose debug output\n  -?, --help                 Give this help list\n      --usage                Give a short usage message\n```\n\n### Examples\n\n#### Drop IPv6 traffic on specific device:\n```\n# ip6hole -a ens18\n```\n\n#### Drop IPv6 traffic on all devices:\n```\n# ip6hole -A\n```\n\n#### Display devices currently dropping IPv6 traffic: \n```\n# ip6hole -s\n```\n```\ndev: 1 ingress prog id: 108 egress prog id: 106\ndev: 2 ingress prog id: 108 egress prog id: 106\n```\n\n#### Display dropped IPv6 traffic:\n```\n# ip6hole -d\n```\n```\n[2] UDP     INGRESS fe80::54fb:6523:f105:1143 \u003e ff02::1:3, pkt_bytes 41\n[2] UDP     INGRESS fe80::54fb:6523:f105:1143 \u003e ff02::1:3, pkt_bytes 41\n[2] UDP     INGRESS fe80::a55:31ff:fe6d:9892.5678 \u003e ff02::1.5678, pkt_bytes 183\n[2] UDP     INGRESS fe80::54fb:6523:f105:1143 \u003e ff02::1:3, pkt_bytes 41\n[2] UDP     INGRESS fe80::54fb:6523:f105:1143 \u003e ff02::1:3, pkt_bytes 41\n[2] ICMPV6  EGRESS  2605:ad80:20:3009:349f:b0ff:fee9:2795 \u003e 2607:f8b0:4002:c2c::65, pkt_bytes 64\n[2] ICMPV6  EGRESS  2605:ad80:20:3009:349f:b0ff:fee9:2795 \u003e 2607:f8b0:4002:c2c::65, pkt_bytes 64\n[2] ICMPV6  EGRESS  2605:ad80:20:3009:349f:b0ff:fee9:2795 \u003e 2607:f8b0:4002:c2c::65, pkt_bytes 64\n[2] ICMPV6  EGRESS  2605:ad80:20:3009:349f:b0ff:fee9:2795 \u003e 2607:f8b0:4002:c2c::65, pkt_bytes 64\n[2] ICMPV6  EGRESS  2605:ad80:20:3009:349f:b0ff:fee9:2795 \u003e 2607:f8b0:4002:c2c::65, pkt_bytes 64\n[2] ICMPV6  EGRESS  fe80::349f:b0ff:fee9:2795 \u003e fe80::a55:31ff:fe6d:9892, pkt_bytes 32\n[2] ICMPV6  EGRESS  fe80::349f:b0ff:fee9:2795 \u003e fe80::a55:31ff:fe6d:9892, pkt_bytes 32\n[2] ICMPV6  EGRESS  fe80::349f:b0ff:fee9:2795 \u003e fe80::a55:31ff:fe6d:9892, pkt_bytes 32\n...\n```\n\n#### Remove specific device (allow IPv6 traffic):\n```\n# ip6hole -r ens18\n```\n\n#### Remove all devices (allow all IPv6 traffic):\n```\n# ip6hole -R\n```\n\nnote: `-R` will also unpin all programs and maps","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbirchler%2Fip6hole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flbirchler%2Fip6hole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbirchler%2Fip6hole/lists"}