1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44#ifndef _LINUX_IF_BONDING_H
45#define _LINUX_IF_BONDING_H
46
47#include <linux/if.h>
48#include <linux/types.h>
49#include <linux/if_ether.h>
50
51
52#define BOND_ABI_VERSION 2
53
54
55
56
57
58#define BOND_ENSLAVE_OLD (SIOCDEVPRIVATE)
59#define BOND_RELEASE_OLD (SIOCDEVPRIVATE + 1)
60#define BOND_SETHWADDR_OLD (SIOCDEVPRIVATE + 2)
61#define BOND_SLAVE_INFO_QUERY_OLD (SIOCDEVPRIVATE + 11)
62#define BOND_INFO_QUERY_OLD (SIOCDEVPRIVATE + 12)
63#define BOND_CHANGE_ACTIVE_OLD (SIOCDEVPRIVATE + 13)
64
65#define BOND_CHECK_MII_STATUS (SIOCGMIIPHY)
66
67#define BOND_MODE_ROUNDROBIN 0
68#define BOND_MODE_ACTIVEBACKUP 1
69#define BOND_MODE_XOR 2
70#define BOND_MODE_BROADCAST 3
71#define BOND_MODE_8023AD 4
72#define BOND_MODE_TLB 5
73#define BOND_MODE_ALB 6
74
75
76#define BOND_LINK_UP 0
77#define BOND_LINK_FAIL 1
78#define BOND_LINK_DOWN 2
79#define BOND_LINK_BACK 3
80
81
82#define BOND_STATE_ACTIVE 0
83#define BOND_STATE_BACKUP 1
84
85#define BOND_DEFAULT_MAX_BONDS 1
86
87#define BOND_DEFAULT_TX_QUEUES 16
88
89#define BOND_DEFAULT_RESEND_IGMP 1
90
91
92#define BOND_XMIT_POLICY_LAYER2 0
93#define BOND_XMIT_POLICY_LAYER34 1
94#define BOND_XMIT_POLICY_LAYER23 2
95#define BOND_XMIT_POLICY_ENCAP23 3
96#define BOND_XMIT_POLICY_ENCAP34 4
97#define BOND_XMIT_POLICY_VLAN_SRCMAC 5
98
99
100#define LACP_STATE_LACP_ACTIVITY 0x1
101#define LACP_STATE_LACP_TIMEOUT 0x2
102#define LACP_STATE_AGGREGATION 0x4
103#define LACP_STATE_SYNCHRONIZATION 0x8
104#define LACP_STATE_COLLECTING 0x10
105#define LACP_STATE_DISTRIBUTING 0x20
106#define LACP_STATE_DEFAULTED 0x40
107#define LACP_STATE_EXPIRED 0x80
108
109typedef struct ifbond {
110 __s32 bond_mode;
111 __s32 num_slaves;
112 __s32 miimon;
113} ifbond;
114
115typedef struct ifslave {
116 __s32 slave_id;
117 char slave_name[IFNAMSIZ];
118 __s8 link;
119 __s8 state;
120 __u32 link_failure_count;
121} ifslave;
122
123struct ad_info {
124 __u16 aggregator_id;
125 __u16 ports;
126 __u16 actor_key;
127 __u16 partner_key;
128 __u8 partner_system[ETH_ALEN];
129};
130
131
132enum {
133 BOND_XSTATS_UNSPEC,
134 BOND_XSTATS_3AD,
135 __BOND_XSTATS_MAX
136};
137#define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1)
138
139
140enum {
141 BOND_3AD_STAT_LACPDU_RX,
142 BOND_3AD_STAT_LACPDU_TX,
143 BOND_3AD_STAT_LACPDU_UNKNOWN_RX,
144 BOND_3AD_STAT_LACPDU_ILLEGAL_RX,
145 BOND_3AD_STAT_MARKER_RX,
146 BOND_3AD_STAT_MARKER_TX,
147 BOND_3AD_STAT_MARKER_RESP_RX,
148 BOND_3AD_STAT_MARKER_RESP_TX,
149 BOND_3AD_STAT_MARKER_UNKNOWN_RX,
150 BOND_3AD_STAT_PAD,
151 __BOND_3AD_STAT_MAX
152};
153#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
154
155#endif
156