dhcp
                                
                                
                                
                                    dhcp copied to clipboard
                            
                            
                            
                        DHCPv6 and DHCPv4 packet library, client and server written in Go
dhcp
DHCPv4 and DHCPv6 decoding/encoding library with client and server code, written in Go.
How to get the library
The library is split into several parts:
dhcpv6: implementation of DHCPv6 packet, client and serverdhcpv4: implementation of DHCPv4 packet, client and servernetboot: network booting wrappers on top ofdhcpv6anddhcpv4iana: several IANA constants, and helpers used bydhcpv6anddhcpv4rfc1035label: simple implementation of RFC1035 labels, used bydhcpv6anddhcpv4interfaces, a thin layer of wrappers around network interfaces
You will probably only need dhcpv6 and/or dhcpv4 explicitly. The rest is
pulled in automatically if necessary.
So, to get dhcpv6 and dhcpv4 just run:
go get -u github.com/insomniacslk/dhcp/dhcpv{4,6}
Examples
The sections below will illustrate how to use the dhcpv6 and dhcpv4
packages.
- dhcpv6 client
 - dhcpv6 server
 - dhcpv6 packet crafting
 - TODO dhcpv4 client
 - TODO dhcpv4 server
 - TODO dhcpv4 packet crafting
 
See more example code at https://github.com/insomniacslk/exdhcp
Public projects that use it
- Facebook's DHCP load balancer, 
dhcplb, https://github.com/facebookincubator/dhcplb - Systemboot, a LinuxBoot distribution that runs as system firmware, https://github.com/systemboot/systemboot
 - Router7, a pure-Go router implementation for fiber7 connections, https://github.com/rtr7/router7
 - Beats from ElasticSearch, https://github.com/elastic/beats
 - Bender from Pinterest, a library for load-testing, https://github.com/pinterest/bender
 - FBender from Facebook, a tool for load-testing based on Bender, https://github.com/facebookincubator/fbender
 - CoreDHCP, a fast, multithreaded, modular and extensible DHCP server, https://github.com/coredhcp/coredhcp
 - u-root, an embeddable root file system, https://github.com/u-root/u-root
 - Talos: a modern OS for Kubernetes, https://github.com/talos-systems/talos