AdguardTeam/AdGuardHome

Rewrite networking in package dhcpd to only use gopacket

Open

#4,923 创建于 2022年9月15日

在 GitHub 查看
 (0 评论) (1 反应) (1 负责人)Go (34,000 star) (2,333 fork)batch import
P3: Mediumenhancementexternal libshelp wantedresearch

描述

Prerequisites

  • I have checked the Wiki and Discussions and found no answer

  • I have searched other issues and found no duplicates

  • I want to request a feature or enhancement and not ask a question

Description

What problem are you trying to solve?

Package dhcpd currently uses a lot of different modules and packages for networking, including github.com/google/gopacket, github.com/insomniacslk/dhcp, github.com/mdlayher/ethernet, and the deprecated github.com/mdlayher/raw. This creates all sorts of issues, including but not limited to:

  1. portability;
  2. API compatibility;
  3. difficulty of package update and maintenance.

Proposed solution

Module github.com/google/gopacket seems to have either all or most of the things we require. If I am not mistaken, we could even enable DHCP on Windows, if we make sure that the networking works well there.

Alternatives considered

Go on as we do. See the problems with this approach above.

贡献者指南