dd43110f78
When enabled in [Network] it will set up a dhcp server on the interface, listening on one of its statically configured IPv4 addresses and with a fixed size pool of leases determined from it. Example: [Match] Name=ve-arch-tree [Network] Address=192.168.12.5/24 DHCPServer=yes [Route] Gateway=192.168.12.5 Destination=192.168.12.0/24 In this case we will configure ve-arch-tree with the address 192.168.12.5 and hand out addresses in the range 192.168.12.6 - 192.168.12.38. In the future, we should (as suggested by Lennart) introduce a syntax to pick the server address automatically.
50 lines
4.1 KiB
Plaintext
50 lines
4.1 KiB
Plaintext
%{
|
|
#include <stddef.h>
|
|
#include "conf-parser.h"
|
|
#include "networkd.h"
|
|
#include "network-internal.h"
|
|
%}
|
|
struct ConfigPerfItem;
|
|
%null_strings
|
|
%language=ANSI-C
|
|
%define slot-name section_and_lvalue
|
|
%define hash-function-name network_network_gperf_hash
|
|
%define lookup-function-name network_network_gperf_lookup
|
|
%readonly-tables
|
|
%omit-struct-type
|
|
%struct-type
|
|
%includes
|
|
%%
|
|
Match.MACAddress, config_parse_hwaddr, 0, offsetof(Network, match_mac)
|
|
Match.Path, config_parse_string, 0, offsetof(Network, match_path)
|
|
Match.Driver, config_parse_string, 0, offsetof(Network, match_driver)
|
|
Match.Type, config_parse_string, 0, offsetof(Network, match_type)
|
|
Match.Name, config_parse_ifname, 0, offsetof(Network, match_name)
|
|
Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(Network, match_host)
|
|
Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(Network, match_virt)
|
|
Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(Network, match_kernel)
|
|
Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(Network, match_arch)
|
|
Network.Description, config_parse_string, 0, offsetof(Network, description)
|
|
Network.Bridge, config_parse_netdev, 0, offsetof(Network, bridge)
|
|
Network.Bond, config_parse_netdev, 0, offsetof(Network, bond)
|
|
Network.VLAN, config_parse_netdev, 0, offsetof(Network, vlans)
|
|
Network.MACVLAN, config_parse_netdev, 0, offsetof(Network, macvlans)
|
|
Network.DHCP, config_parse_bool, 0, offsetof(Network, dhcp)
|
|
Network.DHCPServer, config_parse_bool, 0, offsetof(Network, dhcp_server)
|
|
Network.IPv4LL, config_parse_bool, 0, offsetof(Network, ipv4ll)
|
|
Network.Address, config_parse_address, 0, 0
|
|
Network.Gateway, config_parse_gateway, 0, 0
|
|
Network.DNS, config_parse_dns, 0, offsetof(Network, dns)
|
|
Network.NTP, config_parse_dns, 0, offsetof(Network, ntp)
|
|
Network.Tunnel, config_parse_tunnel, 0, offsetof(Network, tunnel)
|
|
Address.Address, config_parse_address, 0, 0
|
|
Address.Broadcast, config_parse_broadcast, 0, 0
|
|
Address.Label, config_parse_label, 0, 0
|
|
Route.Gateway, config_parse_gateway, 0, 0
|
|
Route.Destination, config_parse_destination, 0, 0
|
|
DHCPv4.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_dns)
|
|
DHCPv4.UseMTU, config_parse_bool, 0, offsetof(Network, dhcp_mtu)
|
|
DHCPv4.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp_hostname)
|
|
DHCPv4.UseDomainName, config_parse_bool, 0, offsetof(Network, dhcp_domainname)
|
|
DHCPv4.CriticalConnection, config_parse_bool, 0, offsetof(Network, dhcp_critical)
|