122851890Sopenharmony_ci/**************************************************************************** 222851890Sopenharmony_ci **************************************************************************** 322851890Sopenharmony_ci *** 422851890Sopenharmony_ci *** This header was automatically generated from a Linux kernel header 522851890Sopenharmony_ci *** of the same name, to make information necessary for userspace to 622851890Sopenharmony_ci *** call into the kernel available to libc. It contains only constants, 722851890Sopenharmony_ci *** structures, and macros generated from the original header, and thus, 822851890Sopenharmony_ci *** contains no copyrightable information. 922851890Sopenharmony_ci *** 1022851890Sopenharmony_ci *** To edit the content of this header, modify the corresponding 1122851890Sopenharmony_ci *** source file (e.g. under external/kernel-headers/original/) then 1222851890Sopenharmony_ci *** run bionic/libc/kernel/tools/update_all.py 1322851890Sopenharmony_ci *** 1422851890Sopenharmony_ci *** Any manual change here will be lost the next time this script will 1522851890Sopenharmony_ci *** be run. You've been warned! 1622851890Sopenharmony_ci *** 1722851890Sopenharmony_ci **************************************************************************** 1822851890Sopenharmony_ci ****************************************************************************/ 1922851890Sopenharmony_ci#ifndef _LINUX_IF_BONDING_H 2022851890Sopenharmony_ci#define _LINUX_IF_BONDING_H 2122851890Sopenharmony_ci#include <linux/if.h> 2222851890Sopenharmony_ci#include <linux/types.h> 2322851890Sopenharmony_ci#include <linux/if_ether.h> 2422851890Sopenharmony_ci#define BOND_ABI_VERSION 2 2522851890Sopenharmony_ci#define BOND_ENSLAVE_OLD (SIOCDEVPRIVATE) 2622851890Sopenharmony_ci#define BOND_RELEASE_OLD (SIOCDEVPRIVATE + 1) 2722851890Sopenharmony_ci#define BOND_SETHWADDR_OLD (SIOCDEVPRIVATE + 2) 2822851890Sopenharmony_ci#define BOND_SLAVE_INFO_QUERY_OLD (SIOCDEVPRIVATE + 11) 2922851890Sopenharmony_ci#define BOND_INFO_QUERY_OLD (SIOCDEVPRIVATE + 12) 3022851890Sopenharmony_ci#define BOND_CHANGE_ACTIVE_OLD (SIOCDEVPRIVATE + 13) 3122851890Sopenharmony_ci#define BOND_CHECK_MII_STATUS (SIOCGMIIPHY) 3222851890Sopenharmony_ci#define BOND_MODE_ROUNDROBIN 0 3322851890Sopenharmony_ci#define BOND_MODE_ACTIVEBACKUP 1 3422851890Sopenharmony_ci#define BOND_MODE_XOR 2 3522851890Sopenharmony_ci#define BOND_MODE_BROADCAST 3 3622851890Sopenharmony_ci#define BOND_MODE_8023AD 4 3722851890Sopenharmony_ci#define BOND_MODE_TLB 5 3822851890Sopenharmony_ci#define BOND_MODE_ALB 6 3922851890Sopenharmony_ci#define BOND_LINK_UP 0 4022851890Sopenharmony_ci#define BOND_LINK_FAIL 1 4122851890Sopenharmony_ci#define BOND_LINK_DOWN 2 4222851890Sopenharmony_ci#define BOND_LINK_BACK 3 4322851890Sopenharmony_ci#define BOND_STATE_ACTIVE 0 4422851890Sopenharmony_ci#define BOND_STATE_BACKUP 1 4522851890Sopenharmony_ci#define BOND_DEFAULT_MAX_BONDS 1 4622851890Sopenharmony_ci#define BOND_DEFAULT_TX_QUEUES 16 4722851890Sopenharmony_ci#define BOND_DEFAULT_RESEND_IGMP 1 4822851890Sopenharmony_ci#define BOND_XMIT_POLICY_LAYER2 0 4922851890Sopenharmony_ci#define BOND_XMIT_POLICY_LAYER34 1 5022851890Sopenharmony_ci#define BOND_XMIT_POLICY_LAYER23 2 5122851890Sopenharmony_ci#define BOND_XMIT_POLICY_ENCAP23 3 5222851890Sopenharmony_ci#define BOND_XMIT_POLICY_ENCAP34 4 5322851890Sopenharmony_ci#define LACP_STATE_LACP_ACTIVITY 0x1 5422851890Sopenharmony_ci#define LACP_STATE_LACP_TIMEOUT 0x2 5522851890Sopenharmony_ci#define LACP_STATE_AGGREGATION 0x4 5622851890Sopenharmony_ci#define LACP_STATE_SYNCHRONIZATION 0x8 5722851890Sopenharmony_ci#define LACP_STATE_COLLECTING 0x10 5822851890Sopenharmony_ci#define LACP_STATE_DISTRIBUTING 0x20 5922851890Sopenharmony_ci#define LACP_STATE_DEFAULTED 0x40 6022851890Sopenharmony_ci#define LACP_STATE_EXPIRED 0x80 6122851890Sopenharmony_citypedef struct ifbond { 6222851890Sopenharmony_ci __s32 bond_mode; 6322851890Sopenharmony_ci __s32 num_slaves; 6422851890Sopenharmony_ci __s32 miimon; 6522851890Sopenharmony_ci} ifbond; 6622851890Sopenharmony_citypedef struct ifslave { 6722851890Sopenharmony_ci __s32 slave_id; 6822851890Sopenharmony_ci char slave_name[IFNAMSIZ]; 6922851890Sopenharmony_ci __s8 link; 7022851890Sopenharmony_ci __s8 state; 7122851890Sopenharmony_ci __u32 link_failure_count; 7222851890Sopenharmony_ci} ifslave; 7322851890Sopenharmony_cistruct ad_info { 7422851890Sopenharmony_ci __u16 aggregator_id; 7522851890Sopenharmony_ci __u16 ports; 7622851890Sopenharmony_ci __u16 actor_key; 7722851890Sopenharmony_ci __u16 partner_key; 7822851890Sopenharmony_ci __u8 partner_system[ETH_ALEN]; 7922851890Sopenharmony_ci}; 8022851890Sopenharmony_cienum { 8122851890Sopenharmony_ci BOND_XSTATS_UNSPEC, 8222851890Sopenharmony_ci BOND_XSTATS_3AD, 8322851890Sopenharmony_ci __BOND_XSTATS_MAX 8422851890Sopenharmony_ci}; 8522851890Sopenharmony_ci#define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1) 8622851890Sopenharmony_cienum { 8722851890Sopenharmony_ci BOND_3AD_STAT_LACPDU_RX, 8822851890Sopenharmony_ci BOND_3AD_STAT_LACPDU_TX, 8922851890Sopenharmony_ci BOND_3AD_STAT_LACPDU_UNKNOWN_RX, 9022851890Sopenharmony_ci BOND_3AD_STAT_LACPDU_ILLEGAL_RX, 9122851890Sopenharmony_ci BOND_3AD_STAT_MARKER_RX, 9222851890Sopenharmony_ci BOND_3AD_STAT_MARKER_TX, 9322851890Sopenharmony_ci BOND_3AD_STAT_MARKER_RESP_RX, 9422851890Sopenharmony_ci BOND_3AD_STAT_MARKER_RESP_TX, 9522851890Sopenharmony_ci BOND_3AD_STAT_MARKER_UNKNOWN_RX, 9622851890Sopenharmony_ci BOND_3AD_STAT_PAD, 9722851890Sopenharmony_ci __BOND_3AD_STAT_MAX 9822851890Sopenharmony_ci}; 9922851890Sopenharmony_ci#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1) 10022851890Sopenharmony_ci#endif 101