View Source VintageNet.IP.DhcpdConfig (vintage_net v0.13.5)
This is a helper module for VintageNet.Technology implementations that use a DHCP server.
DHCP server parameters are:
:start
- Start of the lease block:end
- End of the lease block:max_leases
- The maximum number of leases:decline_time
- The amount of time that an IP will be reserved (leased to nobody):conflict_time
-The amount of time that an IP will be reserved:offer_time
- How long an offered address is reserved (seconds):min_lease
- If client asks for lease below this value, it will be rounded up to this value (seconds):auto_time
- The time period at which udhcpd will write out leases file.:static_leases
- list of{mac_address, ip_address}
:options
- a map DHCP response options to set. Such as::dns
- IP_LIST:domain
- STRING - [0x0f] client's domain suffix:hostname
- STRING:mtu
- NUM:router
- IP_LIST:search
- STRING_LIST - [0x77] search domains:serverid
- IP (defaults to the interface's IP address):subnet
or:netmask
- IP as a subnet mask (:netmask
is an alias for:subnet
)
:options
Options may also be passed in as integers. These are passed directly to the DHCP server and their values are strings that are not interpreted by VintageNet. Use this to support custom DHCP header options. For more details on DHCP response options see RFC 2132
Example
VintageNet.configure("wlan0", %{
type: VintageNetWiFi,
vintage_net_wifi: %{
networks: [
%{
mode: :ap,
ssid: "test ssid",
key_mgmt: :none
}
]
},
dhcpd: %{
start: "192.168.24.2",
end: "192.168.24.10",
options: %{
dns: ["1.1.1.1", "1.0.0.1"],
netmask: "255.255.255.0",
router: ["192.168.24.1"]
}
}
})
Summary
Functions
Add udhcpd configuration commands for running a DHCP server
Normalize the DHCPD parameters in a configuration.
Functions
@spec add_config(VintageNet.Interface.RawConfig.t(), map(), keyword()) :: VintageNet.Interface.RawConfig.t()
Add udhcpd configuration commands for running a DHCP server
Normalize the DHCPD parameters in a configuration.