AdguardTeam/AdGuardHome

Rewrite networking in package dhcpd to only use gopacket

Open

#4923 aperta il 15 set 2022

Vedi su GitHub
 (0 commenti) (1 reazione) (1 assegnatario)Go (2333 fork)batch import
P3: Mediumenhancementexternal libshelp wantedresearch

Metriche repository

Star
 (34.000 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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.

Guida contributor