• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
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>
23 #include <linux/if_ether.h>
24 #define BOND_ABI_VERSION 2
25 #define BOND_ENSLAVE_OLD (SIOCDEVPRIVATE)
26 #define BOND_RELEASE_OLD (SIOCDEVPRIVATE + 1)
27 #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)
31 #define BOND_CHECK_MII_STATUS (SIOCGMIIPHY)
32 #define BOND_MODE_ROUNDROBIN 0
33 #define BOND_MODE_ACTIVEBACKUP 1
34 #define BOND_MODE_XOR 2
35 #define BOND_MODE_BROADCAST 3
36 #define BOND_MODE_8023AD 4
37 #define BOND_MODE_TLB 5
38 #define BOND_MODE_ALB 6
39 #define BOND_LINK_UP 0
40 #define BOND_LINK_FAIL 1
41 #define BOND_LINK_DOWN 2
42 #define BOND_LINK_BACK 3
43 #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
47 #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
51 #define BOND_XMIT_POLICY_ENCAP23 3
52 #define BOND_XMIT_POLICY_ENCAP34 4
53 #define BOND_XMIT_POLICY_VLAN_SRCMAC 5
54 #define LACP_STATE_LACP_ACTIVITY 0x1
55 #define LACP_STATE_LACP_TIMEOUT 0x2
56 #define LACP_STATE_AGGREGATION 0x4
57 #define LACP_STATE_SYNCHRONIZATION 0x8
58 #define LACP_STATE_COLLECTING 0x10
59 #define LACP_STATE_DISTRIBUTING 0x20
60 #define LACP_STATE_DEFAULTED 0x40
61 #define LACP_STATE_EXPIRED 0x80
62 typedef struct ifbond {
63   __s32 bond_mode;
64   __s32 num_slaves;
65   __s32 miimon;
66 } ifbond;
67 typedef struct ifslave {
68   __s32 slave_id;
69   char slave_name[IFNAMSIZ];
70   __s8 link;
71   __s8 state;
72   __u32 link_failure_count;
73 } ifslave;
74 struct ad_info {
75   __u16 aggregator_id;
76   __u16 ports;
77   __u16 actor_key;
78   __u16 partner_key;
79   __u8 partner_system[ETH_ALEN];
80 };
81 enum {
82   BOND_XSTATS_UNSPEC,
83   BOND_XSTATS_3AD,
84   __BOND_XSTATS_MAX
85 };
86 #define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1)
87 enum {
88   BOND_3AD_STAT_LACPDU_RX,
89   BOND_3AD_STAT_LACPDU_TX,
90   BOND_3AD_STAT_LACPDU_UNKNOWN_RX,
91   BOND_3AD_STAT_LACPDU_ILLEGAL_RX,
92   BOND_3AD_STAT_MARKER_RX,
93   BOND_3AD_STAT_MARKER_TX,
94   BOND_3AD_STAT_MARKER_RESP_RX,
95   BOND_3AD_STAT_MARKER_RESP_TX,
96   BOND_3AD_STAT_MARKER_UNKNOWN_RX,
97   BOND_3AD_STAT_PAD,
98   __BOND_3AD_STAT_MAX
99 };
100 #define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
101 #endif
102