github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/linux/socket_netlink_generic_batadv.txt (about)

     1  # Copyright 2020 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  include <linux/net.h>
     5  include <uapi/linux/netlink.h>
     6  include <uapi/linux/genetlink.h>
     7  include <uapi/linux/batman_adv.h>
     8  
     9  resource genl_batadv_family_id[int16]
    10  type msghdr_batadv[CMD] msghdr_netlink[netlink_msg_t[genl_batadv_family_id, genlmsghdr_t[CMD], batadv_netlink_policy]]
    11  
    12  syz_genetlink_get_family_id$batadv(name ptr[in, string["batadv"]], fd sock_nl_generic) genl_batadv_family_id
    13  
    14  sendmsg$BATADV_CMD_GET_MESH(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_MESH]], f flags[send_flags])
    15  sendmsg$BATADV_CMD_TP_METER(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_TP_METER]], f flags[send_flags])
    16  sendmsg$BATADV_CMD_TP_METER_CANCEL(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_TP_METER_CANCEL]], f flags[send_flags])
    17  sendmsg$BATADV_CMD_GET_ROUTING_ALGOS(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_ROUTING_ALGOS]], f flags[send_flags])
    18  sendmsg$BATADV_CMD_GET_HARDIF(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_HARDIF]], f flags[send_flags])
    19  sendmsg$BATADV_CMD_GET_TRANSTABLE_LOCAL(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_TRANSTABLE_LOCAL]], f flags[send_flags])
    20  sendmsg$BATADV_CMD_GET_TRANSTABLE_GLOBAL(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_TRANSTABLE_GLOBAL]], f flags[send_flags])
    21  sendmsg$BATADV_CMD_GET_ORIGINATORS(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_ORIGINATORS]], f flags[send_flags])
    22  sendmsg$BATADV_CMD_GET_NEIGHBORS(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_NEIGHBORS]], f flags[send_flags])
    23  sendmsg$BATADV_CMD_GET_GATEWAYS(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_GATEWAYS]], f flags[send_flags])
    24  sendmsg$BATADV_CMD_GET_BLA_CLAIM(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_BLA_CLAIM]], f flags[send_flags])
    25  sendmsg$BATADV_CMD_GET_BLA_BACKBONE(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_BLA_BACKBONE]], f flags[send_flags])
    26  sendmsg$BATADV_CMD_GET_DAT_CACHE(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_DAT_CACHE]], f flags[send_flags])
    27  sendmsg$BATADV_CMD_GET_MCAST_FLAGS(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_MCAST_FLAGS]], f flags[send_flags])
    28  sendmsg$BATADV_CMD_SET_MESH(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_SET_MESH]], f flags[send_flags])
    29  sendmsg$BATADV_CMD_SET_HARDIF(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_SET_HARDIF]], f flags[send_flags])
    30  sendmsg$BATADV_CMD_GET_VLAN(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_GET_VLAN]], f flags[send_flags])
    31  sendmsg$BATADV_CMD_SET_VLAN(fd sock_nl_generic, msg ptr[in, msghdr_batadv[BATADV_CMD_SET_VLAN]], f flags[send_flags])
    32  
    33  resource batadv_mesh_ifindex[ifindex]
    34  resource batadv_hard_ifindex[ifindex]
    35  
    36  ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(fd sock, cmd const[SIOCGIFINDEX], arg ptr[out, ifreq_dev_t["batadv0", batadv_mesh_ifindex]])
    37  ioctl$ifreq_SIOCGIFINDEX_batadv_hard(fd sock, cmd const[SIOCGIFINDEX], arg ptr[out, ifreq_dev_t[batadv_hard_ifindex_names, batadv_hard_ifindex]])
    38  
    39  batadv_hard_ifindex_names = "batadv_slave_0", "batadv_slave_1"
    40  
    41  batadv_netlink_policy [
    42  	BATADV_ATTR_MESH_IFINDEX			nlattr[BATADV_ATTR_MESH_IFINDEX, batadv_mesh_ifindex]
    43  	BATADV_ATTR_HARD_IFINDEX			nlattr[BATADV_ATTR_HARD_IFINDEX, batadv_hard_ifindex]
    44  	BATADV_ATTR_ORIG_ADDRESS			nlattr[BATADV_ATTR_ORIG_ADDRESS, mac_addr]
    45  	BATADV_ATTR_TPMETER_TEST_TIME			nlattr[BATADV_ATTR_TPMETER_TEST_TIME, int32]
    46  	BATADV_ATTR_VLANID				nlattr[BATADV_ATTR_VLANID, int16[0:4]]
    47  	BATADV_ATTR_AGGREGATED_OGMS_ENABLED		nlattr[BATADV_ATTR_AGGREGATED_OGMS_ENABLED, bool8]
    48  	BATADV_ATTR_AP_ISOLATION_ENABLED		nlattr[BATADV_ATTR_AP_ISOLATION_ENABLED, bool8]
    49  	BATADV_ATTR_ISOLATION_MARK			nlattr[BATADV_ATTR_ISOLATION_MARK, int32]
    50  	BATADV_ATTR_ISOLATION_MASK			nlattr[BATADV_ATTR_ISOLATION_MASK, int32]
    51  	BATADV_ATTR_BONDING_ENABLED			nlattr[BATADV_ATTR_BONDING_ENABLED, bool8]
    52  	BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED	nlattr[BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED, bool8]
    53  	BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED	nlattr[BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED, bool8]
    54  	BATADV_ATTR_FRAGMENTATION_ENABLED		nlattr[BATADV_ATTR_FRAGMENTATION_ENABLED, bool8]
    55  	BATADV_ATTR_GW_BANDWIDTH_DOWN			nlattr[BATADV_ATTR_GW_BANDWIDTH_DOWN, int32]
    56  	BATADV_ATTR_GW_BANDWIDTH_UP			nlattr[BATADV_ATTR_GW_BANDWIDTH_UP, int32]
    57  	BATADV_ATTR_GW_MODE				nlattr[BATADV_ATTR_GW_MODE, flags[batadv_gw_modes, int8]]
    58  	BATADV_ATTR_GW_SEL_CLASS			nlattr[BATADV_ATTR_GW_SEL_CLASS, int32]
    59  	BATADV_ATTR_HOP_PENALTY				nlattr[BATADV_ATTR_HOP_PENALTY, int8]
    60  	BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED	nlattr[BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED, bool8]
    61  	BATADV_ATTR_MULTICAST_FANOUT			nlattr[BATADV_ATTR_MULTICAST_FANOUT, int32]
    62  	BATADV_ATTR_NETWORK_CODING_ENABLED		nlattr[BATADV_ATTR_NETWORK_CODING_ENABLED, bool8]
    63  	BATADV_ATTR_ORIG_INTERVAL			nlattr[BATADV_ATTR_ORIG_INTERVAL, int32]
    64  	BATADV_ATTR_ELP_INTERVAL			nlattr[BATADV_ATTR_ELP_INTERVAL, int32]
    65  	BATADV_ATTR_THROUGHPUT_OVERRIDE			nlattr[BATADV_ATTR_THROUGHPUT_OVERRIDE, int32]
    66  ] [varlen]
    67  
    68  batadv_gw_modes = BATADV_GW_MODE_OFF, BATADV_GW_MODE_CLIENT, BATADV_GW_MODE_SERVER