%{
#include <stddef.h>
#include "conf-parser.h"
-#include "networkd.h"
-#include "net-util.h"
+#include "networkd-netdev.h"
+#include "networkd-netdev-tunnel.h"
+#include "networkd-netdev-bond.h"
+#include "networkd-netdev-macvlan.h"
+#include "network-internal.h"
%}
struct ConfigPerfItem;
%null_strings
%struct-type
%includes
%%
-Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(NetDev, condition_host)
-Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(NetDev, condition_virt)
-Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(NetDev, condition_kernel)
+Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(NetDev, match_host)
+Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(NetDev, match_virt)
+Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(NetDev, match_kernel)
+Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(NetDev, match_arch)
NetDev.Description, config_parse_string, 0, offsetof(NetDev, description)
-NetDev.Name, config_parse_ifname, 0, offsetof(NetDev, name)
+NetDev.Name, config_parse_ifname, 0, offsetof(NetDev, ifname)
NetDev.Kind, config_parse_netdev_kind, 0, offsetof(NetDev, kind)
+NetDev.MTUBytes, config_parse_iec_size, 0, offsetof(NetDev, mtu)
+NetDev.MACAddress, config_parse_hwaddr, 0, offsetof(NetDev, mac)
VLAN.Id, config_parse_uint64, 0, offsetof(NetDev, vlanid)
+MACVLAN.Mode, config_parse_macvlan_mode, 0, offsetof(NetDev, macvlan_mode)
+Tunnel.Local, config_parse_tunnel_address, 0, offsetof(NetDev, local)
+Tunnel.Remote, config_parse_tunnel_address, 0, offsetof(NetDev, remote)
+Tunnel.TOS, config_parse_unsigned, 0, offsetof(NetDev, tos)
+Tunnel.TTL, config_parse_unsigned, 0, offsetof(NetDev, ttl)
+Tunnel.DiscoverPathMTU, config_parse_bool, 0, offsetof(NetDev, tunnel_pmtudisc)
+Peer.Name, config_parse_ifname, 0, offsetof(NetDev, ifname_peer)
+Peer.MACAddress, config_parse_hwaddr, 0, offsetof(NetDev, mac_peer)
+VXLAN.Id, config_parse_uint64, 0, offsetof(NetDev, vxlanid)
+VXLAN.Group, config_parse_tunnel_address, 0, offsetof(NetDev, group)
+VXLAN.TOS, config_parse_unsigned, 0, offsetof(NetDev, tos)
+VXLAN.TTL, config_parse_unsigned, 0, offsetof(NetDev, ttl)
+VXLAN.MacLearning, config_parse_bool, 0, offsetof(NetDev, learning)
+Tun.OneQueue, config_parse_bool, 0, offsetof(NetDev, one_queue)
+Tun.MultiQueue, config_parse_bool, 0, offsetof(NetDev, multi_queue)
+Tun.PacketInfo, config_parse_bool, 0, offsetof(NetDev, packet_info)
+Tun.User, config_parse_string, 0, offsetof(NetDev, user_name)
+Tun.Group, config_parse_string, 0, offsetof(NetDev, group_name)
+Tap.OneQueue, config_parse_bool, 0, offsetof(NetDev, one_queue)
+Tap.MultiQueue, config_parse_bool, 0, offsetof(NetDev, multi_queue)
+Tap.PacketInfo, config_parse_bool, 0, offsetof(NetDev, packet_info)
+Tap.User, config_parse_string, 0, offsetof(NetDev, user_name)
+Tap.Group, config_parse_string, 0, offsetof(NetDev, group_name)
+Bond.Mode, config_parse_bond_mode, 0, offsetof(NetDev, bond_mode)