{"id":28522095,"url":"https://github.com/openvpn/ovpn-dco","last_synced_at":"2025-10-26T07:13:41.789Z","repository":{"id":43172062,"uuid":"297342921","full_name":"OpenVPN/ovpn-dco","owner":"OpenVPN","description":"OpenVPN Data Channel Offload in the linux kernel (BUGFIXING ONLY - check ovpn-net-next repository for the latest development)","archived":false,"fork":false,"pushed_at":"2025-09-15T14:49:09.000Z","size":885,"stargazers_count":127,"open_issues_count":24,"forks_count":32,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-09-15T16:33:24.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenVPN.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-09-21T13:10:03.000Z","updated_at":"2025-09-15T14:49:13.000Z","dependencies_parsed_at":"2023-02-09T15:02:15.012Z","dependency_job_id":"7aee1fe4-45df-42cf-8429-12bcdbcc88a7","html_url":"https://github.com/OpenVPN/ovpn-dco","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/OpenVPN/ovpn-dco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fovpn-dco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fovpn-dco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fovpn-dco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fovpn-dco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenVPN","download_url":"https://codeload.github.com/OpenVPN/ovpn-dco/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fovpn-dco/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281070704,"owners_count":26438849,"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-10-26T02:00:06.575Z","response_time":61,"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":[],"created_at":"2025-06-09T09:08:07.301Z","updated_at":"2025-10-26T07:13:41.784Z","avatar_url":"https://github.com/OpenVPN.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"== OpenVPN Data Channel Offload in the linux kernel (ovpn-dco) ==\n\n** MAINTENANCE MODE **\nThis repository is currently in maintenance mode and we only accept important\nand meaningful bugfixes.\n\nFor the new version of the DCO linux kernel module, please refer to the following\nrepository:\n\n  https://github.com/OpenVPN/ovpn-net-next\n\n== License ==\n\novpn-dco is released under the terms of the GPLv2 license.\n\n\n== Submitting patches ==\n\nPatches for ovpn-dco can be submitted to the openvpn-devel mailing list at\nopenvpn-devel@lists.sourceforge.net\n\nThe patch subject *must* start with \"ovpn-dco:\". This way patches for this\nproject can easily be dinstinguished from patches for other projects.\nAt the same time it is part of the kernel guidelines to have subjects starting\nwith a prefix identifying the component being modified (ovpn-dco in this case).\n\nTo generate patches, please use git-format-patch and git-send-email.\n\n\n== Building ==\n\nTo build the ovpn-dco kernel module, just type:\n\n$ make\n\nin the root folder.\nThe Makefile will autodetect your running kernel and will try to use its\nheaders to get the code compiled.\n\nIf you want to build ovpn-dco against a kernel different from the one\nrunning on the host, run:\n\n$ make KERNEL_SRC=/path/to/the/kernel/tree\n\nThe control is passed to the kernel Makefile, therefore any kernel Makefile\nargument can be specified on the command line and it will be passed\nautomatically.\n\nOnce done building, executing the command:\n\n$ make install\n\nwill install the ovpn-dco.ko kernel module in the updates/ subfolder of\nthe kernel modules directory on your system.\nIt normally means `/lib/modules/$(uname -r)/updates/`.\n\n\n== Testing ==\n\nA basic pre-shared-key client (called ovpn-cli) is also provided in the\ntests/ folder.\nIt can be compiled by typing:\n\n$ make tests\n\nOne way to test ovpn-dco is to run multiple tun interfaces on the same hosts\nassociated with different network namespaces.\nA script that takes care of setting up 2 NS and 2 interfaces is provided at\n`tests/netns-test.sh`.\n\nBy running this script from the tests folder as follows:\n\n$ cd tests\n$ ./netns-test.sh\n\nthe host will configure a basic tunnel using a pre-shared key (the ovpn-cli\nbinary is used for this).\n\nThe 2 namespaces are named `peer0` and `peer1`. Each interface is respectively\nconfigured with `5.5.5.1/24` and `5.5.5.2/24`.\n\nAt this point it is possible to make a basic ping test by executing:\n\n$ ip netns exec peer0 ping 5.5.5.2\n\nIf the command above works, it means that the 2 interfaces are exchanging\ntraffic properly over the ovpn link.\n\nNote: running kernel must have network namespaces support compiled in, but it\nis fairly standard on modern Linux distros.\n\nFor reference, a sample kernel config file is provided in tests/qemu/config.net-next.\nThis config file is used for compiling a minimal kernel based on the net-next tree.\n\n\nTo run net-next, it's better to rely on any VM, so that the developer does not need\nto worry about bugs or spurious kernel crashes. For this reason qemu is suggested\n(but any other VM is fine too). At `tests/qemu/launch_deb2.sh` a sample script\ncan be found that shows how qemu can be launched for testing.\n\n\n== Limitations ==\n\nThis is a list of current limitations which are planned to be removed as we move forward:\n* Only AEAD mode and 'none' (with no auth) supported\n* Only AES-GCM and CHACHA20POLY1305 ciphers supported\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvpn%2Fovpn-dco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenvpn%2Fovpn-dco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvpn%2Fovpn-dco/lists"}