diff options
Diffstat (limited to 'include/linux/if_link.h')
| -rw-r--r-- | include/linux/if_link.h | 87 |
1 files changed, 69 insertions, 18 deletions
diff --git a/include/linux/if_link.h b/include/linux/if_link.h index 176c5182c515..d94963b379d9 100644 --- a/include/linux/if_link.h +++ b/include/linux/if_link.h | |||
| @@ -5,8 +5,7 @@ | |||
| 5 | #include <linux/netlink.h> | 5 | #include <linux/netlink.h> |
| 6 | 6 | ||
| 7 | /* The struct should be in sync with struct net_device_stats */ | 7 | /* The struct should be in sync with struct net_device_stats */ |
| 8 | struct rtnl_link_stats | 8 | struct rtnl_link_stats { |
| 9 | { | ||
| 10 | __u32 rx_packets; /* total packets received */ | 9 | __u32 rx_packets; /* total packets received */ |
| 11 | __u32 tx_packets; /* total packets transmitted */ | 10 | __u32 tx_packets; /* total packets transmitted */ |
| 12 | __u32 rx_bytes; /* total bytes received */ | 11 | __u32 rx_bytes; /* total bytes received */ |
| @@ -39,8 +38,7 @@ struct rtnl_link_stats | |||
| 39 | }; | 38 | }; |
| 40 | 39 | ||
| 41 | /* The struct should be in sync with struct ifmap */ | 40 | /* The struct should be in sync with struct ifmap */ |
| 42 | struct rtnl_link_ifmap | 41 | struct rtnl_link_ifmap { |
| 43 | { | ||
| 44 | __u64 mem_start; | 42 | __u64 mem_start; |
| 45 | __u64 mem_end; | 43 | __u64 mem_end; |
| 46 | __u64 base_addr; | 44 | __u64 base_addr; |
| @@ -49,8 +47,7 @@ struct rtnl_link_ifmap | |||
| 49 | __u8 port; | 47 | __u8 port; |
| 50 | }; | 48 | }; |
| 51 | 49 | ||
| 52 | enum | 50 | enum { |
| 53 | { | ||
| 54 | IFLA_UNSPEC, | 51 | IFLA_UNSPEC, |
| 55 | IFLA_ADDRESS, | 52 | IFLA_ADDRESS, |
| 56 | IFLA_BROADCAST, | 53 | IFLA_BROADCAST, |
| @@ -81,6 +78,8 @@ enum | |||
| 81 | #define IFLA_LINKINFO IFLA_LINKINFO | 78 | #define IFLA_LINKINFO IFLA_LINKINFO |
| 82 | IFLA_NET_NS_PID, | 79 | IFLA_NET_NS_PID, |
| 83 | IFLA_IFALIAS, | 80 | IFLA_IFALIAS, |
| 81 | IFLA_NUM_VF, /* Number of VFs if device is SR-IOV PF */ | ||
| 82 | IFLA_VFINFO_LIST, | ||
| 84 | __IFLA_MAX | 83 | __IFLA_MAX |
| 85 | }; | 84 | }; |
| 86 | 85 | ||
| @@ -123,8 +122,7 @@ enum | |||
| 123 | */ | 122 | */ |
| 124 | 123 | ||
| 125 | /* Subtype attributes for IFLA_PROTINFO */ | 124 | /* Subtype attributes for IFLA_PROTINFO */ |
| 126 | enum | 125 | enum { |
| 127 | { | ||
| 128 | IFLA_INET6_UNSPEC, | 126 | IFLA_INET6_UNSPEC, |
| 129 | IFLA_INET6_FLAGS, /* link flags */ | 127 | IFLA_INET6_FLAGS, /* link flags */ |
| 130 | IFLA_INET6_CONF, /* sysctl parameters */ | 128 | IFLA_INET6_CONF, /* sysctl parameters */ |
| @@ -137,16 +135,14 @@ enum | |||
| 137 | 135 | ||
| 138 | #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) | 136 | #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) |
| 139 | 137 | ||
| 140 | struct ifla_cacheinfo | 138 | struct ifla_cacheinfo { |
| 141 | { | ||
| 142 | __u32 max_reasm_len; | 139 | __u32 max_reasm_len; |
| 143 | __u32 tstamp; /* ipv6InterfaceTable updated timestamp */ | 140 | __u32 tstamp; /* ipv6InterfaceTable updated timestamp */ |
| 144 | __u32 reachable_time; | 141 | __u32 reachable_time; |
| 145 | __u32 retrans_time; | 142 | __u32 retrans_time; |
| 146 | }; | 143 | }; |
| 147 | 144 | ||
| 148 | enum | 145 | enum { |
| 149 | { | ||
| 150 | IFLA_INFO_UNSPEC, | 146 | IFLA_INFO_UNSPEC, |
| 151 | IFLA_INFO_KIND, | 147 | IFLA_INFO_KIND, |
| 152 | IFLA_INFO_DATA, | 148 | IFLA_INFO_DATA, |
| @@ -158,8 +154,7 @@ enum | |||
| 158 | 154 | ||
| 159 | /* VLAN section */ | 155 | /* VLAN section */ |
| 160 | 156 | ||
| 161 | enum | 157 | enum { |
| 162 | { | ||
| 163 | IFLA_VLAN_UNSPEC, | 158 | IFLA_VLAN_UNSPEC, |
| 164 | IFLA_VLAN_ID, | 159 | IFLA_VLAN_ID, |
| 165 | IFLA_VLAN_FLAGS, | 160 | IFLA_VLAN_FLAGS, |
| @@ -175,8 +170,7 @@ struct ifla_vlan_flags { | |||
| 175 | __u32 mask; | 170 | __u32 mask; |
| 176 | }; | 171 | }; |
| 177 | 172 | ||
| 178 | enum | 173 | enum { |
| 179 | { | ||
| 180 | IFLA_VLAN_QOS_UNSPEC, | 174 | IFLA_VLAN_QOS_UNSPEC, |
| 181 | IFLA_VLAN_QOS_MAPPING, | 175 | IFLA_VLAN_QOS_MAPPING, |
| 182 | __IFLA_VLAN_QOS_MAX | 176 | __IFLA_VLAN_QOS_MAX |
| @@ -184,10 +178,67 @@ enum | |||
| 184 | 178 | ||
| 185 | #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1) | 179 | #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1) |
| 186 | 180 | ||
| 187 | struct ifla_vlan_qos_mapping | 181 | struct ifla_vlan_qos_mapping { |
| 188 | { | ||
| 189 | __u32 from; | 182 | __u32 from; |
| 190 | __u32 to; | 183 | __u32 to; |
| 191 | }; | 184 | }; |
| 192 | 185 | ||
| 186 | /* MACVLAN section */ | ||
| 187 | enum { | ||
| 188 | IFLA_MACVLAN_UNSPEC, | ||
| 189 | IFLA_MACVLAN_MODE, | ||
| 190 | __IFLA_MACVLAN_MAX, | ||
| 191 | }; | ||
| 192 | |||
| 193 | #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1) | ||
| 194 | |||
| 195 | enum macvlan_mode { | ||
| 196 | MACVLAN_MODE_PRIVATE = 1, /* don't talk to other macvlans */ | ||
| 197 | MACVLAN_MODE_VEPA = 2, /* talk to other ports through ext bridge */ | ||
| 198 | MACVLAN_MODE_BRIDGE = 4, /* talk to bridge ports directly */ | ||
| 199 | }; | ||
| 200 | |||
| 201 | /* SR-IOV virtual function managment section */ | ||
| 202 | |||
| 203 | enum { | ||
| 204 | IFLA_VF_INFO_UNSPEC, | ||
| 205 | IFLA_VF_INFO, | ||
| 206 | __IFLA_VF_INFO_MAX, | ||
| 207 | }; | ||
| 208 | |||
| 209 | #define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1) | ||
| 210 | |||
| 211 | enum { | ||
| 212 | IFLA_VF_UNSPEC, | ||
| 213 | IFLA_VF_MAC, /* Hardware queue specific attributes */ | ||
| 214 | IFLA_VF_VLAN, | ||
| 215 | IFLA_VF_TX_RATE, /* TX Bandwidth Allocation */ | ||
| 216 | __IFLA_VF_MAX, | ||
| 217 | }; | ||
| 218 | |||
| 219 | #define IFLA_VF_MAX (__IFLA_VF_MAX - 1) | ||
| 220 | |||
| 221 | struct ifla_vf_mac { | ||
| 222 | __u32 vf; | ||
| 223 | __u8 mac[32]; /* MAX_ADDR_LEN */ | ||
| 224 | }; | ||
| 225 | |||
| 226 | struct ifla_vf_vlan { | ||
| 227 | __u32 vf; | ||
| 228 | __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */ | ||
| 229 | __u32 qos; | ||
| 230 | }; | ||
| 231 | |||
| 232 | struct ifla_vf_tx_rate { | ||
| 233 | __u32 vf; | ||
| 234 | __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */ | ||
| 235 | }; | ||
| 236 | |||
| 237 | struct ifla_vf_info { | ||
| 238 | __u32 vf; | ||
| 239 | __u8 mac[32]; | ||
| 240 | __u32 vlan; | ||
| 241 | __u32 qos; | ||
| 242 | __u32 tx_rate; | ||
| 243 | }; | ||
| 193 | #endif /* _LINUX_IF_LINK_H */ | 244 | #endif /* _LINUX_IF_LINK_H */ |
