blob: 304dcf3bec3f5594abd290dce9ca1ebcf3b5de57 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _LINUX_IF_BONDING_H
8#define _LINUX_IF_BONDING_H
9#include <linux/if.h>
10#include <linux/types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#include <linux/if_ether.h>
12#define BOND_ABI_VERSION 2
13#define BOND_ENSLAVE_OLD (SIOCDEVPRIVATE)
14#define BOND_RELEASE_OLD (SIOCDEVPRIVATE + 1)
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define BOND_SETHWADDR_OLD (SIOCDEVPRIVATE + 2)
16#define BOND_SLAVE_INFO_QUERY_OLD (SIOCDEVPRIVATE + 11)
17#define BOND_INFO_QUERY_OLD (SIOCDEVPRIVATE + 12)
18#define BOND_CHANGE_ACTIVE_OLD (SIOCDEVPRIVATE + 13)
Ben Cheng655a7c02013-10-16 16:09:24 -070019#define BOND_CHECK_MII_STATUS (SIOCGMIIPHY)
20#define BOND_MODE_ROUNDROBIN 0
21#define BOND_MODE_ACTIVEBACKUP 1
22#define BOND_MODE_XOR 2
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define BOND_MODE_BROADCAST 3
24#define BOND_MODE_8023AD 4
25#define BOND_MODE_TLB 5
26#define BOND_MODE_ALB 6
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define BOND_LINK_UP 0
28#define BOND_LINK_FAIL 1
29#define BOND_LINK_DOWN 2
30#define BOND_LINK_BACK 3
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define BOND_STATE_ACTIVE 0
32#define BOND_STATE_BACKUP 1
33#define BOND_DEFAULT_MAX_BONDS 1
34#define BOND_DEFAULT_TX_QUEUES 16
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define BOND_DEFAULT_RESEND_IGMP 1
36#define BOND_XMIT_POLICY_LAYER2 0
37#define BOND_XMIT_POLICY_LAYER34 1
38#define BOND_XMIT_POLICY_LAYER23 2
Christopher Ferris38062f92014-07-09 15:33:25 -070039#define BOND_XMIT_POLICY_ENCAP23 3
40#define BOND_XMIT_POLICY_ENCAP34 4
Christopher Ferrisa9750ed2021-05-03 14:02:49 -070041#define BOND_XMIT_POLICY_VLAN_SRCMAC 5
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070042#define LACP_STATE_LACP_ACTIVITY 0x1
43#define LACP_STATE_LACP_TIMEOUT 0x2
44#define LACP_STATE_AGGREGATION 0x4
45#define LACP_STATE_SYNCHRONIZATION 0x8
46#define LACP_STATE_COLLECTING 0x10
47#define LACP_STATE_DISTRIBUTING 0x20
48#define LACP_STATE_DEFAULTED 0x40
49#define LACP_STATE_EXPIRED 0x80
Ben Cheng655a7c02013-10-16 16:09:24 -070050typedef struct ifbond {
Tao Baod7db5942015-01-28 10:07:51 -080051 __s32 bond_mode;
Tao Baod7db5942015-01-28 10:07:51 -080052 __s32 num_slaves;
53 __s32 miimon;
Ben Cheng655a7c02013-10-16 16:09:24 -070054} ifbond;
55typedef struct ifslave {
Tao Baod7db5942015-01-28 10:07:51 -080056 __s32 slave_id;
57 char slave_name[IFNAMSIZ];
58 __s8 link;
59 __s8 state;
Tao Baod7db5942015-01-28 10:07:51 -080060 __u32 link_failure_count;
Ben Cheng655a7c02013-10-16 16:09:24 -070061} ifslave;
Ben Cheng655a7c02013-10-16 16:09:24 -070062struct ad_info {
Tao Baod7db5942015-01-28 10:07:51 -080063 __u16 aggregator_id;
Tao Baod7db5942015-01-28 10:07:51 -080064 __u16 ports;
65 __u16 actor_key;
66 __u16 partner_key;
67 __u8 partner_system[ETH_ALEN];
Ben Cheng655a7c02013-10-16 16:09:24 -070068};
Christopher Ferris24f97eb2019-05-20 12:58:13 -070069enum {
70 BOND_XSTATS_UNSPEC,
71 BOND_XSTATS_3AD,
72 __BOND_XSTATS_MAX
73};
74#define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1)
75enum {
76 BOND_3AD_STAT_LACPDU_RX,
77 BOND_3AD_STAT_LACPDU_TX,
78 BOND_3AD_STAT_LACPDU_UNKNOWN_RX,
79 BOND_3AD_STAT_LACPDU_ILLEGAL_RX,
80 BOND_3AD_STAT_MARKER_RX,
81 BOND_3AD_STAT_MARKER_TX,
82 BOND_3AD_STAT_MARKER_RESP_RX,
83 BOND_3AD_STAT_MARKER_RESP_TX,
84 BOND_3AD_STAT_MARKER_UNKNOWN_RX,
85 BOND_3AD_STAT_PAD,
86 __BOND_3AD_STAT_MAX
87};
88#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
Ben Cheng655a7c02013-10-16 16:09:24 -070089#endif