AdguardTeam / AdguardTeam/AdGuardHome

Rewrite networking in package dhcpd to only use gopacket

Aperta
#4,923 0 commenti 1 reazione 1 assegnatario Rivendicata da @EugeneOne1 Vedi su GitHub
enhancement external libs help wanted P3: Medium research
Lingua principale
TypeScript
Stelle
36.9k
Fork
2.5k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Prerequisites

- [X] I have checked the [Wiki](https://github.com/AdguardTeam/AdGuardHome/wiki) and [Discussions](https://github.com/AdguardTeam/AdGuardHome/discussions) and found no answer

- [X] I have searched other issues and found no duplicates

- [X] 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 per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.