blob: f77f8662fc990512dfb21a2235bc2e8147cb3c6f [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_IF_BONDING_H
20#define _LINUX_IF_BONDING_H
21#include <linux/if.h>
22#include <linux/types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#include <linux/if_ether.h>
24#define BOND_ABI_VERSION 2
25#define BOND_ENSLAVE_OLD (SIOCDEVPRIVATE)
26#define BOND_RELEASE_OLD (SIOCDEVPRIVATE + 1)
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define BOND_SETHWADDR_OLD (SIOCDEVPRIVATE + 2)
28#define BOND_SLAVE_INFO_QUERY_OLD (SIOCDEVPRIVATE + 11)
29#define BOND_INFO_QUERY_OLD (SIOCDEVPRIVATE + 12)
30#define BOND_CHANGE_ACTIVE_OLD (SIOCDEVPRIVATE + 13)
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define BOND_CHECK_MII_STATUS (SIOCGMIIPHY)
32#define BOND_MODE_ROUNDROBIN 0
33#define BOND_MODE_ACTIVEBACKUP 1
34#define BOND_MODE_XOR 2
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define BOND_MODE_BROADCAST 3
36#define BOND_MODE_8023AD 4
37#define BOND_MODE_TLB 5
38#define BOND_MODE_ALB 6
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define BOND_LINK_UP 0
40#define BOND_LINK_FAIL 1
41#define BOND_LINK_DOWN 2
42#define BOND_LINK_BACK 3
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define BOND_STATE_ACTIVE 0
44#define BOND_STATE_BACKUP 1
45#define BOND_DEFAULT_MAX_BONDS 1
46#define BOND_DEFAULT_TX_QUEUES 16
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define BOND_DEFAULT_RESEND_IGMP 1
48#define BOND_XMIT_POLICY_LAYER2 0
49#define BOND_XMIT_POLICY_LAYER34 1
50#define BOND_XMIT_POLICY_LAYER23 2
Christopher Ferris38062f92014-07-09 15:33:25 -070051#define BOND_XMIT_POLICY_ENCAP23 3
52#define BOND_XMIT_POLICY_ENCAP34 4
Ben Cheng655a7c02013-10-16 16:09:24 -070053typedef struct ifbond {
Tao Baod7db5942015-01-28 10:07:51 -080054 __s32 bond_mode;
Tao Baod7db5942015-01-28 10:07:51 -080055 __s32 num_slaves;
56 __s32 miimon;
Ben Cheng655a7c02013-10-16 16:09:24 -070057} ifbond;
58typedef struct ifslave {
Tao Baod7db5942015-01-28 10:07:51 -080059 __s32 slave_id;
60 char slave_name[IFNAMSIZ];
61 __s8 link;
62 __s8 state;
Tao Baod7db5942015-01-28 10:07:51 -080063 __u32 link_failure_count;
Ben Cheng655a7c02013-10-16 16:09:24 -070064} ifslave;
Ben Cheng655a7c02013-10-16 16:09:24 -070065struct ad_info {
Tao Baod7db5942015-01-28 10:07:51 -080066 __u16 aggregator_id;
Tao Baod7db5942015-01-28 10:07:51 -080067 __u16 ports;
68 __u16 actor_key;
69 __u16 partner_key;
70 __u8 partner_system[ETH_ALEN];
Ben Cheng655a7c02013-10-16 16:09:24 -070071};
72#endif