mirror of
https://github.com/systemd/systemd.git
synced 2024-11-14 15:21:37 +03:00
5c1d3fc93d
Implements IPv4LL with respect to RFC 3927 (http://tools.ietf.org/rfc/rfc3927.txt) and integrates it with networkd. Majority of the IPv4LL state machine is taken from avahi (http://avahi.org/) project's autoip. IPv4LL can be enabled by IPv4LL=yes under [Network] section of .network file. IPv4LL works independent of DHCP but if DHCP lease is aquired, then LL address will be dropped. [tomegun: removed a trailing newline and a compiler warning]
47 lines
3.7 KiB
Plaintext
47 lines
3.7 KiB
Plaintext
%{
|
|
#include <stddef.h>
|
|
#include "conf-parser.h"
|
|
#include "networkd.h"
|
|
#include "net-util.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_bridge, 0, offsetof(Network, bridge)
|
|
Network.Bond, config_parse_bond, 0, offsetof(Network, bond)
|
|
Network.VLAN, config_parse_vlan, 0, offsetof(Network, vlans)
|
|
Network.MACVLAN, config_parse_macvlan, 0, offsetof(Network, macvlans)
|
|
Network.DHCP, config_parse_bool, 0, offsetof(Network, dhcp)
|
|
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)
|
|
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)
|