diff options
Diffstat (limited to 'include/uapi/linux')
25 files changed, 529 insertions, 24 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 19e765fbfef7..4e67194fd2c3 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -258,6 +258,7 @@ header-y += neighbour.h | |||
| 258 | header-y += net.h | 258 | header-y += net.h |
| 259 | header-y += net_dropmon.h | 259 | header-y += net_dropmon.h |
| 260 | header-y += net_tstamp.h | 260 | header-y += net_tstamp.h |
| 261 | header-y += netconf.h | ||
| 261 | header-y += netdevice.h | 262 | header-y += netdevice.h |
| 262 | header-y += netfilter.h | 263 | header-y += netfilter.h |
| 263 | header-y += netfilter_arp.h | 264 | header-y += netfilter_arp.h |
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index d3eaaaf1009e..be8c41e2dc15 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h | |||
| @@ -500,13 +500,15 @@ union ethtool_flow_union { | |||
| 500 | struct ethtool_ah_espip4_spec esp_ip4_spec; | 500 | struct ethtool_ah_espip4_spec esp_ip4_spec; |
| 501 | struct ethtool_usrip4_spec usr_ip4_spec; | 501 | struct ethtool_usrip4_spec usr_ip4_spec; |
| 502 | struct ethhdr ether_spec; | 502 | struct ethhdr ether_spec; |
| 503 | __u8 hdata[60]; | 503 | __u8 hdata[52]; |
| 504 | }; | 504 | }; |
| 505 | 505 | ||
| 506 | struct ethtool_flow_ext { | 506 | struct ethtool_flow_ext { |
| 507 | __be16 vlan_etype; | 507 | __u8 padding[2]; |
| 508 | __be16 vlan_tci; | 508 | unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ |
| 509 | __be32 data[2]; | 509 | __be16 vlan_etype; |
| 510 | __be16 vlan_tci; | ||
| 511 | __be32 data[2]; | ||
| 510 | }; | 512 | }; |
| 511 | 513 | ||
| 512 | /** | 514 | /** |
| @@ -1027,6 +1029,7 @@ enum ethtool_sfeatures_retval_bits { | |||
| 1027 | #define ETHER_FLOW 0x12 /* spec only (ether_spec) */ | 1029 | #define ETHER_FLOW 0x12 /* spec only (ether_spec) */ |
| 1028 | /* Flag to enable additional fields in struct ethtool_rx_flow_spec */ | 1030 | /* Flag to enable additional fields in struct ethtool_rx_flow_spec */ |
| 1029 | #define FLOW_EXT 0x80000000 | 1031 | #define FLOW_EXT 0x80000000 |
| 1032 | #define FLOW_MAC_EXT 0x40000000 | ||
| 1030 | 1033 | ||
| 1031 | /* L3-L4 network traffic flow hash options */ | 1034 | /* L3-L4 network traffic flow hash options */ |
| 1032 | #define RXH_L2DA (1 << 1) | 1035 | #define RXH_L2DA (1 << 1) |
diff --git a/include/uapi/linux/filter.h b/include/uapi/linux/filter.h index 3d7922433aba..9cfde6941099 100644 --- a/include/uapi/linux/filter.h +++ b/include/uapi/linux/filter.h | |||
| @@ -127,7 +127,9 @@ struct sock_fprog { /* Required for SO_ATTACH_FILTER. */ | |||
| 127 | #define SKF_AD_RXHASH 32 | 127 | #define SKF_AD_RXHASH 32 |
| 128 | #define SKF_AD_CPU 36 | 128 | #define SKF_AD_CPU 36 |
| 129 | #define SKF_AD_ALU_XOR_X 40 | 129 | #define SKF_AD_ALU_XOR_X 40 |
| 130 | #define SKF_AD_MAX 44 | 130 | #define SKF_AD_VLAN_TAG 44 |
| 131 | #define SKF_AD_VLAN_TAG_PRESENT 48 | ||
| 132 | #define SKF_AD_MAX 52 | ||
| 131 | #define SKF_NET_OFF (-0x100000) | 133 | #define SKF_NET_OFF (-0x100000) |
| 132 | #define SKF_LL_OFF (-0x200000) | 134 | #define SKF_LL_OFF (-0x200000) |
| 133 | 135 | ||
diff --git a/include/uapi/linux/hdlc/Kbuild b/include/uapi/linux/hdlc/Kbuild index aafaa5aa54d4..8c1d2cb75e33 100644 --- a/include/uapi/linux/hdlc/Kbuild +++ b/include/uapi/linux/hdlc/Kbuild | |||
| @@ -1 +1,2 @@ | |||
| 1 | # UAPI Header export list | 1 | # UAPI Header export list |
| 2 | header-y += ioctl.h | ||
diff --git a/include/uapi/linux/hdlc/ioctl.h b/include/uapi/linux/hdlc/ioctl.h new file mode 100644 index 000000000000..04bc0274a189 --- /dev/null +++ b/include/uapi/linux/hdlc/ioctl.h | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | #ifndef __HDLC_IOCTL_H__ | ||
| 2 | #define __HDLC_IOCTL_H__ | ||
| 3 | |||
| 4 | |||
| 5 | #define GENERIC_HDLC_VERSION 4 /* For synchronization with sethdlc utility */ | ||
| 6 | |||
| 7 | #define CLOCK_DEFAULT 0 /* Default setting */ | ||
| 8 | #define CLOCK_EXT 1 /* External TX and RX clock - DTE */ | ||
| 9 | #define CLOCK_INT 2 /* Internal TX and RX clock - DCE */ | ||
| 10 | #define CLOCK_TXINT 3 /* Internal TX and external RX clock */ | ||
| 11 | #define CLOCK_TXFROMRX 4 /* TX clock derived from external RX clock */ | ||
| 12 | |||
| 13 | |||
| 14 | #define ENCODING_DEFAULT 0 /* Default setting */ | ||
| 15 | #define ENCODING_NRZ 1 | ||
| 16 | #define ENCODING_NRZI 2 | ||
| 17 | #define ENCODING_FM_MARK 3 | ||
| 18 | #define ENCODING_FM_SPACE 4 | ||
| 19 | #define ENCODING_MANCHESTER 5 | ||
| 20 | |||
| 21 | |||
| 22 | #define PARITY_DEFAULT 0 /* Default setting */ | ||
| 23 | #define PARITY_NONE 1 /* No parity */ | ||
| 24 | #define PARITY_CRC16_PR0 2 /* CRC16, initial value 0x0000 */ | ||
| 25 | #define PARITY_CRC16_PR1 3 /* CRC16, initial value 0xFFFF */ | ||
| 26 | #define PARITY_CRC16_PR0_CCITT 4 /* CRC16, initial 0x0000, ITU-T version */ | ||
| 27 | #define PARITY_CRC16_PR1_CCITT 5 /* CRC16, initial 0xFFFF, ITU-T version */ | ||
| 28 | #define PARITY_CRC32_PR0_CCITT 6 /* CRC32, initial value 0x00000000 */ | ||
| 29 | #define PARITY_CRC32_PR1_CCITT 7 /* CRC32, initial value 0xFFFFFFFF */ | ||
| 30 | |||
| 31 | #define LMI_DEFAULT 0 /* Default setting */ | ||
| 32 | #define LMI_NONE 1 /* No LMI, all PVCs are static */ | ||
| 33 | #define LMI_ANSI 2 /* ANSI Annex D */ | ||
| 34 | #define LMI_CCITT 3 /* ITU-T Annex A */ | ||
| 35 | #define LMI_CISCO 4 /* The "original" LMI, aka Gang of Four */ | ||
| 36 | |||
| 37 | #ifndef __ASSEMBLY__ | ||
| 38 | |||
| 39 | typedef struct { | ||
| 40 | unsigned int clock_rate; /* bits per second */ | ||
| 41 | unsigned int clock_type; /* internal, external, TX-internal etc. */ | ||
| 42 | unsigned short loopback; | ||
| 43 | } sync_serial_settings; /* V.35, V.24, X.21 */ | ||
| 44 | |||
| 45 | typedef struct { | ||
| 46 | unsigned int clock_rate; /* bits per second */ | ||
| 47 | unsigned int clock_type; /* internal, external, TX-internal etc. */ | ||
| 48 | unsigned short loopback; | ||
| 49 | unsigned int slot_map; | ||
| 50 | } te1_settings; /* T1, E1 */ | ||
| 51 | |||
| 52 | typedef struct { | ||
| 53 | unsigned short encoding; | ||
| 54 | unsigned short parity; | ||
| 55 | } raw_hdlc_proto; | ||
| 56 | |||
| 57 | typedef struct { | ||
| 58 | unsigned int t391; | ||
| 59 | unsigned int t392; | ||
| 60 | unsigned int n391; | ||
| 61 | unsigned int n392; | ||
| 62 | unsigned int n393; | ||
| 63 | unsigned short lmi; | ||
| 64 | unsigned short dce; /* 1 for DCE (network side) operation */ | ||
| 65 | } fr_proto; | ||
| 66 | |||
| 67 | typedef struct { | ||
| 68 | unsigned int dlci; | ||
| 69 | } fr_proto_pvc; /* for creating/deleting FR PVCs */ | ||
| 70 | |||
| 71 | typedef struct { | ||
| 72 | unsigned int dlci; | ||
| 73 | char master[IFNAMSIZ]; /* Name of master FRAD device */ | ||
| 74 | }fr_proto_pvc_info; /* for returning PVC information only */ | ||
| 75 | |||
| 76 | typedef struct { | ||
| 77 | unsigned int interval; | ||
| 78 | unsigned int timeout; | ||
| 79 | } cisco_proto; | ||
| 80 | |||
| 81 | /* PPP doesn't need any info now - supply length = 0 to ioctl */ | ||
| 82 | |||
| 83 | #endif /* __ASSEMBLY__ */ | ||
| 84 | #endif /* __HDLC_IOCTL_H__ */ | ||
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h index a8fe9549ddbc..afbb18a0227c 100644 --- a/include/uapi/linux/if_bridge.h +++ b/include/uapi/linux/if_bridge.h | |||
| @@ -97,5 +97,86 @@ struct __fdb_entry { | |||
| 97 | __u16 unused; | 97 | __u16 unused; |
| 98 | }; | 98 | }; |
| 99 | 99 | ||
| 100 | /* Bridge Flags */ | ||
| 101 | #define BRIDGE_FLAGS_MASTER 1 /* Bridge command to/from master */ | ||
| 102 | #define BRIDGE_FLAGS_SELF 2 /* Bridge command to/from lowerdev */ | ||
| 103 | |||
| 104 | #define BRIDGE_MODE_VEB 0 /* Default loopback mode */ | ||
| 105 | #define BRIDGE_MODE_VEPA 1 /* 802.1Qbg defined VEPA mode */ | ||
| 106 | |||
| 107 | /* Bridge management nested attributes | ||
| 108 | * [IFLA_AF_SPEC] = { | ||
| 109 | * [IFLA_BRIDGE_FLAGS] | ||
| 110 | * [IFLA_BRIDGE_MODE] | ||
| 111 | * } | ||
| 112 | */ | ||
| 113 | enum { | ||
| 114 | IFLA_BRIDGE_FLAGS, | ||
| 115 | IFLA_BRIDGE_MODE, | ||
| 116 | __IFLA_BRIDGE_MAX, | ||
| 117 | }; | ||
| 118 | #define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1) | ||
| 119 | |||
| 120 | /* Bridge multicast database attributes | ||
| 121 | * [MDBA_MDB] = { | ||
| 122 | * [MDBA_MDB_ENTRY] = { | ||
| 123 | * [MDBA_MDB_ENTRY_INFO] | ||
| 124 | * } | ||
| 125 | * } | ||
| 126 | * [MDBA_ROUTER] = { | ||
| 127 | * [MDBA_ROUTER_PORT] | ||
| 128 | * } | ||
| 129 | */ | ||
| 130 | enum { | ||
| 131 | MDBA_UNSPEC, | ||
| 132 | MDBA_MDB, | ||
| 133 | MDBA_ROUTER, | ||
| 134 | __MDBA_MAX, | ||
| 135 | }; | ||
| 136 | #define MDBA_MAX (__MDBA_MAX - 1) | ||
| 137 | |||
| 138 | enum { | ||
| 139 | MDBA_MDB_UNSPEC, | ||
| 140 | MDBA_MDB_ENTRY, | ||
| 141 | __MDBA_MDB_MAX, | ||
| 142 | }; | ||
| 143 | #define MDBA_MDB_MAX (__MDBA_MDB_MAX - 1) | ||
| 144 | |||
| 145 | enum { | ||
| 146 | MDBA_MDB_ENTRY_UNSPEC, | ||
| 147 | MDBA_MDB_ENTRY_INFO, | ||
| 148 | __MDBA_MDB_ENTRY_MAX, | ||
| 149 | }; | ||
| 150 | #define MDBA_MDB_ENTRY_MAX (__MDBA_MDB_ENTRY_MAX - 1) | ||
| 151 | |||
| 152 | enum { | ||
| 153 | MDBA_ROUTER_UNSPEC, | ||
| 154 | MDBA_ROUTER_PORT, | ||
| 155 | __MDBA_ROUTER_MAX, | ||
| 156 | }; | ||
| 157 | #define MDBA_ROUTER_MAX (__MDBA_ROUTER_MAX - 1) | ||
| 158 | |||
| 159 | struct br_port_msg { | ||
| 160 | __u8 family; | ||
| 161 | __u32 ifindex; | ||
| 162 | }; | ||
| 163 | |||
| 164 | struct br_mdb_entry { | ||
| 165 | __u32 ifindex; | ||
| 166 | struct { | ||
| 167 | union { | ||
| 168 | __be32 ip4; | ||
| 169 | struct in6_addr ip6; | ||
| 170 | } u; | ||
| 171 | __be16 proto; | ||
| 172 | } addr; | ||
| 173 | }; | ||
| 174 | |||
| 175 | enum { | ||
| 176 | MDBA_SET_ENTRY_UNSPEC, | ||
| 177 | MDBA_SET_ENTRY, | ||
| 178 | __MDBA_SET_ENTRY_MAX, | ||
| 179 | }; | ||
| 180 | #define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1) | ||
| 100 | 181 | ||
| 101 | #endif /* _UAPI_LINUX_IF_BRIDGE_H */ | 182 | #endif /* _UAPI_LINUX_IF_BRIDGE_H */ |
diff --git a/include/uapi/linux/if_ether.h b/include/uapi/linux/if_ether.h index 0343e1f0582c..67fb87ca1094 100644 --- a/include/uapi/linux/if_ether.h +++ b/include/uapi/linux/if_ether.h | |||
| @@ -48,6 +48,7 @@ | |||
| 48 | #define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */ | 48 | #define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */ |
| 49 | #define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */ | 49 | #define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */ |
| 50 | #define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */ | 50 | #define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */ |
| 51 | #define ETH_P_BATMAN 0x4305 /* B.A.T.M.A.N.-Advanced packet [ NOT AN OFFICIALLY REGISTERED ID ] */ | ||
| 51 | #define ETH_P_DEC 0x6000 /* DEC Assigned proto */ | 52 | #define ETH_P_DEC 0x6000 /* DEC Assigned proto */ |
| 52 | #define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */ | 53 | #define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */ |
| 53 | #define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */ | 54 | #define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */ |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 5c80cb11518b..60f3b6b90602 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -205,6 +205,24 @@ enum { | |||
| 205 | 205 | ||
| 206 | #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) | 206 | #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) |
| 207 | 207 | ||
| 208 | enum { | ||
| 209 | BRIDGE_MODE_UNSPEC, | ||
| 210 | BRIDGE_MODE_HAIRPIN, | ||
| 211 | }; | ||
| 212 | |||
| 213 | enum { | ||
| 214 | IFLA_BRPORT_UNSPEC, | ||
| 215 | IFLA_BRPORT_STATE, /* Spanning tree state */ | ||
| 216 | IFLA_BRPORT_PRIORITY, /* " priority */ | ||
| 217 | IFLA_BRPORT_COST, /* " cost */ | ||
| 218 | IFLA_BRPORT_MODE, /* mode (hairpin) */ | ||
| 219 | IFLA_BRPORT_GUARD, /* bpdu guard */ | ||
| 220 | IFLA_BRPORT_PROTECT, /* root port protection */ | ||
| 221 | IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave */ | ||
| 222 | __IFLA_BRPORT_MAX | ||
| 223 | }; | ||
| 224 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) | ||
| 225 | |||
| 208 | struct ifla_cacheinfo { | 226 | struct ifla_cacheinfo { |
| 209 | __u32 max_reasm_len; | 227 | __u32 max_reasm_len; |
| 210 | __u32 tstamp; /* ipv6InterfaceTable updated timestamp */ | 228 | __u32 tstamp; /* ipv6InterfaceTable updated timestamp */ |
| @@ -285,6 +303,10 @@ enum { | |||
| 285 | IFLA_VXLAN_AGEING, | 303 | IFLA_VXLAN_AGEING, |
| 286 | IFLA_VXLAN_LIMIT, | 304 | IFLA_VXLAN_LIMIT, |
| 287 | IFLA_VXLAN_PORT_RANGE, | 305 | IFLA_VXLAN_PORT_RANGE, |
| 306 | IFLA_VXLAN_PROXY, | ||
| 307 | IFLA_VXLAN_RSC, | ||
| 308 | IFLA_VXLAN_L2MISS, | ||
| 309 | IFLA_VXLAN_L3MISS, | ||
| 288 | __IFLA_VXLAN_MAX | 310 | __IFLA_VXLAN_MAX |
| 289 | }; | 311 | }; |
| 290 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) | 312 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) |
diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h index f3799295d231..f9a60375f0d0 100644 --- a/include/uapi/linux/if_packet.h +++ b/include/uapi/linux/if_packet.h | |||
| @@ -50,6 +50,7 @@ struct sockaddr_ll { | |||
| 50 | #define PACKET_TX_TIMESTAMP 16 | 50 | #define PACKET_TX_TIMESTAMP 16 |
| 51 | #define PACKET_TIMESTAMP 17 | 51 | #define PACKET_TIMESTAMP 17 |
| 52 | #define PACKET_FANOUT 18 | 52 | #define PACKET_FANOUT 18 |
| 53 | #define PACKET_TX_HAS_OFF 19 | ||
| 53 | 54 | ||
| 54 | #define PACKET_FANOUT_HASH 0 | 55 | #define PACKET_FANOUT_HASH 0 |
| 55 | #define PACKET_FANOUT_LB 1 | 56 | #define PACKET_FANOUT_LB 1 |
diff --git a/include/uapi/linux/if_tun.h b/include/uapi/linux/if_tun.h index 25a585ce23e6..2835b85fd46d 100644 --- a/include/uapi/linux/if_tun.h +++ b/include/uapi/linux/if_tun.h | |||
| @@ -31,9 +31,11 @@ | |||
| 31 | #define TUN_FASYNC 0x0010 | 31 | #define TUN_FASYNC 0x0010 |
| 32 | #define TUN_NOCHECKSUM 0x0020 | 32 | #define TUN_NOCHECKSUM 0x0020 |
| 33 | #define TUN_NO_PI 0x0040 | 33 | #define TUN_NO_PI 0x0040 |
| 34 | /* This flag has no real effect */ | ||
| 34 | #define TUN_ONE_QUEUE 0x0080 | 35 | #define TUN_ONE_QUEUE 0x0080 |
| 35 | #define TUN_PERSIST 0x0100 | 36 | #define TUN_PERSIST 0x0100 |
| 36 | #define TUN_VNET_HDR 0x0200 | 37 | #define TUN_VNET_HDR 0x0200 |
| 38 | #define TUN_TAP_MQ 0x0400 | ||
| 37 | 39 | ||
| 38 | /* Ioctl defines */ | 40 | /* Ioctl defines */ |
| 39 | #define TUNSETNOCSUM _IOW('T', 200, int) | 41 | #define TUNSETNOCSUM _IOW('T', 200, int) |
| @@ -53,14 +55,19 @@ | |||
| 53 | #define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog) | 55 | #define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog) |
| 54 | #define TUNGETVNETHDRSZ _IOR('T', 215, int) | 56 | #define TUNGETVNETHDRSZ _IOR('T', 215, int) |
| 55 | #define TUNSETVNETHDRSZ _IOW('T', 216, int) | 57 | #define TUNSETVNETHDRSZ _IOW('T', 216, int) |
| 58 | #define TUNSETQUEUE _IOW('T', 217, int) | ||
| 56 | 59 | ||
| 57 | /* TUNSETIFF ifr flags */ | 60 | /* TUNSETIFF ifr flags */ |
| 58 | #define IFF_TUN 0x0001 | 61 | #define IFF_TUN 0x0001 |
| 59 | #define IFF_TAP 0x0002 | 62 | #define IFF_TAP 0x0002 |
| 60 | #define IFF_NO_PI 0x1000 | 63 | #define IFF_NO_PI 0x1000 |
| 64 | /* This flag has no real effect */ | ||
| 61 | #define IFF_ONE_QUEUE 0x2000 | 65 | #define IFF_ONE_QUEUE 0x2000 |
| 62 | #define IFF_VNET_HDR 0x4000 | 66 | #define IFF_VNET_HDR 0x4000 |
| 63 | #define IFF_TUN_EXCL 0x8000 | 67 | #define IFF_TUN_EXCL 0x8000 |
| 68 | #define IFF_MULTI_QUEUE 0x0100 | ||
| 69 | #define IFF_ATTACH_QUEUE 0x0200 | ||
| 70 | #define IFF_DETACH_QUEUE 0x0400 | ||
| 64 | 71 | ||
| 65 | /* Features for GSO (TUNSETOFFLOAD). */ | 72 | /* Features for GSO (TUNSETOFFLOAD). */ |
| 66 | #define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */ | 73 | #define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */ |
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h index 5db5942575fe..aee73d0611fb 100644 --- a/include/uapi/linux/if_tunnel.h +++ b/include/uapi/linux/if_tunnel.h | |||
| @@ -37,6 +37,26 @@ struct ip_tunnel_parm { | |||
| 37 | struct iphdr iph; | 37 | struct iphdr iph; |
| 38 | }; | 38 | }; |
| 39 | 39 | ||
| 40 | enum { | ||
| 41 | IFLA_IPTUN_UNSPEC, | ||
| 42 | IFLA_IPTUN_LINK, | ||
| 43 | IFLA_IPTUN_LOCAL, | ||
| 44 | IFLA_IPTUN_REMOTE, | ||
| 45 | IFLA_IPTUN_TTL, | ||
| 46 | IFLA_IPTUN_TOS, | ||
| 47 | IFLA_IPTUN_ENCAP_LIMIT, | ||
| 48 | IFLA_IPTUN_FLOWINFO, | ||
| 49 | IFLA_IPTUN_FLAGS, | ||
| 50 | IFLA_IPTUN_PROTO, | ||
| 51 | IFLA_IPTUN_PMTUDISC, | ||
| 52 | IFLA_IPTUN_6RD_PREFIX, | ||
| 53 | IFLA_IPTUN_6RD_RELAY_PREFIX, | ||
| 54 | IFLA_IPTUN_6RD_PREFIXLEN, | ||
| 55 | IFLA_IPTUN_6RD_RELAY_PREFIXLEN, | ||
| 56 | __IFLA_IPTUN_MAX, | ||
| 57 | }; | ||
| 58 | #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) | ||
| 59 | |||
| 40 | /* SIT-mode i_flags */ | 60 | /* SIT-mode i_flags */ |
| 41 | #define SIT_ISATAP 0x0001 | 61 | #define SIT_ISATAP 0x0001 |
| 42 | 62 | ||
diff --git a/include/uapi/linux/in6.h b/include/uapi/linux/in6.h index 1e3159989958..f79c3721da6e 100644 --- a/include/uapi/linux/in6.h +++ b/include/uapi/linux/in6.h | |||
| @@ -240,6 +240,7 @@ struct in6_flowlabel_req { | |||
| 240 | * | 240 | * |
| 241 | * IP6T_SO_GET_REVISION_MATCH 68 | 241 | * IP6T_SO_GET_REVISION_MATCH 68 |
| 242 | * IP6T_SO_GET_REVISION_TARGET 69 | 242 | * IP6T_SO_GET_REVISION_TARGET 69 |
| 243 | * IP6T_SO_ORIGINAL_DST 80 | ||
| 243 | */ | 244 | */ |
| 244 | 245 | ||
| 245 | /* RFC5014: Source address selection */ | 246 | /* RFC5014: Source address selection */ |
diff --git a/include/uapi/linux/inet_diag.h b/include/uapi/linux/inet_diag.h index 8c469af939aa..bbde90fa5838 100644 --- a/include/uapi/linux/inet_diag.h +++ b/include/uapi/linux/inet_diag.h | |||
| @@ -109,9 +109,10 @@ enum { | |||
| 109 | INET_DIAG_TOS, | 109 | INET_DIAG_TOS, |
| 110 | INET_DIAG_TCLASS, | 110 | INET_DIAG_TCLASS, |
| 111 | INET_DIAG_SKMEMINFO, | 111 | INET_DIAG_SKMEMINFO, |
| 112 | INET_DIAG_SHUTDOWN, | ||
| 112 | }; | 113 | }; |
| 113 | 114 | ||
| 114 | #define INET_DIAG_MAX INET_DIAG_SKMEMINFO | 115 | #define INET_DIAG_MAX INET_DIAG_SHUTDOWN |
| 115 | 116 | ||
| 116 | 117 | ||
| 117 | /* INET_DIAG_MEM */ | 118 | /* INET_DIAG_MEM */ |
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h index a6d7d1c536c3..5a2991cf0251 100644 --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h | |||
| @@ -157,6 +157,7 @@ enum { | |||
| 157 | DEVCONF_DISABLE_IPV6, | 157 | DEVCONF_DISABLE_IPV6, |
| 158 | DEVCONF_ACCEPT_DAD, | 158 | DEVCONF_ACCEPT_DAD, |
| 159 | DEVCONF_FORCE_TLLAO, | 159 | DEVCONF_FORCE_TLLAO, |
| 160 | DEVCONF_NDISC_NOTIFY, | ||
| 160 | DEVCONF_MAX | 161 | DEVCONF_MAX |
| 161 | }; | 162 | }; |
| 162 | 163 | ||
diff --git a/include/uapi/linux/ipv6_route.h b/include/uapi/linux/ipv6_route.h index 0459664c2636..2be7bd174751 100644 --- a/include/uapi/linux/ipv6_route.h +++ b/include/uapi/linux/ipv6_route.h | |||
| @@ -55,4 +55,7 @@ struct in6_rtmsg { | |||
| 55 | #define RTMSG_NEWROUTE 0x21 | 55 | #define RTMSG_NEWROUTE 0x21 |
| 56 | #define RTMSG_DELROUTE 0x22 | 56 | #define RTMSG_DELROUTE 0x22 |
| 57 | 57 | ||
| 58 | #define IP6_RT_PRIO_USER 1024 | ||
| 59 | #define IP6_RT_PRIO_ADDRCONF 256 | ||
| 60 | |||
| 58 | #endif /* _UAPI_LINUX_IPV6_ROUTE_H */ | 61 | #endif /* _UAPI_LINUX_IPV6_ROUTE_H */ |
diff --git a/include/uapi/linux/netconf.h b/include/uapi/linux/netconf.h new file mode 100644 index 000000000000..64804a798b0c --- /dev/null +++ b/include/uapi/linux/netconf.h | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | #ifndef _UAPI_LINUX_NETCONF_H_ | ||
| 2 | #define _UAPI_LINUX_NETCONF_H_ | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | #include <linux/netlink.h> | ||
| 6 | |||
| 7 | struct netconfmsg { | ||
| 8 | __u8 ncm_family; | ||
| 9 | }; | ||
| 10 | |||
| 11 | enum { | ||
| 12 | NETCONFA_UNSPEC, | ||
| 13 | NETCONFA_IFINDEX, | ||
| 14 | NETCONFA_FORWARDING, | ||
| 15 | NETCONFA_RP_FILTER, | ||
| 16 | NETCONFA_MC_FORWARDING, | ||
| 17 | __NETCONFA_MAX | ||
| 18 | }; | ||
| 19 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) | ||
| 20 | |||
| 21 | #define NETCONFA_IFINDEX_ALL -1 | ||
| 22 | #define NETCONFA_IFINDEX_DEFAULT -2 | ||
| 23 | |||
| 24 | #endif /* _UAPI_LINUX_NETCONF_H_ */ | ||
diff --git a/include/uapi/linux/netfilter/nfnetlink_conntrack.h b/include/uapi/linux/netfilter/nfnetlink_conntrack.h index 43bfe3e1685b..86e930cf3dfb 100644 --- a/include/uapi/linux/netfilter/nfnetlink_conntrack.h +++ b/include/uapi/linux/netfilter/nfnetlink_conntrack.h | |||
| @@ -9,6 +9,8 @@ enum cntl_msg_types { | |||
| 9 | IPCTNL_MSG_CT_GET_CTRZERO, | 9 | IPCTNL_MSG_CT_GET_CTRZERO, |
| 10 | IPCTNL_MSG_CT_GET_STATS_CPU, | 10 | IPCTNL_MSG_CT_GET_STATS_CPU, |
| 11 | IPCTNL_MSG_CT_GET_STATS, | 11 | IPCTNL_MSG_CT_GET_STATS, |
| 12 | IPCTNL_MSG_CT_GET_DYING, | ||
| 13 | IPCTNL_MSG_CT_GET_UNCONFIRMED, | ||
| 12 | 14 | ||
| 13 | IPCTNL_MSG_MAX | 15 | IPCTNL_MSG_MAX |
| 14 | }; | 16 | }; |
diff --git a/include/uapi/linux/netfilter_ipv6/ip6_tables.h b/include/uapi/linux/netfilter_ipv6/ip6_tables.h index bf1ef65cc582..649c68062dca 100644 --- a/include/uapi/linux/netfilter_ipv6/ip6_tables.h +++ b/include/uapi/linux/netfilter_ipv6/ip6_tables.h | |||
| @@ -178,6 +178,9 @@ struct ip6t_error { | |||
| 178 | #define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 5) | 178 | #define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 5) |
| 179 | #define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET | 179 | #define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET |
| 180 | 180 | ||
| 181 | /* obtain original address if REDIRECT'd connection */ | ||
| 182 | #define IP6T_SO_ORIGINAL_DST 80 | ||
| 183 | |||
| 181 | /* ICMP matching stuff */ | 184 | /* ICMP matching stuff */ |
| 182 | struct ip6t_icmp { | 185 | struct ip6t_icmp { |
| 183 | __u8 type; /* type to match */ | 186 | __u8 type; /* type to match */ |
diff --git a/include/uapi/linux/nfc.h b/include/uapi/linux/nfc.h index d908d17da56d..0e63cee8d810 100644 --- a/include/uapi/linux/nfc.h +++ b/include/uapi/linux/nfc.h | |||
| @@ -60,6 +60,13 @@ | |||
| 60 | * target mode. | 60 | * target mode. |
| 61 | * @NFC_EVENT_DEVICE_DEACTIVATED: event emitted when the adapter is deactivated | 61 | * @NFC_EVENT_DEVICE_DEACTIVATED: event emitted when the adapter is deactivated |
| 62 | * from target mode. | 62 | * from target mode. |
| 63 | * @NFC_CMD_LLC_GET_PARAMS: request LTO, RW, and MIUX parameters for a device | ||
| 64 | * @NFC_CMD_LLC_SET_PARAMS: set one or more of LTO, RW, and MIUX parameters for | ||
| 65 | * a device. LTO must be set before the link is up otherwise -EINPROGRESS | ||
| 66 | * is returned. RW and MIUX can be set at anytime and will be passed in | ||
| 67 | * subsequent CONNECT and CC messages. | ||
| 68 | * If one of the passed parameters is wrong none is set and -EINVAL is | ||
| 69 | * returned. | ||
| 63 | */ | 70 | */ |
| 64 | enum nfc_commands { | 71 | enum nfc_commands { |
| 65 | NFC_CMD_UNSPEC, | 72 | NFC_CMD_UNSPEC, |
| @@ -77,6 +84,8 @@ enum nfc_commands { | |||
| 77 | NFC_EVENT_TARGET_LOST, | 84 | NFC_EVENT_TARGET_LOST, |
| 78 | NFC_EVENT_TM_ACTIVATED, | 85 | NFC_EVENT_TM_ACTIVATED, |
| 79 | NFC_EVENT_TM_DEACTIVATED, | 86 | NFC_EVENT_TM_DEACTIVATED, |
| 87 | NFC_CMD_LLC_GET_PARAMS, | ||
| 88 | NFC_CMD_LLC_SET_PARAMS, | ||
| 80 | /* private: internal use only */ | 89 | /* private: internal use only */ |
| 81 | __NFC_CMD_AFTER_LAST | 90 | __NFC_CMD_AFTER_LAST |
| 82 | }; | 91 | }; |
| @@ -102,6 +111,9 @@ enum nfc_commands { | |||
| 102 | * @NFC_ATTR_RF_MODE: Initiator or target | 111 | * @NFC_ATTR_RF_MODE: Initiator or target |
| 103 | * @NFC_ATTR_IM_PROTOCOLS: Initiator mode protocols to poll for | 112 | * @NFC_ATTR_IM_PROTOCOLS: Initiator mode protocols to poll for |
| 104 | * @NFC_ATTR_TM_PROTOCOLS: Target mode protocols to listen for | 113 | * @NFC_ATTR_TM_PROTOCOLS: Target mode protocols to listen for |
| 114 | * @NFC_ATTR_LLC_PARAM_LTO: Link TimeOut parameter | ||
| 115 | * @NFC_ATTR_LLC_PARAM_RW: Receive Window size parameter | ||
| 116 | * @NFC_ATTR_LLC_PARAM_MIUX: MIU eXtension parameter | ||
| 105 | */ | 117 | */ |
| 106 | enum nfc_attrs { | 118 | enum nfc_attrs { |
| 107 | NFC_ATTR_UNSPEC, | 119 | NFC_ATTR_UNSPEC, |
| @@ -119,6 +131,9 @@ enum nfc_attrs { | |||
| 119 | NFC_ATTR_DEVICE_POWERED, | 131 | NFC_ATTR_DEVICE_POWERED, |
| 120 | NFC_ATTR_IM_PROTOCOLS, | 132 | NFC_ATTR_IM_PROTOCOLS, |
| 121 | NFC_ATTR_TM_PROTOCOLS, | 133 | NFC_ATTR_TM_PROTOCOLS, |
| 134 | NFC_ATTR_LLC_PARAM_LTO, | ||
| 135 | NFC_ATTR_LLC_PARAM_RW, | ||
| 136 | NFC_ATTR_LLC_PARAM_MIUX, | ||
| 122 | /* private: internal use only */ | 137 | /* private: internal use only */ |
| 123 | __NFC_ATTR_AFTER_LAST | 138 | __NFC_ATTR_AFTER_LAST |
| 124 | }; | 139 | }; |
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 7df9b500c804..e3e19f8b16f2 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -118,8 +118,9 @@ | |||
| 118 | * to get a list of all present wiphys. | 118 | * to get a list of all present wiphys. |
| 119 | * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or | 119 | * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or |
| 120 | * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, | 120 | * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, |
| 121 | * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ, | 121 | * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the |
| 122 | * %NL80211_ATTR_WIPHY_CHANNEL_TYPE, %NL80211_ATTR_WIPHY_RETRY_SHORT, | 122 | * attributes determining the channel width; this is used for setting |
| 123 | * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT, | ||
| 123 | * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, | 124 | * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, |
| 124 | * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. | 125 | * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. |
| 125 | * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL | 126 | * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL |
| @@ -171,7 +172,7 @@ | |||
| 171 | * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY, | 172 | * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY, |
| 172 | * %NL80211_ATTR_AUTH_TYPE and %NL80211_ATTR_INACTIVITY_TIMEOUT. | 173 | * %NL80211_ATTR_AUTH_TYPE and %NL80211_ATTR_INACTIVITY_TIMEOUT. |
| 173 | * The channel to use can be set on the interface or be given using the | 174 | * The channel to use can be set on the interface or be given using the |
| 174 | * %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_WIPHY_CHANNEL_TYPE attrs. | 175 | * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width. |
| 175 | * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP | 176 | * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP |
| 176 | * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface | 177 | * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface |
| 177 | * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP | 178 | * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP |
| @@ -401,8 +402,7 @@ | |||
| 401 | * a response while being associated to an AP on another channel. | 402 | * a response while being associated to an AP on another channel. |
| 402 | * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus | 403 | * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus |
| 403 | * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the | 404 | * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the |
| 404 | * frequency for the operation and %NL80211_ATTR_WIPHY_CHANNEL_TYPE may be | 405 | * frequency for the operation. |
| 405 | * optionally used to specify additional channel parameters. | ||
| 406 | * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds | 406 | * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds |
| 407 | * to remain on the channel. This command is also used as an event to | 407 | * to remain on the channel. This command is also used as an event to |
| 408 | * notify when the requested duration starts (it may take a while for the | 408 | * notify when the requested duration starts (it may take a while for the |
| @@ -440,12 +440,11 @@ | |||
| 440 | * as an event indicating reception of a frame that was not processed in | 440 | * as an event indicating reception of a frame that was not processed in |
| 441 | * kernel code, but is for us (i.e., which may need to be processed in a | 441 | * kernel code, but is for us (i.e., which may need to be processed in a |
| 442 | * user space application). %NL80211_ATTR_FRAME is used to specify the | 442 | * user space application). %NL80211_ATTR_FRAME is used to specify the |
| 443 | * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and | 443 | * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used |
| 444 | * optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on | 444 | * to indicate on which channel the frame is to be transmitted or was |
| 445 | * which channel the frame is to be transmitted or was received. If this | 445 | * received. If this channel is not the current channel (remain-on-channel |
| 446 | * channel is not the current channel (remain-on-channel or the | 446 | * or the operational channel) the device will switch to the given channel |
| 447 | * operational channel) the device will switch to the given channel and | 447 | * and transmit the frame, optionally waiting for a response for the time |
| 448 | * transmit the frame, optionally waiting for a response for the time | ||
| 449 | * specified using %NL80211_ATTR_DURATION. When called, this operation | 448 | * specified using %NL80211_ATTR_DURATION. When called, this operation |
| 450 | * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the | 449 | * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the |
| 451 | * TX status event pertaining to the TX request. | 450 | * TX status event pertaining to the TX request. |
| @@ -473,8 +472,8 @@ | |||
| 473 | * command is used as an event to indicate the that a trigger level was | 472 | * command is used as an event to indicate the that a trigger level was |
| 474 | * reached. | 473 | * reached. |
| 475 | * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ | 474 | * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ |
| 476 | * and %NL80211_ATTR_WIPHY_CHANNEL_TYPE) the given interface (identifed | 475 | * and the attributes determining channel width) the given interface |
| 477 | * by %NL80211_ATTR_IFINDEX) shall operate on. | 476 | * (identifed by %NL80211_ATTR_IFINDEX) shall operate on. |
| 478 | * In case multiple channels are supported by the device, the mechanism | 477 | * In case multiple channels are supported by the device, the mechanism |
| 479 | * with which it switches channels is implementation-defined. | 478 | * with which it switches channels is implementation-defined. |
| 480 | * When a monitor interface is given, it can only switch channel while | 479 | * When a monitor interface is given, it can only switch channel while |
| @@ -526,6 +525,12 @@ | |||
| 526 | * of PMKSA caching dandidates. | 525 | * of PMKSA caching dandidates. |
| 527 | * | 526 | * |
| 528 | * @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup). | 527 | * @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup). |
| 528 | * In addition, this can be used as an event to request userspace to take | ||
| 529 | * actions on TDLS links (set up a new link or tear down an existing one). | ||
| 530 | * In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested | ||
| 531 | * operation, %NL80211_ATTR_MAC contains the peer MAC address, and | ||
| 532 | * %NL80211_ATTR_REASON_CODE the reason code to be used (only with | ||
| 533 | * %NL80211_TDLS_TEARDOWN). | ||
| 529 | * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. | 534 | * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. |
| 530 | * | 535 | * |
| 531 | * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP | 536 | * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP |
| @@ -562,8 +567,8 @@ | |||
| 562 | * | 567 | * |
| 563 | * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels | 568 | * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels |
| 564 | * independently of the userspace SME, send this event indicating | 569 | * independently of the userspace SME, send this event indicating |
| 565 | * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ with | 570 | * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the |
| 566 | * %NL80211_ATTR_WIPHY_CHANNEL_TYPE. | 571 | * attributes determining channel width. |
| 567 | * | 572 | * |
| 568 | * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by | 573 | * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by |
| 569 | * its %NL80211_ATTR_WDEV identifier. It must have been created with | 574 | * its %NL80211_ATTR_WDEV identifier. It must have been created with |
| @@ -578,6 +583,9 @@ | |||
| 578 | * station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON | 583 | * station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON |
| 579 | * is used for this. | 584 | * is used for this. |
| 580 | * | 585 | * |
| 586 | * @NL80211_CMD_SET_MCAST_RATE: Change the rate used to send multicast frames | ||
| 587 | * for IBSS or MESH vif. | ||
| 588 | * | ||
| 581 | * @NL80211_CMD_MAX: highest used command number | 589 | * @NL80211_CMD_MAX: highest used command number |
| 582 | * @__NL80211_CMD_AFTER_LAST: internal use | 590 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 583 | */ | 591 | */ |
| @@ -726,6 +734,8 @@ enum nl80211_commands { | |||
| 726 | 734 | ||
| 727 | NL80211_CMD_CONN_FAILED, | 735 | NL80211_CMD_CONN_FAILED, |
| 728 | 736 | ||
| 737 | NL80211_CMD_SET_MCAST_RATE, | ||
| 738 | |||
| 729 | /* add new commands above here */ | 739 | /* add new commands above here */ |
| 730 | 740 | ||
| 731 | /* used to define NL80211_CMD_MAX below */ | 741 | /* used to define NL80211_CMD_MAX below */ |
| @@ -762,14 +772,26 @@ enum nl80211_commands { | |||
| 762 | * /sys/class/ieee80211/<phyname>/index | 772 | * /sys/class/ieee80211/<phyname>/index |
| 763 | * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) | 773 | * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) |
| 764 | * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters | 774 | * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters |
| 765 | * @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz | 775 | * @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz, |
| 776 | * defines the channel together with the (deprecated) | ||
| 777 | * %NL80211_ATTR_WIPHY_CHANNEL_TYPE attribute or the attributes | ||
| 778 | * %NL80211_ATTR_CHANNEL_WIDTH and if needed %NL80211_ATTR_CENTER_FREQ1 | ||
| 779 | * and %NL80211_ATTR_CENTER_FREQ2 | ||
| 780 | * @NL80211_ATTR_CHANNEL_WIDTH: u32 attribute containing one of the values | ||
| 781 | * of &enum nl80211_chan_width, describing the channel width. See the | ||
| 782 | * documentation of the enum for more information. | ||
| 783 | * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the | ||
| 784 | * channel, used for anything but 20 MHz bandwidth | ||
| 785 | * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the | ||
| 786 | * channel, used only for 80+80 MHz bandwidth | ||
| 766 | * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ | 787 | * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ |
| 767 | * if HT20 or HT40 are allowed (i.e., 802.11n disabled if not included): | 788 | * if HT20 or HT40 are to be used (i.e., HT disabled if not included): |
| 768 | * NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including | 789 | * NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including |
| 769 | * this attribute) | 790 | * this attribute) |
| 770 | * NL80211_CHAN_HT20 = HT20 only | 791 | * NL80211_CHAN_HT20 = HT20 only |
| 771 | * NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel | 792 | * NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel |
| 772 | * NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel | 793 | * NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel |
| 794 | * This attribute is now deprecated. | ||
| 773 | * @NL80211_ATTR_WIPHY_RETRY_SHORT: TX retry limit for frames whose length is | 795 | * @NL80211_ATTR_WIPHY_RETRY_SHORT: TX retry limit for frames whose length is |
| 774 | * less than or equal to the RTS threshold; allowed range: 1..255; | 796 | * less than or equal to the RTS threshold; allowed range: 1..255; |
| 775 | * dot11ShortRetryLimit; u8 | 797 | * dot11ShortRetryLimit; u8 |
| @@ -1273,6 +1295,21 @@ enum nl80211_commands { | |||
| 1273 | * the connection request from a station. nl80211_connect_failed_reason | 1295 | * the connection request from a station. nl80211_connect_failed_reason |
| 1274 | * enum has different reasons of connection failure. | 1296 | * enum has different reasons of connection failure. |
| 1275 | * | 1297 | * |
| 1298 | * @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts | ||
| 1299 | * with the Authentication transaction sequence number field. | ||
| 1300 | * | ||
| 1301 | * @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from | ||
| 1302 | * association request when used with NL80211_CMD_NEW_STATION) | ||
| 1303 | * | ||
| 1304 | * @NL80211_ATTR_SCAN_FLAGS: scan request control flags (u32) | ||
| 1305 | * | ||
| 1306 | * @NL80211_ATTR_P2P_CTWINDOW: P2P GO Client Traffic Window (u8), used with | ||
| 1307 | * the START_AP and SET_BSS commands | ||
| 1308 | * @NL80211_ATTR_P2P_OPPPS: P2P GO opportunistic PS (u8), used with the | ||
| 1309 | * START_AP and SET_BSS commands. This can have the values 0 or 1; | ||
| 1310 | * if not given in START_AP 0 is assumed, if not given in SET_BSS | ||
| 1311 | * no change is made. | ||
| 1312 | * | ||
| 1276 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1313 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1277 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1314 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1278 | */ | 1315 | */ |
| @@ -1530,6 +1567,19 @@ enum nl80211_attrs { | |||
| 1530 | 1567 | ||
| 1531 | NL80211_ATTR_CONN_FAILED_REASON, | 1568 | NL80211_ATTR_CONN_FAILED_REASON, |
| 1532 | 1569 | ||
| 1570 | NL80211_ATTR_SAE_DATA, | ||
| 1571 | |||
| 1572 | NL80211_ATTR_VHT_CAPABILITY, | ||
| 1573 | |||
| 1574 | NL80211_ATTR_SCAN_FLAGS, | ||
| 1575 | |||
| 1576 | NL80211_ATTR_CHANNEL_WIDTH, | ||
| 1577 | NL80211_ATTR_CENTER_FREQ1, | ||
| 1578 | NL80211_ATTR_CENTER_FREQ2, | ||
| 1579 | |||
| 1580 | NL80211_ATTR_P2P_CTWINDOW, | ||
| 1581 | NL80211_ATTR_P2P_OPPPS, | ||
| 1582 | |||
| 1533 | /* add attributes here, update the policy in nl80211.c */ | 1583 | /* add attributes here, update the policy in nl80211.c */ |
| 1534 | 1584 | ||
| 1535 | __NL80211_ATTR_AFTER_LAST, | 1585 | __NL80211_ATTR_AFTER_LAST, |
| @@ -1573,6 +1623,7 @@ enum nl80211_attrs { | |||
| 1573 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 | 1623 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 |
| 1574 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 | 1624 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 |
| 1575 | #define NL80211_HT_CAPABILITY_LEN 26 | 1625 | #define NL80211_HT_CAPABILITY_LEN 26 |
| 1626 | #define NL80211_VHT_CAPABILITY_LEN 12 | ||
| 1576 | 1627 | ||
| 1577 | #define NL80211_MAX_NR_CIPHER_SUITES 5 | 1628 | #define NL80211_MAX_NR_CIPHER_SUITES 5 |
| 1578 | #define NL80211_MAX_NR_AKM_SUITES 2 | 1629 | #define NL80211_MAX_NR_AKM_SUITES 2 |
| @@ -1693,10 +1744,15 @@ struct nl80211_sta_flag_update { | |||
| 1693 | * @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved | 1744 | * @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved |
| 1694 | * @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s) | 1745 | * @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s) |
| 1695 | * @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8) | 1746 | * @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8) |
| 1696 | * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 Mhz dualchannel bitrate | 1747 | * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 MHz dualchannel bitrate |
| 1697 | * @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval | 1748 | * @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval |
| 1698 | * @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s) | 1749 | * @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s) |
| 1699 | * @NL80211_RATE_INFO_MAX: highest rate_info number currently defined | 1750 | * @NL80211_RATE_INFO_MAX: highest rate_info number currently defined |
| 1751 | * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8) | ||
| 1752 | * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8) | ||
| 1753 | * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate | ||
| 1754 | * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate | ||
| 1755 | * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate | ||
| 1700 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use | 1756 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use |
| 1701 | */ | 1757 | */ |
| 1702 | enum nl80211_rate_info { | 1758 | enum nl80211_rate_info { |
| @@ -1706,6 +1762,11 @@ enum nl80211_rate_info { | |||
| 1706 | NL80211_RATE_INFO_40_MHZ_WIDTH, | 1762 | NL80211_RATE_INFO_40_MHZ_WIDTH, |
| 1707 | NL80211_RATE_INFO_SHORT_GI, | 1763 | NL80211_RATE_INFO_SHORT_GI, |
| 1708 | NL80211_RATE_INFO_BITRATE32, | 1764 | NL80211_RATE_INFO_BITRATE32, |
| 1765 | NL80211_RATE_INFO_VHT_MCS, | ||
| 1766 | NL80211_RATE_INFO_VHT_NSS, | ||
| 1767 | NL80211_RATE_INFO_80_MHZ_WIDTH, | ||
| 1768 | NL80211_RATE_INFO_80P80_MHZ_WIDTH, | ||
| 1769 | NL80211_RATE_INFO_160_MHZ_WIDTH, | ||
| 1709 | 1770 | ||
| 1710 | /* keep last */ | 1771 | /* keep last */ |
| 1711 | __NL80211_RATE_INFO_AFTER_LAST, | 1772 | __NL80211_RATE_INFO_AFTER_LAST, |
| @@ -2414,6 +2475,15 @@ enum nl80211_ac { | |||
| 2414 | #define NL80211_TXQ_Q_BE NL80211_AC_BE | 2475 | #define NL80211_TXQ_Q_BE NL80211_AC_BE |
| 2415 | #define NL80211_TXQ_Q_BK NL80211_AC_BK | 2476 | #define NL80211_TXQ_Q_BK NL80211_AC_BK |
| 2416 | 2477 | ||
| 2478 | /** | ||
| 2479 | * enum nl80211_channel_type - channel type | ||
| 2480 | * @NL80211_CHAN_NO_HT: 20 MHz, non-HT channel | ||
| 2481 | * @NL80211_CHAN_HT20: 20 MHz HT channel | ||
| 2482 | * @NL80211_CHAN_HT40MINUS: HT40 channel, secondary channel | ||
| 2483 | * below the control channel | ||
| 2484 | * @NL80211_CHAN_HT40PLUS: HT40 channel, secondary channel | ||
| 2485 | * above the control channel | ||
| 2486 | */ | ||
| 2417 | enum nl80211_channel_type { | 2487 | enum nl80211_channel_type { |
| 2418 | NL80211_CHAN_NO_HT, | 2488 | NL80211_CHAN_NO_HT, |
| 2419 | NL80211_CHAN_HT20, | 2489 | NL80211_CHAN_HT20, |
| @@ -2422,6 +2492,32 @@ enum nl80211_channel_type { | |||
| 2422 | }; | 2492 | }; |
| 2423 | 2493 | ||
| 2424 | /** | 2494 | /** |
| 2495 | * enum nl80211_chan_width - channel width definitions | ||
| 2496 | * | ||
| 2497 | * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH | ||
| 2498 | * attribute. | ||
| 2499 | * | ||
| 2500 | * @NL80211_CHAN_WIDTH_20_NOHT: 20 MHz, non-HT channel | ||
| 2501 | * @NL80211_CHAN_WIDTH_20: 20 MHz HT channel | ||
| 2502 | * @NL80211_CHAN_WIDTH_40: 40 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 | ||
| 2503 | * attribute must be provided as well | ||
| 2504 | * @NL80211_CHAN_WIDTH_80: 80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 | ||
| 2505 | * attribute must be provided as well | ||
| 2506 | * @NL80211_CHAN_WIDTH_80P80: 80+80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 | ||
| 2507 | * and %NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well | ||
| 2508 | * @NL80211_CHAN_WIDTH_160: 160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 | ||
| 2509 | * attribute must be provided as well | ||
| 2510 | */ | ||
| 2511 | enum nl80211_chan_width { | ||
| 2512 | NL80211_CHAN_WIDTH_20_NOHT, | ||
| 2513 | NL80211_CHAN_WIDTH_20, | ||
| 2514 | NL80211_CHAN_WIDTH_40, | ||
| 2515 | NL80211_CHAN_WIDTH_80, | ||
| 2516 | NL80211_CHAN_WIDTH_80P80, | ||
| 2517 | NL80211_CHAN_WIDTH_160, | ||
| 2518 | }; | ||
| 2519 | |||
| 2520 | /** | ||
| 2425 | * enum nl80211_bss - netlink attributes for a BSS | 2521 | * enum nl80211_bss - netlink attributes for a BSS |
| 2426 | * | 2522 | * |
| 2427 | * @__NL80211_BSS_INVALID: invalid | 2523 | * @__NL80211_BSS_INVALID: invalid |
| @@ -2489,6 +2585,7 @@ enum nl80211_bss_status { | |||
| 2489 | * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only) | 2585 | * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only) |
| 2490 | * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r) | 2586 | * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r) |
| 2491 | * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP) | 2587 | * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP) |
| 2588 | * @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals | ||
| 2492 | * @__NL80211_AUTHTYPE_NUM: internal | 2589 | * @__NL80211_AUTHTYPE_NUM: internal |
| 2493 | * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm | 2590 | * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm |
| 2494 | * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by | 2591 | * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by |
| @@ -2500,6 +2597,7 @@ enum nl80211_auth_type { | |||
| 2500 | NL80211_AUTHTYPE_SHARED_KEY, | 2597 | NL80211_AUTHTYPE_SHARED_KEY, |
| 2501 | NL80211_AUTHTYPE_FT, | 2598 | NL80211_AUTHTYPE_FT, |
| 2502 | NL80211_AUTHTYPE_NETWORK_EAP, | 2599 | NL80211_AUTHTYPE_NETWORK_EAP, |
| 2600 | NL80211_AUTHTYPE_SAE, | ||
| 2503 | 2601 | ||
| 2504 | /* keep last */ | 2602 | /* keep last */ |
| 2505 | __NL80211_AUTHTYPE_NUM, | 2603 | __NL80211_AUTHTYPE_NUM, |
| @@ -3028,6 +3126,20 @@ enum nl80211_ap_sme_features { | |||
| 3028 | * in the interface combinations, even when it's only used for scan | 3126 | * in the interface combinations, even when it's only used for scan |
| 3029 | * and remain-on-channel. This could be due to, for example, the | 3127 | * and remain-on-channel. This could be due to, for example, the |
| 3030 | * remain-on-channel implementation requiring a channel context. | 3128 | * remain-on-channel implementation requiring a channel context. |
| 3129 | * @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of | ||
| 3130 | * equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station | ||
| 3131 | * mode | ||
| 3132 | * @NL80211_FEATURE_LOW_PRIORITY_SCAN: This driver supports low priority scan | ||
| 3133 | * @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported | ||
| 3134 | * @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif | ||
| 3135 | * @NL80211_FEATURE_VIF_TXPOWER: The driver supports per-vif TX power setting | ||
| 3136 | * @NL80211_FEATURE_NEED_OBSS_SCAN: The driver expects userspace to perform | ||
| 3137 | * OBSS scans and generate 20/40 BSS coex reports. This flag is used only | ||
| 3138 | * for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied. | ||
| 3139 | * @NL80211_FEATURE_P2P_GO_CTWIN: P2P GO implementation supports CT Window | ||
| 3140 | * setting | ||
| 3141 | * @NL80211_FEATURE_P2P_GO_OPPPS: P2P GO implementation supports opportunistic | ||
| 3142 | * powersave | ||
| 3031 | */ | 3143 | */ |
| 3032 | enum nl80211_feature_flags { | 3144 | enum nl80211_feature_flags { |
| 3033 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, | 3145 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, |
| @@ -3035,6 +3147,14 @@ enum nl80211_feature_flags { | |||
| 3035 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, | 3147 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, |
| 3036 | NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, | 3148 | NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, |
| 3037 | NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, | 3149 | NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, |
| 3150 | NL80211_FEATURE_SAE = 1 << 5, | ||
| 3151 | NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6, | ||
| 3152 | NL80211_FEATURE_SCAN_FLUSH = 1 << 7, | ||
| 3153 | NL80211_FEATURE_AP_SCAN = 1 << 8, | ||
| 3154 | NL80211_FEATURE_VIF_TXPOWER = 1 << 9, | ||
| 3155 | NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10, | ||
| 3156 | NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11, | ||
| 3157 | NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12, | ||
| 3038 | }; | 3158 | }; |
| 3039 | 3159 | ||
| 3040 | /** | 3160 | /** |
| @@ -3069,4 +3189,25 @@ enum nl80211_connect_failed_reason { | |||
| 3069 | NL80211_CONN_FAIL_BLOCKED_CLIENT, | 3189 | NL80211_CONN_FAIL_BLOCKED_CLIENT, |
| 3070 | }; | 3190 | }; |
| 3071 | 3191 | ||
| 3192 | /** | ||
| 3193 | * enum nl80211_scan_flags - scan request control flags | ||
| 3194 | * | ||
| 3195 | * Scan request control flags are used to control the handling | ||
| 3196 | * of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN | ||
| 3197 | * requests. | ||
| 3198 | * | ||
| 3199 | * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority | ||
| 3200 | * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning | ||
| 3201 | * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured | ||
| 3202 | * as AP and the beaconing has already been configured. This attribute is | ||
| 3203 | * dangerous because will destroy stations performance as a lot of frames | ||
| 3204 | * will be lost while scanning off-channel, therefore it must be used only | ||
| 3205 | * when really needed | ||
| 3206 | */ | ||
| 3207 | enum nl80211_scan_flags { | ||
| 3208 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, | ||
| 3209 | NL80211_SCAN_FLAG_FLUSH = 1<<1, | ||
| 3210 | NL80211_SCAN_FLAG_AP = 1<<2, | ||
| 3211 | }; | ||
| 3212 | |||
| 3072 | #endif /* __LINUX_NL80211_H */ | 3213 | #endif /* __LINUX_NL80211_H */ |
diff --git a/include/uapi/linux/ptp_clock.h b/include/uapi/linux/ptp_clock.h index 94e981f810a2..b65c834f83e9 100644 --- a/include/uapi/linux/ptp_clock.h +++ b/include/uapi/linux/ptp_clock.h | |||
| @@ -67,12 +67,26 @@ struct ptp_perout_request { | |||
| 67 | unsigned int rsv[4]; /* Reserved for future use. */ | 67 | unsigned int rsv[4]; /* Reserved for future use. */ |
| 68 | }; | 68 | }; |
| 69 | 69 | ||
| 70 | #define PTP_MAX_SAMPLES 25 /* Maximum allowed offset measurement samples. */ | ||
| 71 | |||
| 72 | struct ptp_sys_offset { | ||
| 73 | unsigned int n_samples; /* Desired number of measurements. */ | ||
| 74 | unsigned int rsv[3]; /* Reserved for future use. */ | ||
| 75 | /* | ||
| 76 | * Array of interleaved system/phc time stamps. The kernel | ||
| 77 | * will provide 2*n_samples + 1 time stamps, with the last | ||
| 78 | * one as a system time stamp. | ||
| 79 | */ | ||
| 80 | struct ptp_clock_time ts[2 * PTP_MAX_SAMPLES + 1]; | ||
| 81 | }; | ||
| 82 | |||
| 70 | #define PTP_CLK_MAGIC '=' | 83 | #define PTP_CLK_MAGIC '=' |
| 71 | 84 | ||
| 72 | #define PTP_CLOCK_GETCAPS _IOR(PTP_CLK_MAGIC, 1, struct ptp_clock_caps) | 85 | #define PTP_CLOCK_GETCAPS _IOR(PTP_CLK_MAGIC, 1, struct ptp_clock_caps) |
| 73 | #define PTP_EXTTS_REQUEST _IOW(PTP_CLK_MAGIC, 2, struct ptp_extts_request) | 86 | #define PTP_EXTTS_REQUEST _IOW(PTP_CLK_MAGIC, 2, struct ptp_extts_request) |
| 74 | #define PTP_PEROUT_REQUEST _IOW(PTP_CLK_MAGIC, 3, struct ptp_perout_request) | 87 | #define PTP_PEROUT_REQUEST _IOW(PTP_CLK_MAGIC, 3, struct ptp_perout_request) |
| 75 | #define PTP_ENABLE_PPS _IOW(PTP_CLK_MAGIC, 4, int) | 88 | #define PTP_ENABLE_PPS _IOW(PTP_CLK_MAGIC, 4, int) |
| 89 | #define PTP_SYS_OFFSET _IOW(PTP_CLK_MAGIC, 5, struct ptp_sys_offset) | ||
| 76 | 90 | ||
| 77 | struct ptp_extts_event { | 91 | struct ptp_extts_event { |
| 78 | struct ptp_clock_time t; /* Time event occured. */ | 92 | struct ptp_clock_time t; /* Time event occured. */ |
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h index fcd768b09f6e..7a5eb196ade9 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h | |||
| @@ -120,6 +120,18 @@ enum { | |||
| 120 | RTM_SETDCB, | 120 | RTM_SETDCB, |
| 121 | #define RTM_SETDCB RTM_SETDCB | 121 | #define RTM_SETDCB RTM_SETDCB |
| 122 | 122 | ||
| 123 | RTM_NEWNETCONF = 80, | ||
| 124 | #define RTM_NEWNETCONF RTM_NEWNETCONF | ||
| 125 | RTM_GETNETCONF = 82, | ||
| 126 | #define RTM_GETNETCONF RTM_GETNETCONF | ||
| 127 | |||
| 128 | RTM_NEWMDB = 84, | ||
| 129 | #define RTM_NEWMDB RTM_NEWMDB | ||
| 130 | RTM_DELMDB = 85, | ||
| 131 | #define RTM_DELMDB RTM_DELMDB | ||
| 132 | RTM_GETMDB = 86, | ||
| 133 | #define RTM_GETMDB RTM_GETMDB | ||
| 134 | |||
| 123 | __RTM_MAX, | 135 | __RTM_MAX, |
| 124 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) | 136 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) |
| 125 | }; | 137 | }; |
| @@ -222,6 +234,7 @@ enum { | |||
| 222 | #define RTPROT_XORP 14 /* XORP */ | 234 | #define RTPROT_XORP 14 /* XORP */ |
| 223 | #define RTPROT_NTK 15 /* Netsukuku */ | 235 | #define RTPROT_NTK 15 /* Netsukuku */ |
| 224 | #define RTPROT_DHCP 16 /* DHCP client */ | 236 | #define RTPROT_DHCP 16 /* DHCP client */ |
| 237 | #define RTPROT_MROUTED 17 /* Multicast daemon */ | ||
| 225 | 238 | ||
| 226 | /* rtm_scope | 239 | /* rtm_scope |
| 227 | 240 | ||
| @@ -283,6 +296,7 @@ enum rtattr_type_t { | |||
| 283 | RTA_MP_ALGO, /* no longer used */ | 296 | RTA_MP_ALGO, /* no longer used */ |
| 284 | RTA_TABLE, | 297 | RTA_TABLE, |
| 285 | RTA_MARK, | 298 | RTA_MARK, |
| 299 | RTA_MFC_STATS, | ||
| 286 | __RTA_MAX | 300 | __RTA_MAX |
| 287 | }; | 301 | }; |
| 288 | 302 | ||
| @@ -403,6 +417,12 @@ struct rta_session { | |||
| 403 | } u; | 417 | } u; |
| 404 | }; | 418 | }; |
| 405 | 419 | ||
| 420 | struct rta_mfc_stats { | ||
| 421 | __u64 mfcs_packets; | ||
| 422 | __u64 mfcs_bytes; | ||
| 423 | __u64 mfcs_wrong_if; | ||
| 424 | }; | ||
| 425 | |||
| 406 | /**** | 426 | /**** |
| 407 | * General form of address family dependent message. | 427 | * General form of address family dependent message. |
| 408 | ****/ | 428 | ****/ |
| @@ -587,6 +607,12 @@ enum rtnetlink_groups { | |||
| 587 | #define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE | 607 | #define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE |
| 588 | RTNLGRP_DCB, | 608 | RTNLGRP_DCB, |
| 589 | #define RTNLGRP_DCB RTNLGRP_DCB | 609 | #define RTNLGRP_DCB RTNLGRP_DCB |
| 610 | RTNLGRP_IPV4_NETCONF, | ||
| 611 | #define RTNLGRP_IPV4_NETCONF RTNLGRP_IPV4_NETCONF | ||
| 612 | RTNLGRP_IPV6_NETCONF, | ||
| 613 | #define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF | ||
| 614 | RTNLGRP_MDB, | ||
| 615 | #define RTNLGRP_MDB RTNLGRP_MDB | ||
| 590 | __RTNLGRP_MAX | 616 | __RTNLGRP_MAX |
| 591 | }; | 617 | }; |
| 592 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) | 618 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) |
diff --git a/include/uapi/linux/unix_diag.h b/include/uapi/linux/unix_diag.h index b1d2bf16b33c..b8a24941db21 100644 --- a/include/uapi/linux/unix_diag.h +++ b/include/uapi/linux/unix_diag.h | |||
| @@ -37,6 +37,7 @@ enum { | |||
| 37 | UNIX_DIAG_ICONS, | 37 | UNIX_DIAG_ICONS, |
| 38 | UNIX_DIAG_RQLEN, | 38 | UNIX_DIAG_RQLEN, |
| 39 | UNIX_DIAG_MEMINFO, | 39 | UNIX_DIAG_MEMINFO, |
| 40 | UNIX_DIAG_SHUTDOWN, | ||
| 40 | 41 | ||
| 41 | UNIX_DIAG_MAX, | 42 | UNIX_DIAG_MAX, |
| 42 | }; | 43 | }; |
diff --git a/include/uapi/linux/usb/cdc.h b/include/uapi/linux/usb/cdc.h index 81a927930bfd..f35aa0a338c7 100644 --- a/include/uapi/linux/usb/cdc.h +++ b/include/uapi/linux/usb/cdc.h | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #define USB_CDC_SUBCLASS_OBEX 0x0b | 19 | #define USB_CDC_SUBCLASS_OBEX 0x0b |
| 20 | #define USB_CDC_SUBCLASS_EEM 0x0c | 20 | #define USB_CDC_SUBCLASS_EEM 0x0c |
| 21 | #define USB_CDC_SUBCLASS_NCM 0x0d | 21 | #define USB_CDC_SUBCLASS_NCM 0x0d |
| 22 | #define USB_CDC_SUBCLASS_MBIM 0x0e | ||
| 22 | 23 | ||
| 23 | #define USB_CDC_PROTO_NONE 0 | 24 | #define USB_CDC_PROTO_NONE 0 |
| 24 | 25 | ||
| @@ -33,6 +34,7 @@ | |||
| 33 | #define USB_CDC_PROTO_EEM 7 | 34 | #define USB_CDC_PROTO_EEM 7 |
| 34 | 35 | ||
| 35 | #define USB_CDC_NCM_PROTO_NTB 1 | 36 | #define USB_CDC_NCM_PROTO_NTB 1 |
| 37 | #define USB_CDC_MBIM_PROTO_NTB 2 | ||
| 36 | 38 | ||
| 37 | /*-------------------------------------------------------------------------*/ | 39 | /*-------------------------------------------------------------------------*/ |
| 38 | 40 | ||
| @@ -53,6 +55,7 @@ | |||
| 53 | #define USB_CDC_DMM_TYPE 0x14 | 55 | #define USB_CDC_DMM_TYPE 0x14 |
| 54 | #define USB_CDC_OBEX_TYPE 0x15 | 56 | #define USB_CDC_OBEX_TYPE 0x15 |
| 55 | #define USB_CDC_NCM_TYPE 0x1a | 57 | #define USB_CDC_NCM_TYPE 0x1a |
| 58 | #define USB_CDC_MBIM_TYPE 0x1b | ||
| 56 | 59 | ||
| 57 | /* "Header Functional Descriptor" from CDC spec 5.2.3.1 */ | 60 | /* "Header Functional Descriptor" from CDC spec 5.2.3.1 */ |
| 58 | struct usb_cdc_header_desc { | 61 | struct usb_cdc_header_desc { |
| @@ -187,6 +190,21 @@ struct usb_cdc_ncm_desc { | |||
| 187 | __le16 bcdNcmVersion; | 190 | __le16 bcdNcmVersion; |
| 188 | __u8 bmNetworkCapabilities; | 191 | __u8 bmNetworkCapabilities; |
| 189 | } __attribute__ ((packed)); | 192 | } __attribute__ ((packed)); |
| 193 | |||
| 194 | /* "MBIM Control Model Functional Descriptor" */ | ||
| 195 | struct usb_cdc_mbim_desc { | ||
| 196 | __u8 bLength; | ||
| 197 | __u8 bDescriptorType; | ||
| 198 | __u8 bDescriptorSubType; | ||
| 199 | |||
| 200 | __le16 bcdMBIMVersion; | ||
| 201 | __le16 wMaxControlMessage; | ||
| 202 | __u8 bNumberFilters; | ||
| 203 | __u8 bMaxFilterSize; | ||
| 204 | __le16 wMaxSegmentSize; | ||
| 205 | __u8 bmNetworkCapabilities; | ||
| 206 | } __attribute__ ((packed)); | ||
| 207 | |||
| 190 | /*-------------------------------------------------------------------------*/ | 208 | /*-------------------------------------------------------------------------*/ |
| 191 | 209 | ||
| 192 | /* | 210 | /* |
| @@ -332,6 +350,11 @@ struct usb_cdc_ncm_nth32 { | |||
| 332 | #define USB_CDC_NCM_NDP32_CRC_SIGN 0x316D636E /* ncm1 */ | 350 | #define USB_CDC_NCM_NDP32_CRC_SIGN 0x316D636E /* ncm1 */ |
| 333 | #define USB_CDC_NCM_NDP32_NOCRC_SIGN 0x306D636E /* ncm0 */ | 351 | #define USB_CDC_NCM_NDP32_NOCRC_SIGN 0x306D636E /* ncm0 */ |
| 334 | 352 | ||
| 353 | #define USB_CDC_MBIM_NDP16_IPS_SIGN 0x00535049 /* IPS<sessionID> : IPS0 for now */ | ||
| 354 | #define USB_CDC_MBIM_NDP32_IPS_SIGN 0x00737069 /* ips<sessionID> : ips0 for now */ | ||
| 355 | #define USB_CDC_MBIM_NDP16_DSS_SIGN 0x00535344 /* DSS<sessionID> */ | ||
| 356 | #define USB_CDC_MBIM_NDP32_DSS_SIGN 0x00737364 /* dss<sessionID> */ | ||
| 357 | |||
| 335 | /* 16-bit NCM Datagram Pointer Entry */ | 358 | /* 16-bit NCM Datagram Pointer Entry */ |
| 336 | struct usb_cdc_ncm_dpe16 { | 359 | struct usb_cdc_ncm_dpe16 { |
| 337 | __le16 wDatagramIndex; | 360 | __le16 wDatagramIndex; |
diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h index 2470f541af50..848e3584d7c8 100644 --- a/include/uapi/linux/virtio_net.h +++ b/include/uapi/linux/virtio_net.h | |||
| @@ -51,6 +51,8 @@ | |||
| 51 | #define VIRTIO_NET_F_CTRL_RX_EXTRA 20 /* Extra RX mode control support */ | 51 | #define VIRTIO_NET_F_CTRL_RX_EXTRA 20 /* Extra RX mode control support */ |
| 52 | #define VIRTIO_NET_F_GUEST_ANNOUNCE 21 /* Guest can announce device on the | 52 | #define VIRTIO_NET_F_GUEST_ANNOUNCE 21 /* Guest can announce device on the |
| 53 | * network */ | 53 | * network */ |
| 54 | #define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow | ||
| 55 | * Steering */ | ||
| 54 | 56 | ||
| 55 | #define VIRTIO_NET_S_LINK_UP 1 /* Link is up */ | 57 | #define VIRTIO_NET_S_LINK_UP 1 /* Link is up */ |
| 56 | #define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */ | 58 | #define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */ |
| @@ -60,6 +62,11 @@ struct virtio_net_config { | |||
| 60 | __u8 mac[6]; | 62 | __u8 mac[6]; |
| 61 | /* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */ | 63 | /* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */ |
| 62 | __u16 status; | 64 | __u16 status; |
| 65 | /* Maximum number of each of transmit and receive queues; | ||
| 66 | * see VIRTIO_NET_F_MQ and VIRTIO_NET_CTRL_MQ. | ||
| 67 | * Legal values are between 1 and 0x8000 | ||
| 68 | */ | ||
| 69 | __u16 max_virtqueue_pairs; | ||
| 63 | } __attribute__((packed)); | 70 | } __attribute__((packed)); |
| 64 | 71 | ||
| 65 | /* This is the first element of the scatter-gather list. If you don't | 72 | /* This is the first element of the scatter-gather list. If you don't |
| @@ -166,4 +173,24 @@ struct virtio_net_ctrl_mac { | |||
| 166 | #define VIRTIO_NET_CTRL_ANNOUNCE 3 | 173 | #define VIRTIO_NET_CTRL_ANNOUNCE 3 |
| 167 | #define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0 | 174 | #define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0 |
| 168 | 175 | ||
| 176 | /* | ||
| 177 | * Control Receive Flow Steering | ||
| 178 | * | ||
| 179 | * The command VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET | ||
| 180 | * enables Receive Flow Steering, specifying the number of the transmit and | ||
| 181 | * receive queues that will be used. After the command is consumed and acked by | ||
| 182 | * the device, the device will not steer new packets on receive virtqueues | ||
| 183 | * other than specified nor read from transmit virtqueues other than specified. | ||
| 184 | * Accordingly, driver should not transmit new packets on virtqueues other than | ||
| 185 | * specified. | ||
| 186 | */ | ||
| 187 | struct virtio_net_ctrl_mq { | ||
| 188 | u16 virtqueue_pairs; | ||
| 189 | }; | ||
| 190 | |||
| 191 | #define VIRTIO_NET_CTRL_MQ 4 | ||
| 192 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET 0 | ||
| 193 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1 | ||
| 194 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000 | ||
| 195 | |||
| 169 | #endif /* _LINUX_VIRTIO_NET_H */ | 196 | #endif /* _LINUX_VIRTIO_NET_H */ |
