138 lines
14 KiB
Plaintext
138 lines
14 KiB
Plaintext
%{
|
|
#include <stddef.h>
|
|
#include "conf-parser.h"
|
|
#include "network-internal.h"
|
|
#include "netdev/bond.h"
|
|
#include "netdev/bridge.h"
|
|
#include "netdev/geneve.h"
|
|
#include "netdev/ipvlan.h"
|
|
#include "netdev/macvlan.h"
|
|
#include "netdev/tunnel.h"
|
|
#include "netdev/tuntap.h"
|
|
#include "netdev/veth.h"
|
|
#include "netdev/vlan.h"
|
|
#include "netdev/vxlan.h"
|
|
#include "netdev/vrf.h"
|
|
#include "netdev/netdev.h"
|
|
#include "vlan-util.h"
|
|
%}
|
|
struct ConfigPerfItem;
|
|
%null_strings
|
|
%language=ANSI-C
|
|
%define slot-name section_and_lvalue
|
|
%define hash-function-name network_netdev_gperf_hash
|
|
%define lookup-function-name network_netdev_gperf_lookup
|
|
%readonly-tables
|
|
%omit-struct-type
|
|
%struct-type
|
|
%includes
|
|
%%
|
|
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, 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_vlanid, 0, offsetof(VLan, id)
|
|
VLAN.GVRP, config_parse_tristate, 0, offsetof(VLan, gvrp)
|
|
VLAN.MVRP, config_parse_tristate, 0, offsetof(VLan, mvrp)
|
|
VLAN.LooseBinding, config_parse_tristate, 0, offsetof(VLan, loose_binding)
|
|
VLAN.ReorderHeader, config_parse_tristate, 0, offsetof(VLan, reorder_hdr)
|
|
MACVLAN.Mode, config_parse_macvlan_mode, 0, offsetof(MacVlan, mode)
|
|
MACVTAP.Mode, config_parse_macvlan_mode, 0, offsetof(MacVlan, mode)
|
|
IPVLAN.Mode, config_parse_ipvlan_mode, 0, offsetof(IPVlan, mode)
|
|
Tunnel.Local, config_parse_tunnel_address, 0, offsetof(Tunnel, local)
|
|
Tunnel.Remote, config_parse_tunnel_address, 0, offsetof(Tunnel, remote)
|
|
Tunnel.TOS, config_parse_unsigned, 0, offsetof(Tunnel, tos)
|
|
Tunnel.TTL, config_parse_unsigned, 0, offsetof(Tunnel, ttl)
|
|
Tunnel.Key, config_parse_tunnel_key, 0, offsetof(Tunnel, key)
|
|
Tunnel.InputKey, config_parse_tunnel_key, 0, offsetof(Tunnel, ikey)
|
|
Tunnel.OutputKey, config_parse_tunnel_key, 0, offsetof(Tunnel, okey)
|
|
Tunnel.DiscoverPathMTU, config_parse_bool, 0, offsetof(Tunnel, pmtudisc)
|
|
Tunnel.Mode, config_parse_ip6tnl_mode, 0, offsetof(Tunnel, ip6tnl_mode)
|
|
Tunnel.IPv6FlowLabel, config_parse_ipv6_flowlabel, 0, offsetof(Tunnel, ipv6_flowlabel)
|
|
Tunnel.CopyDSCP, config_parse_bool, 0, offsetof(Tunnel, copy_dscp)
|
|
Tunnel.EncapsulationLimit, config_parse_encap_limit, 0, offsetof(Tunnel, encap_limit)
|
|
Peer.Name, config_parse_ifname, 0, offsetof(Veth, ifname_peer)
|
|
Peer.MACAddress, config_parse_hwaddr, 0, offsetof(Veth, mac_peer)
|
|
VXLAN.Id, config_parse_uint64, 0, offsetof(VxLan, id)
|
|
VXLAN.Group, config_parse_vxlan_address, 0, offsetof(VxLan, remote)
|
|
VXLAN.Local, config_parse_vxlan_address, 0, offsetof(VxLan, local)
|
|
VXLAN.Remote, config_parse_vxlan_address, 0, offsetof(VxLan, remote)
|
|
VXLAN.TOS, config_parse_unsigned, 0, offsetof(VxLan, tos)
|
|
VXLAN.TTL, config_parse_unsigned, 0, offsetof(VxLan, ttl)
|
|
VXLAN.MacLearning, config_parse_bool, 0, offsetof(VxLan, learning)
|
|
VXLAN.ARPProxy, config_parse_bool, 0, offsetof(VxLan, arp_proxy)
|
|
VXLAN.ReduceARPProxy, config_parse_bool, 0, offsetof(VxLan, arp_proxy)
|
|
VXLAN.L2MissNotification, config_parse_bool, 0, offsetof(VxLan, l2miss)
|
|
VXLAN.L3MissNotification, config_parse_bool, 0, offsetof(VxLan, l3miss)
|
|
VXLAN.RouteShortCircuit, config_parse_bool, 0, offsetof(VxLan, route_short_circuit)
|
|
VXLAN.UDPCheckSum, config_parse_bool, 0, offsetof(VxLan, udpcsum)
|
|
VXLAN.UDPChecksum, config_parse_bool, 0, offsetof(VxLan, udpcsum)
|
|
VXLAN.UDP6ZeroCheckSumRx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumrx)
|
|
VXLAN.UDP6ZeroChecksumRx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumrx)
|
|
VXLAN.UDP6ZeroCheckSumTx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumtx)
|
|
VXLAN.UDP6ZeroChecksumTx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumtx)
|
|
VXLAN.RemoteChecksumTx, config_parse_bool, 0, offsetof(VxLan, remote_csum_tx)
|
|
VXLAN.RemoteChecksumRx, config_parse_bool, 0, offsetof(VxLan, remote_csum_rx)
|
|
VXLAN.FDBAgeingSec, config_parse_sec, 0, offsetof(VxLan, fdb_ageing)
|
|
VXLAN.GroupPolicyExtension, config_parse_bool, 0, offsetof(VxLan, group_policy)
|
|
VXLAN.MaximumFDBEntries, config_parse_unsigned, 0, offsetof(VxLan, max_fdb)
|
|
VXLAN.PortRange, config_parse_port_range, 0, 0
|
|
VXLAN.DestinationPort, config_parse_ip_port, 0, offsetof(VxLan, dest_port)
|
|
VXLAN.FlowLabel, config_parse_flow_label, 0, 0
|
|
GENEVE.Id, config_parse_geneve_vni, 0, offsetof(Geneve, id)
|
|
GENEVE.Remote, config_parse_geneve_address, 0, offsetof(Geneve, remote)
|
|
GENEVE.TOS, config_parse_uint8, 0, offsetof(Geneve, tos)
|
|
GENEVE.TTL, config_parse_uint8, 0, offsetof(Geneve, ttl)
|
|
GENEVE.UDPChecksum, config_parse_bool, 0, offsetof(Geneve, udpcsum)
|
|
GENEVE.UDP6ZeroCheckSumRx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumrx)
|
|
GENEVE.UDP6ZeroCheckSumTx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumtx)
|
|
GENEVE.DestinationPort, config_parse_ip_port, 0, offsetof(Geneve, dest_port)
|
|
GENEVE.FlowLabel, config_parse_geneve_flow_label, 0, 0
|
|
Tun.OneQueue, config_parse_bool, 0, offsetof(TunTap, one_queue)
|
|
Tun.MultiQueue, config_parse_bool, 0, offsetof(TunTap, multi_queue)
|
|
Tun.PacketInfo, config_parse_bool, 0, offsetof(TunTap, packet_info)
|
|
Tun.User, config_parse_string, 0, offsetof(TunTap, user_name)
|
|
Tun.Group, config_parse_string, 0, offsetof(TunTap, group_name)
|
|
Tap.OneQueue, config_parse_bool, 0, offsetof(TunTap, one_queue)
|
|
Tap.MultiQueue, config_parse_bool, 0, offsetof(TunTap, multi_queue)
|
|
Tap.PacketInfo, config_parse_bool, 0, offsetof(TunTap, packet_info)
|
|
Tap.VNetHeader, config_parse_bool, 0, offsetof(TunTap, vnet_hdr)
|
|
Tap.User, config_parse_string, 0, offsetof(TunTap, user_name)
|
|
Tap.Group, config_parse_string, 0, offsetof(TunTap, group_name)
|
|
Bond.Mode, config_parse_bond_mode, 0, offsetof(Bond, mode)
|
|
Bond.TransmitHashPolicy, config_parse_bond_xmit_hash_policy, 0, offsetof(Bond, xmit_hash_policy)
|
|
Bond.LACPTransmitRate, config_parse_bond_lacp_rate, 0, offsetof(Bond, lacp_rate)
|
|
Bond.AdSelect, config_parse_bond_ad_select, 0, offsetof(Bond, ad_select)
|
|
Bond.FailOverMACPolicy, config_parse_bond_fail_over_mac, 0, offsetof(Bond, fail_over_mac)
|
|
Bond.ARPIPTargets, config_parse_arp_ip_target_address, 0, 0
|
|
Bond.ARPValidate, config_parse_bond_arp_validate, 0, offsetof(Bond, arp_validate)
|
|
Bond.ARPAllTargets, config_parse_bond_arp_all_targets, 0, offsetof(Bond, arp_all_targets)
|
|
Bond.PrimaryReselectPolicy, config_parse_bond_primary_reselect, 0, offsetof(Bond, primary_reselect)
|
|
Bond.ResendIGMP, config_parse_unsigned, 0, offsetof(Bond, resend_igmp)
|
|
Bond.PacketsPerSlave, config_parse_unsigned, 0, offsetof(Bond, packets_per_slave)
|
|
Bond.GratuitousARP, config_parse_unsigned, 0, offsetof(Bond, num_grat_arp)
|
|
Bond.AllSlavesActive, config_parse_unsigned, 0, offsetof(Bond, all_slaves_active)
|
|
Bond.MinLinks, config_parse_unsigned, 0, offsetof(Bond, min_links)
|
|
Bond.MIIMonitorSec, config_parse_sec, 0, offsetof(Bond, miimon)
|
|
Bond.UpDelaySec, config_parse_sec, 0, offsetof(Bond, updelay)
|
|
Bond.DownDelaySec, config_parse_sec, 0, offsetof(Bond, downdelay)
|
|
Bond.ARPIntervalSec, config_parse_sec, 0, offsetof(Bond, arp_interval)
|
|
Bond.LearnPacketIntervalSec, config_parse_sec, 0, offsetof(Bond, lp_interval)
|
|
Bridge.HelloTimeSec, config_parse_sec, 0, offsetof(Bridge, hello_time)
|
|
Bridge.MaxAgeSec, config_parse_sec, 0, offsetof(Bridge, max_age)
|
|
Bridge.AgeingTimeSec, config_parse_sec, 0, offsetof(Bridge, ageing_time)
|
|
Bridge.ForwardDelaySec, config_parse_sec, 0, offsetof(Bridge, forward_delay)
|
|
Bridge.Priority, config_parse_uint16, 0, offsetof(Bridge, priority)
|
|
Bridge.DefaultPVID, config_parse_default_port_vlanid, 0, offsetof(Bridge, default_pvid)
|
|
Bridge.MulticastQuerier, config_parse_tristate, 0, offsetof(Bridge, mcast_querier)
|
|
Bridge.MulticastSnooping, config_parse_tristate, 0, offsetof(Bridge, mcast_snooping)
|
|
Bridge.VLANFiltering, config_parse_tristate, 0, offsetof(Bridge, vlan_filtering)
|
|
Bridge.STP, config_parse_tristate, 0, offsetof(Bridge, stp)
|
|
VRF.TableId, config_parse_uint32, 0, offsetof(Vrf, table) /* deprecated */
|
|
VRF.Table, config_parse_route_table, 0, offsetof(Vrf, table)
|