AdguardTeam/AdGuardHome

Rewrite networking in package dhcpd to only use gopacket

Open

#4,923 opened on 2022年9月15日

GitHub で見る
 (0 comments) (1 reaction) (1 assignee)Go (34,000 stars) (2,333 forks)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.

コントリビューターガイド

Rewrite networking in package dhcpd to only use gopacket · AdguardTeam/AdGuardHome#4923 | Good First Issue