diff options
Diffstat (limited to 'include/uapi/linux')
50 files changed, 613 insertions, 24 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 1ff9942718fe..70ff1d9abf0d 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -243,6 +243,7 @@ header-y += limits.h | |||
| 243 | header-y += llc.h | 243 | header-y += llc.h |
| 244 | header-y += loop.h | 244 | header-y += loop.h |
| 245 | header-y += lp.h | 245 | header-y += lp.h |
| 246 | header-y += lwtunnel.h | ||
| 246 | header-y += magic.h | 247 | header-y += magic.h |
| 247 | header-y += major.h | 248 | header-y += major.h |
| 248 | header-y += map_to_7segment.h | 249 | header-y += map_to_7segment.h |
| @@ -455,3 +456,4 @@ header-y += xfrm.h | |||
| 455 | header-y += xilinx-v4l2-controls.h | 456 | header-y += xilinx-v4l2-controls.h |
| 456 | header-y += zorro.h | 457 | header-y += zorro.h |
| 457 | header-y += zorro_ids.h | 458 | header-y += zorro_ids.h |
| 459 | header-y += userfaultfd.h | ||
diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h index d3475e1f15ec..843540c398eb 100644 --- a/include/uapi/linux/audit.h +++ b/include/uapi/linux/audit.h | |||
| @@ -266,6 +266,7 @@ | |||
| 266 | #define AUDIT_OBJ_UID 109 | 266 | #define AUDIT_OBJ_UID 109 |
| 267 | #define AUDIT_OBJ_GID 110 | 267 | #define AUDIT_OBJ_GID 110 |
| 268 | #define AUDIT_FIELD_COMPARE 111 | 268 | #define AUDIT_FIELD_COMPARE 111 |
| 269 | #define AUDIT_EXE 112 | ||
| 269 | 270 | ||
| 270 | #define AUDIT_ARG0 200 | 271 | #define AUDIT_ARG0 200 |
| 271 | #define AUDIT_ARG1 (AUDIT_ARG0+1) | 272 | #define AUDIT_ARG1 (AUDIT_ARG0+1) |
| @@ -324,8 +325,10 @@ enum { | |||
| 324 | 325 | ||
| 325 | #define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001 | 326 | #define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001 |
| 326 | #define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002 | 327 | #define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002 |
| 328 | #define AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH 0x00000004 | ||
| 327 | #define AUDIT_FEATURE_BITMAP_ALL (AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | \ | 329 | #define AUDIT_FEATURE_BITMAP_ALL (AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | \ |
| 328 | AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME) | 330 | AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME | \ |
| 331 | AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH) | ||
| 329 | 332 | ||
| 330 | /* deprecated: AUDIT_VERSION_* */ | 333 | /* deprecated: AUDIT_VERSION_* */ |
| 331 | #define AUDIT_VERSION_LATEST AUDIT_FEATURE_BITMAP_ALL | 334 | #define AUDIT_VERSION_LATEST AUDIT_FEATURE_BITMAP_ALL |
| @@ -382,6 +385,9 @@ enum { | |||
| 382 | #define AUDIT_ARCH_SHEL64 (EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 385 | #define AUDIT_ARCH_SHEL64 (EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
| 383 | #define AUDIT_ARCH_SPARC (EM_SPARC) | 386 | #define AUDIT_ARCH_SPARC (EM_SPARC) |
| 384 | #define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT) | 387 | #define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT) |
| 388 | #define AUDIT_ARCH_TILEGX (EM_TILEGX|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | ||
| 389 | #define AUDIT_ARCH_TILEGX32 (EM_TILEGX|__AUDIT_ARCH_LE) | ||
| 390 | #define AUDIT_ARCH_TILEPRO (EM_TILEPRO|__AUDIT_ARCH_LE) | ||
| 385 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 391 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
| 386 | 392 | ||
| 387 | #define AUDIT_PERM_EXEC 1 | 393 | #define AUDIT_PERM_EXEC 1 |
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index 29ef6f99e43d..92a48e2d5461 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h | |||
| @@ -114,6 +114,7 @@ enum bpf_map_type { | |||
| 114 | BPF_MAP_TYPE_HASH, | 114 | BPF_MAP_TYPE_HASH, |
| 115 | BPF_MAP_TYPE_ARRAY, | 115 | BPF_MAP_TYPE_ARRAY, |
| 116 | BPF_MAP_TYPE_PROG_ARRAY, | 116 | BPF_MAP_TYPE_PROG_ARRAY, |
| 117 | BPF_MAP_TYPE_PERF_EVENT_ARRAY, | ||
| 117 | }; | 118 | }; |
| 118 | 119 | ||
| 119 | enum bpf_prog_type { | 120 | enum bpf_prog_type { |
| @@ -249,6 +250,28 @@ enum bpf_func_id { | |||
| 249 | * Return: 0 on success | 250 | * Return: 0 on success |
| 250 | */ | 251 | */ |
| 251 | BPF_FUNC_get_current_comm, | 252 | BPF_FUNC_get_current_comm, |
| 253 | |||
| 254 | /** | ||
| 255 | * bpf_get_cgroup_classid(skb) - retrieve a proc's classid | ||
| 256 | * @skb: pointer to skb | ||
| 257 | * Return: classid if != 0 | ||
| 258 | */ | ||
| 259 | BPF_FUNC_get_cgroup_classid, | ||
| 260 | BPF_FUNC_skb_vlan_push, /* bpf_skb_vlan_push(skb, vlan_proto, vlan_tci) */ | ||
| 261 | BPF_FUNC_skb_vlan_pop, /* bpf_skb_vlan_pop(skb) */ | ||
| 262 | |||
| 263 | /** | ||
| 264 | * bpf_skb_[gs]et_tunnel_key(skb, key, size, flags) | ||
| 265 | * retrieve or populate tunnel metadata | ||
| 266 | * @skb: pointer to skb | ||
| 267 | * @key: pointer to 'struct bpf_tunnel_key' | ||
| 268 | * @size: size of 'struct bpf_tunnel_key' | ||
| 269 | * @flags: room for future extensions | ||
| 270 | * Retrun: 0 on success | ||
| 271 | */ | ||
| 272 | BPF_FUNC_skb_get_tunnel_key, | ||
| 273 | BPF_FUNC_skb_set_tunnel_key, | ||
| 274 | BPF_FUNC_perf_event_read, /* u64 bpf_perf_event_read(&map, index) */ | ||
| 252 | __BPF_FUNC_MAX_ID, | 275 | __BPF_FUNC_MAX_ID, |
| 253 | }; | 276 | }; |
| 254 | 277 | ||
| @@ -269,6 +292,12 @@ struct __sk_buff { | |||
| 269 | __u32 ifindex; | 292 | __u32 ifindex; |
| 270 | __u32 tc_index; | 293 | __u32 tc_index; |
| 271 | __u32 cb[5]; | 294 | __u32 cb[5]; |
| 295 | __u32 hash; | ||
| 296 | }; | ||
| 297 | |||
| 298 | struct bpf_tunnel_key { | ||
| 299 | __u32 tunnel_id; | ||
| 300 | __u32 remote_ipv4; | ||
| 272 | }; | 301 | }; |
| 273 | 302 | ||
| 274 | #endif /* _UAPI__LINUX_BPF_H__ */ | 303 | #endif /* _UAPI__LINUX_BPF_H__ */ |
diff --git a/include/uapi/linux/dlm_device.h b/include/uapi/linux/dlm_device.h index 3060783c4191..df56c8ff0769 100644 --- a/include/uapi/linux/dlm_device.h +++ b/include/uapi/linux/dlm_device.h | |||
| @@ -26,7 +26,7 @@ | |||
| 26 | /* Version of the device interface */ | 26 | /* Version of the device interface */ |
| 27 | #define DLM_DEVICE_VERSION_MAJOR 6 | 27 | #define DLM_DEVICE_VERSION_MAJOR 6 |
| 28 | #define DLM_DEVICE_VERSION_MINOR 0 | 28 | #define DLM_DEVICE_VERSION_MINOR 0 |
| 29 | #define DLM_DEVICE_VERSION_PATCH 1 | 29 | #define DLM_DEVICE_VERSION_PATCH 2 |
| 30 | 30 | ||
| 31 | /* struct passed to the lock write */ | 31 | /* struct passed to the lock write */ |
| 32 | struct dlm_lock_params { | 32 | struct dlm_lock_params { |
diff --git a/include/uapi/linux/dm-ioctl.h b/include/uapi/linux/dm-ioctl.h index 061aca3a962d..d34611e35a30 100644 --- a/include/uapi/linux/dm-ioctl.h +++ b/include/uapi/linux/dm-ioctl.h | |||
| @@ -267,9 +267,9 @@ enum { | |||
| 267 | #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) | 267 | #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) |
| 268 | 268 | ||
| 269 | #define DM_VERSION_MAJOR 4 | 269 | #define DM_VERSION_MAJOR 4 |
| 270 | #define DM_VERSION_MINOR 32 | 270 | #define DM_VERSION_MINOR 33 |
| 271 | #define DM_VERSION_PATCHLEVEL 0 | 271 | #define DM_VERSION_PATCHLEVEL 0 |
| 272 | #define DM_VERSION_EXTRA "-ioctl (2015-6-26)" | 272 | #define DM_VERSION_EXTRA "-ioctl (2015-8-18)" |
| 273 | 273 | ||
| 274 | /* Status bits */ | 274 | /* Status bits */ |
| 275 | #define DM_READONLY_FLAG (1 << 0) /* In/Out */ | 275 | #define DM_READONLY_FLAG (1 << 0) /* In/Out */ |
diff --git a/include/uapi/linux/elf-em.h b/include/uapi/linux/elf-em.h index b08829667ed7..3429a3ba382b 100644 --- a/include/uapi/linux/elf-em.h +++ b/include/uapi/linux/elf-em.h | |||
| @@ -38,6 +38,8 @@ | |||
| 38 | #define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */ | 38 | #define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */ |
| 39 | #define EM_TI_C6000 140 /* TI C6X DSPs */ | 39 | #define EM_TI_C6000 140 /* TI C6X DSPs */ |
| 40 | #define EM_AARCH64 183 /* ARM 64 bit */ | 40 | #define EM_AARCH64 183 /* ARM 64 bit */ |
| 41 | #define EM_TILEPRO 188 /* Tilera TILEPro */ | ||
| 42 | #define EM_TILEGX 191 /* Tilera TILE-Gx */ | ||
| 41 | #define EM_FRV 0x5441 /* Fujitsu FR-V */ | 43 | #define EM_FRV 0x5441 /* Fujitsu FR-V */ |
| 42 | #define EM_AVR32 0x18ad /* Atmel AVR32 */ | 44 | #define EM_AVR32 0x18ad /* Atmel AVR32 */ |
| 43 | 45 | ||
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index cd67aec187d9..cd1629170103 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h | |||
| @@ -1093,6 +1093,11 @@ struct ethtool_sfeatures { | |||
| 1093 | * the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values, | 1093 | * the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values, |
| 1094 | * respectively. For example, if the device supports HWTSTAMP_TX_ON, | 1094 | * respectively. For example, if the device supports HWTSTAMP_TX_ON, |
| 1095 | * then (1 << HWTSTAMP_TX_ON) in 'tx_types' will be set. | 1095 | * then (1 << HWTSTAMP_TX_ON) in 'tx_types' will be set. |
| 1096 | * | ||
| 1097 | * Drivers should only report the filters they actually support without | ||
| 1098 | * upscaling in the SIOCSHWTSTAMP ioctl. If the SIOCSHWSTAMP request for | ||
| 1099 | * HWTSTAMP_FILTER_V1_SYNC is supported by HWTSTAMP_FILTER_V1_EVENT, then the | ||
| 1100 | * driver should only report HWTSTAMP_FILTER_V1_EVENT in this op. | ||
| 1096 | */ | 1101 | */ |
| 1097 | struct ethtool_ts_info { | 1102 | struct ethtool_ts_info { |
| 1098 | __u32 cmd; | 1103 | __u32 cmd; |
diff --git a/include/uapi/linux/fib_rules.h b/include/uapi/linux/fib_rules.h index 2b82d7e30974..96161b8202b5 100644 --- a/include/uapi/linux/fib_rules.h +++ b/include/uapi/linux/fib_rules.h | |||
| @@ -43,7 +43,7 @@ enum { | |||
| 43 | FRA_UNUSED5, | 43 | FRA_UNUSED5, |
| 44 | FRA_FWMARK, /* mark */ | 44 | FRA_FWMARK, /* mark */ |
| 45 | FRA_FLOW, /* flow/class id */ | 45 | FRA_FLOW, /* flow/class id */ |
| 46 | FRA_UNUSED6, | 46 | FRA_TUN_ID, |
| 47 | FRA_SUPPRESS_IFGROUP, | 47 | FRA_SUPPRESS_IFGROUP, |
| 48 | FRA_SUPPRESS_PREFIXLEN, | 48 | FRA_SUPPRESS_PREFIXLEN, |
| 49 | FRA_TABLE, /* Extended table id */ | 49 | FRA_TABLE, /* Extended table id */ |
diff --git a/include/uapi/linux/gsmmux.h b/include/uapi/linux/gsmmux.h index c06742d52856..ab055d8cddef 100644 --- a/include/uapi/linux/gsmmux.h +++ b/include/uapi/linux/gsmmux.h | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #include <linux/if.h> | 4 | #include <linux/if.h> |
| 5 | #include <linux/ioctl.h> | 5 | #include <linux/ioctl.h> |
| 6 | #include <linux/types.h> | ||
| 6 | 7 | ||
| 7 | struct gsm_config | 8 | struct gsm_config |
| 8 | { | 9 | { |
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h index eaaea6208b42..3635b7797508 100644 --- a/include/uapi/linux/if_bridge.h +++ b/include/uapi/linux/if_bridge.h | |||
| @@ -182,6 +182,7 @@ struct br_mdb_entry { | |||
| 182 | #define MDB_TEMPORARY 0 | 182 | #define MDB_TEMPORARY 0 |
| 183 | #define MDB_PERMANENT 1 | 183 | #define MDB_PERMANENT 1 |
| 184 | __u8 state; | 184 | __u8 state; |
| 185 | __u16 vid; | ||
| 185 | struct { | 186 | struct { |
| 186 | union { | 187 | union { |
| 187 | __be32 ip4; | 188 | __be32 ip4; |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 2c7e8e3d3981..3a5f263cfc2f 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -148,6 +148,7 @@ enum { | |||
| 148 | IFLA_PHYS_SWITCH_ID, | 148 | IFLA_PHYS_SWITCH_ID, |
| 149 | IFLA_LINK_NETNSID, | 149 | IFLA_LINK_NETNSID, |
| 150 | IFLA_PHYS_PORT_NAME, | 150 | IFLA_PHYS_PORT_NAME, |
| 151 | IFLA_PROTO_DOWN, | ||
| 151 | __IFLA_MAX | 152 | __IFLA_MAX |
| 152 | }; | 153 | }; |
| 153 | 154 | ||
| @@ -229,6 +230,8 @@ enum { | |||
| 229 | IFLA_BR_AGEING_TIME, | 230 | IFLA_BR_AGEING_TIME, |
| 230 | IFLA_BR_STP_STATE, | 231 | IFLA_BR_STP_STATE, |
| 231 | IFLA_BR_PRIORITY, | 232 | IFLA_BR_PRIORITY, |
| 233 | IFLA_BR_VLAN_FILTERING, | ||
| 234 | IFLA_BR_VLAN_PROTOCOL, | ||
| 232 | __IFLA_BR_MAX, | 235 | __IFLA_BR_MAX, |
| 233 | }; | 236 | }; |
| 234 | 237 | ||
| @@ -339,6 +342,15 @@ enum macvlan_macaddr_mode { | |||
| 339 | 342 | ||
| 340 | #define MACVLAN_FLAG_NOPROMISC 1 | 343 | #define MACVLAN_FLAG_NOPROMISC 1 |
| 341 | 344 | ||
| 345 | /* VRF section */ | ||
| 346 | enum { | ||
| 347 | IFLA_VRF_UNSPEC, | ||
| 348 | IFLA_VRF_TABLE, | ||
| 349 | __IFLA_VRF_MAX | ||
| 350 | }; | ||
| 351 | |||
| 352 | #define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1) | ||
| 353 | |||
| 342 | /* IPVLAN section */ | 354 | /* IPVLAN section */ |
| 343 | enum { | 355 | enum { |
| 344 | IFLA_IPVLAN_UNSPEC, | 356 | IFLA_IPVLAN_UNSPEC, |
| @@ -381,6 +393,7 @@ enum { | |||
| 381 | IFLA_VXLAN_REMCSUM_RX, | 393 | IFLA_VXLAN_REMCSUM_RX, |
| 382 | IFLA_VXLAN_GBP, | 394 | IFLA_VXLAN_GBP, |
| 383 | IFLA_VXLAN_REMCSUM_NOPARTIAL, | 395 | IFLA_VXLAN_REMCSUM_NOPARTIAL, |
| 396 | IFLA_VXLAN_COLLECT_METADATA, | ||
| 384 | __IFLA_VXLAN_MAX | 397 | __IFLA_VXLAN_MAX |
| 385 | }; | 398 | }; |
| 386 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) | 399 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) |
| @@ -397,6 +410,8 @@ enum { | |||
| 397 | IFLA_GENEVE_REMOTE, | 410 | IFLA_GENEVE_REMOTE, |
| 398 | IFLA_GENEVE_TTL, | 411 | IFLA_GENEVE_TTL, |
| 399 | IFLA_GENEVE_TOS, | 412 | IFLA_GENEVE_TOS, |
| 413 | IFLA_GENEVE_PORT, /* destination port */ | ||
| 414 | IFLA_GENEVE_COLLECT_METADATA, | ||
| 400 | __IFLA_GENEVE_MAX | 415 | __IFLA_GENEVE_MAX |
| 401 | }; | 416 | }; |
| 402 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) | 417 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) |
| @@ -431,6 +446,7 @@ enum { | |||
| 431 | IFLA_BOND_AD_ACTOR_SYS_PRIO, | 446 | IFLA_BOND_AD_ACTOR_SYS_PRIO, |
| 432 | IFLA_BOND_AD_USER_PORT_KEY, | 447 | IFLA_BOND_AD_USER_PORT_KEY, |
| 433 | IFLA_BOND_AD_ACTOR_SYSTEM, | 448 | IFLA_BOND_AD_ACTOR_SYSTEM, |
| 449 | IFLA_BOND_TLB_DYNAMIC_LB, | ||
| 434 | __IFLA_BOND_MAX, | 450 | __IFLA_BOND_MAX, |
| 435 | }; | 451 | }; |
| 436 | 452 | ||
diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h index d3d715f8c88f..9e7edfd8141e 100644 --- a/include/uapi/linux/if_packet.h +++ b/include/uapi/linux/if_packet.h | |||
| @@ -55,6 +55,7 @@ struct sockaddr_ll { | |||
| 55 | #define PACKET_TX_HAS_OFF 19 | 55 | #define PACKET_TX_HAS_OFF 19 |
| 56 | #define PACKET_QDISC_BYPASS 20 | 56 | #define PACKET_QDISC_BYPASS 20 |
| 57 | #define PACKET_ROLLOVER_STATS 21 | 57 | #define PACKET_ROLLOVER_STATS 21 |
| 58 | #define PACKET_FANOUT_DATA 22 | ||
| 58 | 59 | ||
| 59 | #define PACKET_FANOUT_HASH 0 | 60 | #define PACKET_FANOUT_HASH 0 |
| 60 | #define PACKET_FANOUT_LB 1 | 61 | #define PACKET_FANOUT_LB 1 |
| @@ -62,6 +63,8 @@ struct sockaddr_ll { | |||
| 62 | #define PACKET_FANOUT_ROLLOVER 3 | 63 | #define PACKET_FANOUT_ROLLOVER 3 |
| 63 | #define PACKET_FANOUT_RND 4 | 64 | #define PACKET_FANOUT_RND 4 |
| 64 | #define PACKET_FANOUT_QM 5 | 65 | #define PACKET_FANOUT_QM 5 |
| 66 | #define PACKET_FANOUT_CBPF 6 | ||
| 67 | #define PACKET_FANOUT_EBPF 7 | ||
| 65 | #define PACKET_FANOUT_FLAG_ROLLOVER 0x1000 | 68 | #define PACKET_FANOUT_FLAG_ROLLOVER 0x1000 |
| 66 | #define PACKET_FANOUT_FLAG_DEFRAG 0x8000 | 69 | #define PACKET_FANOUT_FLAG_DEFRAG 0x8000 |
| 67 | 70 | ||
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h index bd3cc11a431f..af4de90ba27d 100644 --- a/include/uapi/linux/if_tunnel.h +++ b/include/uapi/linux/if_tunnel.h | |||
| @@ -112,6 +112,7 @@ enum { | |||
| 112 | IFLA_GRE_ENCAP_FLAGS, | 112 | IFLA_GRE_ENCAP_FLAGS, |
| 113 | IFLA_GRE_ENCAP_SPORT, | 113 | IFLA_GRE_ENCAP_SPORT, |
| 114 | IFLA_GRE_ENCAP_DPORT, | 114 | IFLA_GRE_ENCAP_DPORT, |
| 115 | IFLA_GRE_COLLECT_METADATA, | ||
| 115 | __IFLA_GRE_MAX, | 116 | __IFLA_GRE_MAX, |
| 116 | }; | 117 | }; |
| 117 | 118 | ||
diff --git a/include/uapi/linux/ila.h b/include/uapi/linux/ila.h new file mode 100644 index 000000000000..7ed9e670814e --- /dev/null +++ b/include/uapi/linux/ila.h | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | /* ila.h - ILA Interface */ | ||
| 2 | |||
| 3 | #ifndef _UAPI_LINUX_ILA_H | ||
| 4 | #define _UAPI_LINUX_ILA_H | ||
| 5 | |||
| 6 | enum { | ||
| 7 | ILA_ATTR_UNSPEC, | ||
| 8 | ILA_ATTR_LOCATOR, /* u64 */ | ||
| 9 | |||
| 10 | __ILA_ATTR_MAX, | ||
| 11 | }; | ||
| 12 | |||
| 13 | #define ILA_ATTR_MAX (__ILA_ATTR_MAX - 1) | ||
| 14 | |||
| 15 | #endif /* _UAPI_LINUX_ILA_H */ | ||
diff --git a/include/uapi/linux/ip_vs.h b/include/uapi/linux/ip_vs.h index 3199243f2028..391395c06c7e 100644 --- a/include/uapi/linux/ip_vs.h +++ b/include/uapi/linux/ip_vs.h | |||
| @@ -406,6 +406,11 @@ enum { | |||
| 406 | IPVS_DAEMON_ATTR_STATE, /* sync daemon state (master/backup) */ | 406 | IPVS_DAEMON_ATTR_STATE, /* sync daemon state (master/backup) */ |
| 407 | IPVS_DAEMON_ATTR_MCAST_IFN, /* multicast interface name */ | 407 | IPVS_DAEMON_ATTR_MCAST_IFN, /* multicast interface name */ |
| 408 | IPVS_DAEMON_ATTR_SYNC_ID, /* SyncID we belong to */ | 408 | IPVS_DAEMON_ATTR_SYNC_ID, /* SyncID we belong to */ |
| 409 | IPVS_DAEMON_ATTR_SYNC_MAXLEN, /* UDP Payload Size */ | ||
| 410 | IPVS_DAEMON_ATTR_MCAST_GROUP, /* IPv4 Multicast Address */ | ||
| 411 | IPVS_DAEMON_ATTR_MCAST_GROUP6, /* IPv6 Multicast Address */ | ||
| 412 | IPVS_DAEMON_ATTR_MCAST_PORT, /* Multicast Port (base) */ | ||
| 413 | IPVS_DAEMON_ATTR_MCAST_TTL, /* Multicast TTL */ | ||
| 409 | __IPVS_DAEMON_ATTR_MAX, | 414 | __IPVS_DAEMON_ATTR_MAX, |
| 410 | }; | 415 | }; |
| 411 | 416 | ||
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h index 5efa54ae567c..38b4fef20219 100644 --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h | |||
| @@ -171,6 +171,9 @@ enum { | |||
| 171 | DEVCONF_USE_OPTIMISTIC, | 171 | DEVCONF_USE_OPTIMISTIC, |
| 172 | DEVCONF_ACCEPT_RA_MTU, | 172 | DEVCONF_ACCEPT_RA_MTU, |
| 173 | DEVCONF_STABLE_SECRET, | 173 | DEVCONF_STABLE_SECRET, |
| 174 | DEVCONF_USE_OIF_ADDRS_ONLY, | ||
| 175 | DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT, | ||
| 176 | DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN, | ||
| 174 | DEVCONF_MAX | 177 | DEVCONF_MAX |
| 175 | }; | 178 | }; |
| 176 | 179 | ||
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index 716ad4ae4d4b..0d831f94f8a8 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h | |||
| @@ -317,6 +317,7 @@ struct kvm_run { | |||
| 317 | struct { | 317 | struct { |
| 318 | #define KVM_SYSTEM_EVENT_SHUTDOWN 1 | 318 | #define KVM_SYSTEM_EVENT_SHUTDOWN 1 |
| 319 | #define KVM_SYSTEM_EVENT_RESET 2 | 319 | #define KVM_SYSTEM_EVENT_RESET 2 |
| 320 | #define KVM_SYSTEM_EVENT_CRASH 3 | ||
| 320 | __u32 type; | 321 | __u32 type; |
| 321 | __u64 flags; | 322 | __u64 flags; |
| 322 | } system_event; | 323 | } system_event; |
| @@ -481,6 +482,7 @@ struct kvm_s390_psw { | |||
| 481 | ((ai) << 26)) | 482 | ((ai) << 26)) |
| 482 | #define KVM_S390_INT_IO_MIN 0x00000000u | 483 | #define KVM_S390_INT_IO_MIN 0x00000000u |
| 483 | #define KVM_S390_INT_IO_MAX 0xfffdffffu | 484 | #define KVM_S390_INT_IO_MAX 0xfffdffffu |
| 485 | #define KVM_S390_INT_IO_AI_MASK 0x04000000u | ||
| 484 | 486 | ||
| 485 | 487 | ||
| 486 | struct kvm_s390_interrupt { | 488 | struct kvm_s390_interrupt { |
diff --git a/include/uapi/linux/lwtunnel.h b/include/uapi/linux/lwtunnel.h new file mode 100644 index 000000000000..34141a5dfe74 --- /dev/null +++ b/include/uapi/linux/lwtunnel.h | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | #ifndef _UAPI_LWTUNNEL_H_ | ||
| 2 | #define _UAPI_LWTUNNEL_H_ | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 6 | enum lwtunnel_encap_types { | ||
| 7 | LWTUNNEL_ENCAP_NONE, | ||
| 8 | LWTUNNEL_ENCAP_MPLS, | ||
| 9 | LWTUNNEL_ENCAP_IP, | ||
| 10 | LWTUNNEL_ENCAP_ILA, | ||
| 11 | LWTUNNEL_ENCAP_IP6, | ||
| 12 | __LWTUNNEL_ENCAP_MAX, | ||
| 13 | }; | ||
| 14 | |||
| 15 | #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) | ||
| 16 | |||
| 17 | enum lwtunnel_ip_t { | ||
| 18 | LWTUNNEL_IP_UNSPEC, | ||
| 19 | LWTUNNEL_IP_ID, | ||
| 20 | LWTUNNEL_IP_DST, | ||
| 21 | LWTUNNEL_IP_SRC, | ||
| 22 | LWTUNNEL_IP_TTL, | ||
| 23 | LWTUNNEL_IP_TOS, | ||
| 24 | LWTUNNEL_IP_SPORT, | ||
| 25 | LWTUNNEL_IP_DPORT, | ||
| 26 | LWTUNNEL_IP_FLAGS, | ||
| 27 | __LWTUNNEL_IP_MAX, | ||
| 28 | }; | ||
| 29 | |||
| 30 | #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1) | ||
| 31 | |||
| 32 | enum lwtunnel_ip6_t { | ||
| 33 | LWTUNNEL_IP6_UNSPEC, | ||
| 34 | LWTUNNEL_IP6_ID, | ||
| 35 | LWTUNNEL_IP6_DST, | ||
| 36 | LWTUNNEL_IP6_SRC, | ||
| 37 | LWTUNNEL_IP6_HOPLIMIT, | ||
| 38 | LWTUNNEL_IP6_TC, | ||
| 39 | LWTUNNEL_IP6_SPORT, | ||
| 40 | LWTUNNEL_IP6_DPORT, | ||
| 41 | LWTUNNEL_IP6_FLAGS, | ||
| 42 | __LWTUNNEL_IP6_MAX, | ||
| 43 | }; | ||
| 44 | |||
| 45 | #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) | ||
| 46 | |||
| 47 | #endif /* _UAPI_LWTUNNEL_H_ */ | ||
diff --git a/include/uapi/linux/mei.h b/include/uapi/linux/mei.h index bc0d8b69c49e..7c3b64f6a215 100644 --- a/include/uapi/linux/mei.h +++ b/include/uapi/linux/mei.h | |||
| @@ -107,4 +107,23 @@ struct mei_connect_client_data { | |||
| 107 | }; | 107 | }; |
| 108 | }; | 108 | }; |
| 109 | 109 | ||
| 110 | /** | ||
| 111 | * DOC: set and unset event notification for a connected client | ||
| 112 | * | ||
| 113 | * The IOCTL argument is 1 for enabling event notification and 0 for | ||
| 114 | * disabling the service | ||
| 115 | * Return: -EOPNOTSUPP if the devices doesn't support the feature | ||
| 116 | */ | ||
| 117 | #define IOCTL_MEI_NOTIFY_SET _IOW('H', 0x02, __u32) | ||
| 118 | |||
| 119 | /** | ||
| 120 | * DOC: retrieve notification | ||
| 121 | * | ||
| 122 | * The IOCTL output argument is 1 if an event was is pending and 0 otherwise | ||
| 123 | * the ioctl has to be called in order to acknowledge pending event | ||
| 124 | * | ||
| 125 | * Return: -EOPNOTSUPP if the devices doesn't support the feature | ||
| 126 | */ | ||
| 127 | #define IOCTL_MEI_NOTIFY_GET _IOR('H', 0x03, __u32) | ||
| 128 | |||
| 110 | #endif /* _LINUX_MEI_H */ | 129 | #endif /* _LINUX_MEI_H */ |
diff --git a/include/uapi/linux/mpls.h b/include/uapi/linux/mpls.h index 139d4dd1cab8..24a6cb1aec86 100644 --- a/include/uapi/linux/mpls.h +++ b/include/uapi/linux/mpls.h | |||
| @@ -41,4 +41,6 @@ struct mpls_label { | |||
| 41 | #define MPLS_LABEL_OAMALERT 14 /* RFC3429 */ | 41 | #define MPLS_LABEL_OAMALERT 14 /* RFC3429 */ |
| 42 | #define MPLS_LABEL_EXTENSION 15 /* RFC7274 */ | 42 | #define MPLS_LABEL_EXTENSION 15 /* RFC7274 */ |
| 43 | 43 | ||
| 44 | #define MPLS_LABEL_FIRST_UNRESERVED 16 /* RFC3032 */ | ||
| 45 | |||
| 44 | #endif /* _UAPI_MPLS_H */ | 46 | #endif /* _UAPI_MPLS_H */ |
diff --git a/include/uapi/linux/mpls_iptunnel.h b/include/uapi/linux/mpls_iptunnel.h new file mode 100644 index 000000000000..d80a0498f77e --- /dev/null +++ b/include/uapi/linux/mpls_iptunnel.h | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | /* | ||
| 2 | * mpls tunnel api | ||
| 3 | * | ||
| 4 | * Authors: | ||
| 5 | * Roopa Prabhu <roopa@cumulusnetworks.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or | ||
| 8 | * modify it under the terms of the GNU General Public License | ||
| 9 | * as published by the Free Software Foundation; either version | ||
| 10 | * 2 of the License, or (at your option) any later version. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef _UAPI_LINUX_MPLS_IPTUNNEL_H | ||
| 14 | #define _UAPI_LINUX_MPLS_IPTUNNEL_H | ||
| 15 | |||
| 16 | /* MPLS tunnel attributes | ||
| 17 | * [RTA_ENCAP] = { | ||
| 18 | * [MPLS_IPTUNNEL_DST] | ||
| 19 | * } | ||
| 20 | */ | ||
| 21 | enum { | ||
| 22 | MPLS_IPTUNNEL_UNSPEC, | ||
| 23 | MPLS_IPTUNNEL_DST, | ||
| 24 | __MPLS_IPTUNNEL_MAX, | ||
| 25 | }; | ||
| 26 | #define MPLS_IPTUNNEL_MAX (__MPLS_IPTUNNEL_MAX - 1) | ||
| 27 | |||
| 28 | #endif /* _UAPI_LINUX_MPLS_IPTUNNEL_H */ | ||
diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h index 2b94ea2287bb..5b4a4be06e2b 100644 --- a/include/uapi/linux/ndctl.h +++ b/include/uapi/linux/ndctl.h | |||
| @@ -87,7 +87,7 @@ struct nd_cmd_ars_status { | |||
| 87 | __u32 handle; | 87 | __u32 handle; |
| 88 | __u32 flags; | 88 | __u32 flags; |
| 89 | __u64 err_address; | 89 | __u64 err_address; |
| 90 | __u64 mask; | 90 | __u64 length; |
| 91 | } __packed records[0]; | 91 | } __packed records[0]; |
| 92 | } __packed; | 92 | } __packed; |
| 93 | 93 | ||
| @@ -111,6 +111,11 @@ enum { | |||
| 111 | ND_CMD_VENDOR = 9, | 111 | ND_CMD_VENDOR = 9, |
| 112 | }; | 112 | }; |
| 113 | 113 | ||
| 114 | enum { | ||
| 115 | ND_ARS_VOLATILE = 1, | ||
| 116 | ND_ARS_PERSISTENT = 2, | ||
| 117 | }; | ||
| 118 | |||
| 114 | static inline const char *nvdimm_bus_cmd_name(unsigned cmd) | 119 | static inline const char *nvdimm_bus_cmd_name(unsigned cmd) |
| 115 | { | 120 | { |
| 116 | static const char * const names[] = { | 121 | static const char * const names[] = { |
| @@ -194,4 +199,9 @@ enum nd_driver_flags { | |||
| 194 | enum { | 199 | enum { |
| 195 | ND_MIN_NAMESPACE_SIZE = 0x00400000, | 200 | ND_MIN_NAMESPACE_SIZE = 0x00400000, |
| 196 | }; | 201 | }; |
| 202 | |||
| 203 | enum ars_masks { | ||
| 204 | ARS_STATUS_MASK = 0x0000FFFF, | ||
| 205 | ARS_EXT_STATUS_SHIFT = 16, | ||
| 206 | }; | ||
| 197 | #endif /* __NDCTL_H__ */ | 207 | #endif /* __NDCTL_H__ */ |
diff --git a/include/uapi/linux/neighbour.h b/include/uapi/linux/neighbour.h index 2e35c61bbdd1..788655bfa0f3 100644 --- a/include/uapi/linux/neighbour.h +++ b/include/uapi/linux/neighbour.h | |||
| @@ -106,6 +106,7 @@ struct ndt_stats { | |||
| 106 | __u64 ndts_rcv_probes_ucast; | 106 | __u64 ndts_rcv_probes_ucast; |
| 107 | __u64 ndts_periodic_gc_runs; | 107 | __u64 ndts_periodic_gc_runs; |
| 108 | __u64 ndts_forced_gc_runs; | 108 | __u64 ndts_forced_gc_runs; |
| 109 | __u64 ndts_table_fulls; | ||
| 109 | }; | 110 | }; |
| 110 | 111 | ||
| 111 | enum { | 112 | enum { |
diff --git a/include/uapi/linux/netconf.h b/include/uapi/linux/netconf.h index 669a1f0b1d97..23cbd34e4ac7 100644 --- a/include/uapi/linux/netconf.h +++ b/include/uapi/linux/netconf.h | |||
| @@ -15,6 +15,7 @@ enum { | |||
| 15 | NETCONFA_RP_FILTER, | 15 | NETCONFA_RP_FILTER, |
| 16 | NETCONFA_MC_FORWARDING, | 16 | NETCONFA_MC_FORWARDING, |
| 17 | NETCONFA_PROXY_NEIGH, | 17 | NETCONFA_PROXY_NEIGH, |
| 18 | NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, | ||
| 18 | __NETCONFA_MAX | 19 | __NETCONFA_MAX |
| 19 | }; | 20 | }; |
| 20 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) | 21 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) |
diff --git a/include/uapi/linux/netfilter/nf_conntrack_sctp.h b/include/uapi/linux/netfilter/nf_conntrack_sctp.h index ceeefe6681b5..ed4e776e1242 100644 --- a/include/uapi/linux/netfilter/nf_conntrack_sctp.h +++ b/include/uapi/linux/netfilter/nf_conntrack_sctp.h | |||
| @@ -13,6 +13,8 @@ enum sctp_conntrack { | |||
| 13 | SCTP_CONNTRACK_SHUTDOWN_SENT, | 13 | SCTP_CONNTRACK_SHUTDOWN_SENT, |
| 14 | SCTP_CONNTRACK_SHUTDOWN_RECD, | 14 | SCTP_CONNTRACK_SHUTDOWN_RECD, |
| 15 | SCTP_CONNTRACK_SHUTDOWN_ACK_SENT, | 15 | SCTP_CONNTRACK_SHUTDOWN_ACK_SENT, |
| 16 | SCTP_CONNTRACK_HEARTBEAT_SENT, | ||
| 17 | SCTP_CONNTRACK_HEARTBEAT_ACKED, | ||
| 16 | SCTP_CONNTRACK_MAX | 18 | SCTP_CONNTRACK_MAX |
| 17 | }; | 19 | }; |
| 18 | 20 | ||
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h index a99e6a997140..d8c8a7c9d88a 100644 --- a/include/uapi/linux/netfilter/nf_tables.h +++ b/include/uapi/linux/netfilter/nf_tables.h | |||
| @@ -756,16 +756,25 @@ enum nft_ct_attributes { | |||
| 756 | }; | 756 | }; |
| 757 | #define NFTA_CT_MAX (__NFTA_CT_MAX - 1) | 757 | #define NFTA_CT_MAX (__NFTA_CT_MAX - 1) |
| 758 | 758 | ||
| 759 | enum nft_limit_type { | ||
| 760 | NFT_LIMIT_PKTS, | ||
| 761 | NFT_LIMIT_PKT_BYTES | ||
| 762 | }; | ||
| 763 | |||
| 759 | /** | 764 | /** |
| 760 | * enum nft_limit_attributes - nf_tables limit expression netlink attributes | 765 | * enum nft_limit_attributes - nf_tables limit expression netlink attributes |
| 761 | * | 766 | * |
| 762 | * @NFTA_LIMIT_RATE: refill rate (NLA_U64) | 767 | * @NFTA_LIMIT_RATE: refill rate (NLA_U64) |
| 763 | * @NFTA_LIMIT_UNIT: refill unit (NLA_U64) | 768 | * @NFTA_LIMIT_UNIT: refill unit (NLA_U64) |
| 769 | * @NFTA_LIMIT_BURST: burst (NLA_U32) | ||
| 770 | * @NFTA_LIMIT_TYPE: type of limit (NLA_U32: enum nft_limit_type) | ||
| 764 | */ | 771 | */ |
| 765 | enum nft_limit_attributes { | 772 | enum nft_limit_attributes { |
| 766 | NFTA_LIMIT_UNSPEC, | 773 | NFTA_LIMIT_UNSPEC, |
| 767 | NFTA_LIMIT_RATE, | 774 | NFTA_LIMIT_RATE, |
| 768 | NFTA_LIMIT_UNIT, | 775 | NFTA_LIMIT_UNIT, |
| 776 | NFTA_LIMIT_BURST, | ||
| 777 | NFTA_LIMIT_TYPE, | ||
| 769 | __NFTA_LIMIT_MAX | 778 | __NFTA_LIMIT_MAX |
| 770 | }; | 779 | }; |
| 771 | #define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1) | 780 | #define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1) |
| @@ -936,6 +945,20 @@ enum nft_redir_attributes { | |||
| 936 | #define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1) | 945 | #define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1) |
| 937 | 946 | ||
| 938 | /** | 947 | /** |
| 948 | * enum nft_dup_attributes - nf_tables dup expression netlink attributes | ||
| 949 | * | ||
| 950 | * @NFTA_DUP_SREG_ADDR: source register of address (NLA_U32: nft_registers) | ||
| 951 | * @NFTA_DUP_SREG_DEV: source register of output interface (NLA_U32: nft_register) | ||
| 952 | */ | ||
| 953 | enum nft_dup_attributes { | ||
| 954 | NFTA_DUP_UNSPEC, | ||
| 955 | NFTA_DUP_SREG_ADDR, | ||
| 956 | NFTA_DUP_SREG_DEV, | ||
| 957 | __NFTA_DUP_MAX | ||
| 958 | }; | ||
| 959 | #define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1) | ||
| 960 | |||
| 961 | /** | ||
| 939 | * enum nft_gen_attributes - nf_tables ruleset generation attributes | 962 | * enum nft_gen_attributes - nf_tables ruleset generation attributes |
| 940 | * | 963 | * |
| 941 | * @NFTA_GEN_ID: Ruleset generation ID (NLA_U32) | 964 | * @NFTA_GEN_ID: Ruleset generation ID (NLA_U32) |
diff --git a/include/uapi/linux/netfilter/nfnetlink_conntrack.h b/include/uapi/linux/netfilter/nfnetlink_conntrack.h index acad6c52a652..c1a4e1441a25 100644 --- a/include/uapi/linux/netfilter/nfnetlink_conntrack.h +++ b/include/uapi/linux/netfilter/nfnetlink_conntrack.h | |||
| @@ -61,6 +61,7 @@ enum ctattr_tuple { | |||
| 61 | CTA_TUPLE_UNSPEC, | 61 | CTA_TUPLE_UNSPEC, |
| 62 | CTA_TUPLE_IP, | 62 | CTA_TUPLE_IP, |
| 63 | CTA_TUPLE_PROTO, | 63 | CTA_TUPLE_PROTO, |
| 64 | CTA_TUPLE_ZONE, | ||
| 64 | __CTA_TUPLE_MAX | 65 | __CTA_TUPLE_MAX |
| 65 | }; | 66 | }; |
| 66 | #define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1) | 67 | #define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1) |
diff --git a/include/uapi/linux/netfilter/nfnetlink_cttimeout.h b/include/uapi/linux/netfilter/nfnetlink_cttimeout.h index 1ab0b97b3a1e..f2c10dc140d6 100644 --- a/include/uapi/linux/netfilter/nfnetlink_cttimeout.h +++ b/include/uapi/linux/netfilter/nfnetlink_cttimeout.h | |||
| @@ -92,6 +92,8 @@ enum ctattr_timeout_sctp { | |||
| 92 | CTA_TIMEOUT_SCTP_SHUTDOWN_SENT, | 92 | CTA_TIMEOUT_SCTP_SHUTDOWN_SENT, |
| 93 | CTA_TIMEOUT_SCTP_SHUTDOWN_RECD, | 93 | CTA_TIMEOUT_SCTP_SHUTDOWN_RECD, |
| 94 | CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT, | 94 | CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT, |
| 95 | CTA_TIMEOUT_SCTP_HEARTBEAT_SENT, | ||
| 96 | CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED, | ||
| 95 | __CTA_TIMEOUT_SCTP_MAX | 97 | __CTA_TIMEOUT_SCTP_MAX |
| 96 | }; | 98 | }; |
| 97 | #define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1) | 99 | #define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1) |
diff --git a/include/uapi/linux/netfilter/xt_CT.h b/include/uapi/linux/netfilter/xt_CT.h index 5a688c1ca4d7..9e520418b858 100644 --- a/include/uapi/linux/netfilter/xt_CT.h +++ b/include/uapi/linux/netfilter/xt_CT.h | |||
| @@ -6,7 +6,13 @@ | |||
| 6 | enum { | 6 | enum { |
| 7 | XT_CT_NOTRACK = 1 << 0, | 7 | XT_CT_NOTRACK = 1 << 0, |
| 8 | XT_CT_NOTRACK_ALIAS = 1 << 1, | 8 | XT_CT_NOTRACK_ALIAS = 1 << 1, |
| 9 | XT_CT_MASK = XT_CT_NOTRACK | XT_CT_NOTRACK_ALIAS, | 9 | XT_CT_ZONE_DIR_ORIG = 1 << 2, |
| 10 | XT_CT_ZONE_DIR_REPL = 1 << 3, | ||
| 11 | XT_CT_ZONE_MARK = 1 << 4, | ||
| 12 | |||
| 13 | XT_CT_MASK = XT_CT_NOTRACK | XT_CT_NOTRACK_ALIAS | | ||
| 14 | XT_CT_ZONE_DIR_ORIG | XT_CT_ZONE_DIR_REPL | | ||
| 15 | XT_CT_ZONE_MARK, | ||
| 10 | }; | 16 | }; |
| 11 | 17 | ||
| 12 | struct xt_ct_target_info { | 18 | struct xt_ct_target_info { |
diff --git a/include/uapi/linux/netfilter_ipv6/ip6t_REJECT.h b/include/uapi/linux/netfilter_ipv6/ip6t_REJECT.h index 205ed62e4605..cd2e940c8bf5 100644 --- a/include/uapi/linux/netfilter_ipv6/ip6t_REJECT.h +++ b/include/uapi/linux/netfilter_ipv6/ip6t_REJECT.h | |||
| @@ -10,7 +10,9 @@ enum ip6t_reject_with { | |||
| 10 | IP6T_ICMP6_ADDR_UNREACH, | 10 | IP6T_ICMP6_ADDR_UNREACH, |
| 11 | IP6T_ICMP6_PORT_UNREACH, | 11 | IP6T_ICMP6_PORT_UNREACH, |
| 12 | IP6T_ICMP6_ECHOREPLY, | 12 | IP6T_ICMP6_ECHOREPLY, |
| 13 | IP6T_TCP_RESET | 13 | IP6T_TCP_RESET, |
| 14 | IP6T_ICMP6_POLICY_FAIL, | ||
| 15 | IP6T_ICMP6_REJECT_ROUTE | ||
| 14 | }; | 16 | }; |
| 15 | 17 | ||
| 16 | struct ip6t_reject_info { | 18 | struct ip6t_reject_info { |
diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h index cf6a65cccbdf..6f3fe16cd22a 100644 --- a/include/uapi/linux/netlink.h +++ b/include/uapi/linux/netlink.h | |||
| @@ -110,6 +110,7 @@ struct nlmsgerr { | |||
| 110 | #define NETLINK_TX_RING 7 | 110 | #define NETLINK_TX_RING 7 |
| 111 | #define NETLINK_LISTEN_ALL_NSID 8 | 111 | #define NETLINK_LISTEN_ALL_NSID 8 |
| 112 | #define NETLINK_LIST_MEMBERSHIPS 9 | 112 | #define NETLINK_LIST_MEMBERSHIPS 9 |
| 113 | #define NETLINK_CAP_ACK 10 | ||
| 113 | 114 | ||
| 114 | struct nl_pktinfo { | 115 | struct nl_pktinfo { |
| 115 | __u32 group; | 116 | __u32 group; |
diff --git a/include/uapi/linux/nfs4.h b/include/uapi/linux/nfs4.h index 2119c7c274d7..2b871e0858d9 100644 --- a/include/uapi/linux/nfs4.h +++ b/include/uapi/linux/nfs4.h | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | #include <linux/types.h> | 16 | #include <linux/types.h> |
| 17 | 17 | ||
| 18 | #define NFS4_BITMAP_SIZE 2 | 18 | #define NFS4_BITMAP_SIZE 3 |
| 19 | #define NFS4_VERIFIER_SIZE 8 | 19 | #define NFS4_VERIFIER_SIZE 8 |
| 20 | #define NFS4_STATEID_SEQID_SIZE 4 | 20 | #define NFS4_STATEID_SEQID_SIZE 4 |
| 21 | #define NFS4_STATEID_OTHER_SIZE 12 | 21 | #define NFS4_STATEID_OTHER_SIZE 12 |
diff --git a/include/uapi/linux/nfsacl.h b/include/uapi/linux/nfsacl.h index 9bb9771a107f..552726631162 100644 --- a/include/uapi/linux/nfsacl.h +++ b/include/uapi/linux/nfsacl.h | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #define NFS_ACLCNT 0x0002 | 22 | #define NFS_ACLCNT 0x0002 |
| 23 | #define NFS_DFACL 0x0004 | 23 | #define NFS_DFACL 0x0004 |
| 24 | #define NFS_DFACLCNT 0x0008 | 24 | #define NFS_DFACLCNT 0x0008 |
| 25 | #define NFS_ACL_MASK 0x000f | ||
| 25 | 26 | ||
| 26 | /* Flag for Default ACL entries */ | 27 | /* Flag for Default ACL entries */ |
| 27 | #define NFS_ACL_DEFAULT 0x1000 | 28 | #define NFS_ACL_DEFAULT 0x1000 |
diff --git a/include/uapi/linux/nvme.h b/include/uapi/linux/nvme.h index 732b32e92b02..8864194a4151 100644 --- a/include/uapi/linux/nvme.h +++ b/include/uapi/linux/nvme.h | |||
| @@ -584,5 +584,6 @@ struct nvme_passthru_cmd { | |||
| 584 | #define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io) | 584 | #define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io) |
| 585 | #define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd) | 585 | #define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd) |
| 586 | #define NVME_IOCTL_RESET _IO('N', 0x44) | 586 | #define NVME_IOCTL_RESET _IO('N', 0x44) |
| 587 | #define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45) | ||
| 587 | 588 | ||
| 588 | #endif /* _UAPI_LINUX_NVME_H */ | 589 | #endif /* _UAPI_LINUX_NVME_H */ |
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 1dab77601c21..32e07d8cbaf4 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -164,6 +164,9 @@ enum ovs_packet_cmd { | |||
| 164 | * %OVS_USERSPACE_ATTR_EGRESS_TUN_PORT attribute, which is sent only if the | 164 | * %OVS_USERSPACE_ATTR_EGRESS_TUN_PORT attribute, which is sent only if the |
| 165 | * output port is actually a tunnel port. Contains the output tunnel key | 165 | * output port is actually a tunnel port. Contains the output tunnel key |
| 166 | * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. | 166 | * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. |
| 167 | * @OVS_PACKET_ATTR_MRU: Present for an %OVS_PACKET_CMD_ACTION and | ||
| 168 | * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment | ||
| 169 | * size. | ||
| 167 | * | 170 | * |
| 168 | * These attributes follow the &struct ovs_header within the Generic Netlink | 171 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 169 | * payload for %OVS_PACKET_* commands. | 172 | * payload for %OVS_PACKET_* commands. |
| @@ -180,6 +183,7 @@ enum ovs_packet_attr { | |||
| 180 | OVS_PACKET_ATTR_UNUSED2, | 183 | OVS_PACKET_ATTR_UNUSED2, |
| 181 | OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe, | 184 | OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe, |
| 182 | error logging should be suppressed. */ | 185 | error logging should be suppressed. */ |
| 186 | OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */ | ||
| 183 | __OVS_PACKET_ATTR_MAX | 187 | __OVS_PACKET_ATTR_MAX |
| 184 | }; | 188 | }; |
| 185 | 189 | ||
| @@ -319,9 +323,13 @@ enum ovs_key_attr { | |||
| 319 | OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls. | 323 | OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls. |
| 320 | * The implementation may restrict | 324 | * The implementation may restrict |
| 321 | * the accepted length of the array. */ | 325 | * the accepted length of the array. */ |
| 326 | OVS_KEY_ATTR_CT_STATE, /* u8 bitmask of OVS_CS_F_* */ | ||
| 327 | OVS_KEY_ATTR_CT_ZONE, /* u16 connection tracking zone. */ | ||
| 328 | OVS_KEY_ATTR_CT_MARK, /* u32 connection tracking mark */ | ||
| 329 | OVS_KEY_ATTR_CT_LABEL, /* 16-octet connection tracking label */ | ||
| 322 | 330 | ||
| 323 | #ifdef __KERNEL__ | 331 | #ifdef __KERNEL__ |
| 324 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ovs_tunnel_info */ | 332 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */ |
| 325 | #endif | 333 | #endif |
| 326 | __OVS_KEY_ATTR_MAX | 334 | __OVS_KEY_ATTR_MAX |
| 327 | }; | 335 | }; |
| @@ -431,6 +439,20 @@ struct ovs_key_nd { | |||
| 431 | __u8 nd_tll[ETH_ALEN]; | 439 | __u8 nd_tll[ETH_ALEN]; |
| 432 | }; | 440 | }; |
| 433 | 441 | ||
| 442 | #define OVS_CT_LABEL_LEN 16 | ||
| 443 | struct ovs_key_ct_label { | ||
| 444 | __u8 ct_label[OVS_CT_LABEL_LEN]; | ||
| 445 | }; | ||
| 446 | |||
| 447 | /* OVS_KEY_ATTR_CT_STATE flags */ | ||
| 448 | #define OVS_CS_F_NEW 0x01 /* Beginning of a new connection. */ | ||
| 449 | #define OVS_CS_F_ESTABLISHED 0x02 /* Part of an existing connection. */ | ||
| 450 | #define OVS_CS_F_RELATED 0x04 /* Related to an established | ||
| 451 | * connection. */ | ||
| 452 | #define OVS_CS_F_INVALID 0x20 /* Could not track connection. */ | ||
| 453 | #define OVS_CS_F_REPLY_DIR 0x40 /* Flow is in the reply direction. */ | ||
| 454 | #define OVS_CS_F_TRACKED 0x80 /* Conntrack has occurred. */ | ||
| 455 | |||
| 434 | /** | 456 | /** |
| 435 | * enum ovs_flow_attr - attributes for %OVS_FLOW_* commands. | 457 | * enum ovs_flow_attr - attributes for %OVS_FLOW_* commands. |
| 436 | * @OVS_FLOW_ATTR_KEY: Nested %OVS_KEY_ATTR_* attributes specifying the flow | 458 | * @OVS_FLOW_ATTR_KEY: Nested %OVS_KEY_ATTR_* attributes specifying the flow |
| @@ -595,6 +617,39 @@ struct ovs_action_hash { | |||
| 595 | }; | 617 | }; |
| 596 | 618 | ||
| 597 | /** | 619 | /** |
| 620 | * enum ovs_ct_attr - Attributes for %OVS_ACTION_ATTR_CT action. | ||
| 621 | * @OVS_CT_ATTR_FLAGS: u32 connection tracking flags. | ||
| 622 | * @OVS_CT_ATTR_ZONE: u16 connection tracking zone. | ||
| 623 | * @OVS_CT_ATTR_MARK: u32 value followed by u32 mask. For each bit set in the | ||
| 624 | * mask, the corresponding bit in the value is copied to the connection | ||
| 625 | * tracking mark field in the connection. | ||
| 626 | * @OVS_CT_ATTR_LABEL: %OVS_CT_LABEL_LEN value followed by %OVS_CT_LABEL_LEN | ||
| 627 | * mask. For each bit set in the mask, the corresponding bit in the value is | ||
| 628 | * copied to the connection tracking label field in the connection. | ||
| 629 | * @OVS_CT_ATTR_HELPER: variable length string defining conntrack ALG. | ||
| 630 | */ | ||
| 631 | enum ovs_ct_attr { | ||
| 632 | OVS_CT_ATTR_UNSPEC, | ||
| 633 | OVS_CT_ATTR_FLAGS, /* u8 bitmask of OVS_CT_F_*. */ | ||
| 634 | OVS_CT_ATTR_ZONE, /* u16 zone id. */ | ||
| 635 | OVS_CT_ATTR_MARK, /* mark to associate with this connection. */ | ||
| 636 | OVS_CT_ATTR_LABEL, /* label to associate with this connection. */ | ||
| 637 | OVS_CT_ATTR_HELPER, /* netlink helper to assist detection of | ||
| 638 | related connections. */ | ||
| 639 | __OVS_CT_ATTR_MAX | ||
| 640 | }; | ||
| 641 | |||
| 642 | #define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1) | ||
| 643 | |||
| 644 | /* | ||
| 645 | * OVS_CT_ATTR_FLAGS flags - bitmask of %OVS_CT_F_* | ||
| 646 | * @OVS_CT_F_COMMIT: Commits the flow to the conntrack table. This allows | ||
| 647 | * future packets for the same connection to be identified as 'established' | ||
| 648 | * or 'related'. | ||
| 649 | */ | ||
| 650 | #define OVS_CT_F_COMMIT 0x01 | ||
| 651 | |||
| 652 | /** | ||
| 598 | * enum ovs_action_attr - Action types. | 653 | * enum ovs_action_attr - Action types. |
| 599 | * | 654 | * |
| 600 | * @OVS_ACTION_ATTR_OUTPUT: Output packet to port. | 655 | * @OVS_ACTION_ATTR_OUTPUT: Output packet to port. |
| @@ -623,6 +678,8 @@ struct ovs_action_hash { | |||
| 623 | * indicate the new packet contents. This could potentially still be | 678 | * indicate the new packet contents. This could potentially still be |
| 624 | * %ETH_P_MPLS if the resulting MPLS label stack is not empty. If there | 679 | * %ETH_P_MPLS if the resulting MPLS label stack is not empty. If there |
| 625 | * is no MPLS label stack, as determined by ethertype, no action is taken. | 680 | * is no MPLS label stack, as determined by ethertype, no action is taken. |
| 681 | * @OVS_ACTION_ATTR_CT: Track the connection. Populate the conntrack-related | ||
| 682 | * entries in the flow key. | ||
| 626 | * | 683 | * |
| 627 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all | 684 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all |
| 628 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment | 685 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment |
| @@ -648,6 +705,7 @@ enum ovs_action_attr { | |||
| 648 | * data immediately followed by a mask. | 705 | * data immediately followed by a mask. |
| 649 | * The data must be zero for the unmasked | 706 | * The data must be zero for the unmasked |
| 650 | * bits. */ | 707 | * bits. */ |
| 708 | OVS_ACTION_ATTR_CT, /* One nested OVS_CT_ATTR_* . */ | ||
| 651 | 709 | ||
| 652 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted | 710 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted |
| 653 | * from userspace. */ | 711 | * from userspace. */ |
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index efe3443572ba..413417f3707b 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h | |||
| @@ -319,6 +319,7 @@ | |||
| 319 | #define PCI_MSIX_PBA 8 /* Pending Bit Array offset */ | 319 | #define PCI_MSIX_PBA 8 /* Pending Bit Array offset */ |
| 320 | #define PCI_MSIX_PBA_BIR 0x00000007 /* BAR index */ | 320 | #define PCI_MSIX_PBA_BIR 0x00000007 /* BAR index */ |
| 321 | #define PCI_MSIX_PBA_OFFSET 0xfffffff8 /* Offset into specified BAR */ | 321 | #define PCI_MSIX_PBA_OFFSET 0xfffffff8 /* Offset into specified BAR */ |
| 322 | #define PCI_MSIX_FLAGS_BIRMASK PCI_MSIX_PBA_BIR /* deprecated */ | ||
| 322 | #define PCI_CAP_MSIX_SIZEOF 12 /* size of MSIX registers */ | 323 | #define PCI_CAP_MSIX_SIZEOF 12 /* size of MSIX registers */ |
| 323 | 324 | ||
| 324 | /* MSI-X Table entry format */ | 325 | /* MSI-X Table entry format */ |
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index d97f84c080da..2881145cda86 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
| @@ -330,7 +330,8 @@ struct perf_event_attr { | |||
| 330 | mmap2 : 1, /* include mmap with inode data */ | 330 | mmap2 : 1, /* include mmap with inode data */ |
| 331 | comm_exec : 1, /* flag comm events that are due to an exec */ | 331 | comm_exec : 1, /* flag comm events that are due to an exec */ |
| 332 | use_clockid : 1, /* use @clockid for time fields */ | 332 | use_clockid : 1, /* use @clockid for time fields */ |
| 333 | __reserved_1 : 38; | 333 | context_switch : 1, /* context switch data */ |
| 334 | __reserved_1 : 37; | ||
| 334 | 335 | ||
| 335 | union { | 336 | union { |
| 336 | __u32 wakeup_events; /* wakeup every n events */ | 337 | __u32 wakeup_events; /* wakeup every n events */ |
| @@ -572,9 +573,11 @@ struct perf_event_mmap_page { | |||
| 572 | /* | 573 | /* |
| 573 | * PERF_RECORD_MISC_MMAP_DATA and PERF_RECORD_MISC_COMM_EXEC are used on | 574 | * PERF_RECORD_MISC_MMAP_DATA and PERF_RECORD_MISC_COMM_EXEC are used on |
| 574 | * different events so can reuse the same bit position. | 575 | * different events so can reuse the same bit position. |
| 576 | * Ditto PERF_RECORD_MISC_SWITCH_OUT. | ||
| 575 | */ | 577 | */ |
| 576 | #define PERF_RECORD_MISC_MMAP_DATA (1 << 13) | 578 | #define PERF_RECORD_MISC_MMAP_DATA (1 << 13) |
| 577 | #define PERF_RECORD_MISC_COMM_EXEC (1 << 13) | 579 | #define PERF_RECORD_MISC_COMM_EXEC (1 << 13) |
| 580 | #define PERF_RECORD_MISC_SWITCH_OUT (1 << 13) | ||
| 578 | /* | 581 | /* |
| 579 | * Indicates that the content of PERF_SAMPLE_IP points to | 582 | * Indicates that the content of PERF_SAMPLE_IP points to |
| 580 | * the actual instruction that triggered the event. See also | 583 | * the actual instruction that triggered the event. See also |
| @@ -818,6 +821,32 @@ enum perf_event_type { | |||
| 818 | */ | 821 | */ |
| 819 | PERF_RECORD_LOST_SAMPLES = 13, | 822 | PERF_RECORD_LOST_SAMPLES = 13, |
| 820 | 823 | ||
| 824 | /* | ||
| 825 | * Records a context switch in or out (flagged by | ||
| 826 | * PERF_RECORD_MISC_SWITCH_OUT). See also | ||
| 827 | * PERF_RECORD_SWITCH_CPU_WIDE. | ||
| 828 | * | ||
| 829 | * struct { | ||
| 830 | * struct perf_event_header header; | ||
| 831 | * struct sample_id sample_id; | ||
| 832 | * }; | ||
| 833 | */ | ||
| 834 | PERF_RECORD_SWITCH = 14, | ||
| 835 | |||
| 836 | /* | ||
| 837 | * CPU-wide version of PERF_RECORD_SWITCH with next_prev_pid and | ||
| 838 | * next_prev_tid that are the next (switching out) or previous | ||
| 839 | * (switching in) pid/tid. | ||
| 840 | * | ||
| 841 | * struct { | ||
| 842 | * struct perf_event_header header; | ||
| 843 | * u32 next_prev_pid; | ||
| 844 | * u32 next_prev_tid; | ||
| 845 | * struct sample_id sample_id; | ||
| 846 | * }; | ||
| 847 | */ | ||
| 848 | PERF_RECORD_SWITCH_CPU_WIDE = 15, | ||
| 849 | |||
| 821 | PERF_RECORD_MAX, /* non-ABI */ | 850 | PERF_RECORD_MAX, /* non-ABI */ |
| 822 | }; | 851 | }; |
| 823 | 852 | ||
| @@ -922,6 +951,7 @@ union perf_mem_data_src { | |||
| 922 | * | 951 | * |
| 923 | * in_tx: running in a hardware transaction | 952 | * in_tx: running in a hardware transaction |
| 924 | * abort: aborting a hardware transaction | 953 | * abort: aborting a hardware transaction |
| 954 | * cycles: cycles from last branch (or 0 if not supported) | ||
| 925 | */ | 955 | */ |
| 926 | struct perf_branch_entry { | 956 | struct perf_branch_entry { |
| 927 | __u64 from; | 957 | __u64 from; |
| @@ -930,7 +960,8 @@ struct perf_branch_entry { | |||
| 930 | predicted:1,/* target predicted */ | 960 | predicted:1,/* target predicted */ |
| 931 | in_tx:1, /* in transaction */ | 961 | in_tx:1, /* in transaction */ |
| 932 | abort:1, /* transaction abort */ | 962 | abort:1, /* transaction abort */ |
| 933 | reserved:60; | 963 | cycles:16, /* cycle count to last branch */ |
| 964 | reserved:44; | ||
| 934 | }; | 965 | }; |
| 935 | 966 | ||
| 936 | #endif /* _UAPI_LINUX_PERF_EVENT_H */ | 967 | #endif /* _UAPI_LINUX_PERF_EVENT_H */ |
diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h index 31891d9535e2..a8d0759a9e40 100644 --- a/include/uapi/linux/prctl.h +++ b/include/uapi/linux/prctl.h | |||
| @@ -190,4 +190,11 @@ struct prctl_mm_map { | |||
| 190 | # define PR_FP_MODE_FR (1 << 0) /* 64b FP registers */ | 190 | # define PR_FP_MODE_FR (1 << 0) /* 64b FP registers */ |
| 191 | # define PR_FP_MODE_FRE (1 << 1) /* 32b compatibility */ | 191 | # define PR_FP_MODE_FRE (1 << 1) /* 32b compatibility */ |
| 192 | 192 | ||
| 193 | /* Control the ambient capability set */ | ||
| 194 | #define PR_CAP_AMBIENT 47 | ||
| 195 | # define PR_CAP_AMBIENT_IS_SET 1 | ||
| 196 | # define PR_CAP_AMBIENT_RAISE 2 | ||
| 197 | # define PR_CAP_AMBIENT_LOWER 3 | ||
| 198 | # define PR_CAP_AMBIENT_CLEAR_ALL 4 | ||
| 199 | |||
| 193 | #endif /* _LINUX_PRCTL_H */ | 200 | #endif /* _LINUX_PRCTL_H */ |
diff --git a/include/uapi/linux/ptrace.h b/include/uapi/linux/ptrace.h index cf1019e15f5b..a7a697986614 100644 --- a/include/uapi/linux/ptrace.h +++ b/include/uapi/linux/ptrace.h | |||
| @@ -89,9 +89,11 @@ struct ptrace_peeksiginfo_args { | |||
| 89 | #define PTRACE_O_TRACESECCOMP (1 << PTRACE_EVENT_SECCOMP) | 89 | #define PTRACE_O_TRACESECCOMP (1 << PTRACE_EVENT_SECCOMP) |
| 90 | 90 | ||
| 91 | /* eventless options */ | 91 | /* eventless options */ |
| 92 | #define PTRACE_O_EXITKILL (1 << 20) | 92 | #define PTRACE_O_EXITKILL (1 << 20) |
| 93 | #define PTRACE_O_SUSPEND_SECCOMP (1 << 21) | ||
| 93 | 94 | ||
| 94 | #define PTRACE_O_MASK (0x000000ff | PTRACE_O_EXITKILL) | 95 | #define PTRACE_O_MASK (\ |
| 96 | 0x000000ff | PTRACE_O_EXITKILL | PTRACE_O_SUSPEND_SECCOMP) | ||
| 95 | 97 | ||
| 96 | #include <asm/ptrace.h> | 98 | #include <asm/ptrace.h> |
| 97 | 99 | ||
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h index fdd8f07f1d34..702024769c74 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h | |||
| @@ -308,6 +308,8 @@ enum rtattr_type_t { | |||
| 308 | RTA_VIA, | 308 | RTA_VIA, |
| 309 | RTA_NEWDST, | 309 | RTA_NEWDST, |
| 310 | RTA_PREF, | 310 | RTA_PREF, |
| 311 | RTA_ENCAP_TYPE, | ||
| 312 | RTA_ENCAP, | ||
| 311 | __RTA_MAX | 313 | __RTA_MAX |
| 312 | }; | 314 | }; |
| 313 | 315 | ||
| @@ -416,10 +418,13 @@ enum { | |||
| 416 | 418 | ||
| 417 | #define RTAX_MAX (__RTAX_MAX - 1) | 419 | #define RTAX_MAX (__RTAX_MAX - 1) |
| 418 | 420 | ||
| 419 | #define RTAX_FEATURE_ECN 0x00000001 | 421 | #define RTAX_FEATURE_ECN (1 << 0) |
| 420 | #define RTAX_FEATURE_SACK 0x00000002 | 422 | #define RTAX_FEATURE_SACK (1 << 1) |
| 421 | #define RTAX_FEATURE_TIMESTAMP 0x00000004 | 423 | #define RTAX_FEATURE_TIMESTAMP (1 << 2) |
| 422 | #define RTAX_FEATURE_ALLFRAG 0x00000008 | 424 | #define RTAX_FEATURE_ALLFRAG (1 << 3) |
| 425 | |||
| 426 | #define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | \ | ||
| 427 | RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG) | ||
| 423 | 428 | ||
| 424 | struct rta_session { | 429 | struct rta_session { |
| 425 | __u8 proto; | 430 | __u8 proto; |
diff --git a/include/uapi/linux/securebits.h b/include/uapi/linux/securebits.h index 985aac9e6bf8..35ac35cef217 100644 --- a/include/uapi/linux/securebits.h +++ b/include/uapi/linux/securebits.h | |||
| @@ -43,9 +43,18 @@ | |||
| 43 | #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) | 43 | #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) |
| 44 | #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) | 44 | #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) |
| 45 | 45 | ||
| 46 | /* When set, a process cannot add new capabilities to its ambient set. */ | ||
| 47 | #define SECURE_NO_CAP_AMBIENT_RAISE 6 | ||
| 48 | #define SECURE_NO_CAP_AMBIENT_RAISE_LOCKED 7 /* make bit-6 immutable */ | ||
| 49 | |||
| 50 | #define SECBIT_NO_CAP_AMBIENT_RAISE (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE)) | ||
| 51 | #define SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED \ | ||
| 52 | (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE_LOCKED)) | ||
| 53 | |||
| 46 | #define SECURE_ALL_BITS (issecure_mask(SECURE_NOROOT) | \ | 54 | #define SECURE_ALL_BITS (issecure_mask(SECURE_NOROOT) | \ |
| 47 | issecure_mask(SECURE_NO_SETUID_FIXUP) | \ | 55 | issecure_mask(SECURE_NO_SETUID_FIXUP) | \ |
| 48 | issecure_mask(SECURE_KEEP_CAPS)) | 56 | issecure_mask(SECURE_KEEP_CAPS) | \ |
| 57 | issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE)) | ||
| 49 | #define SECURE_ALL_LOCKS (SECURE_ALL_BITS << 1) | 58 | #define SECURE_ALL_LOCKS (SECURE_ALL_BITS << 1) |
| 50 | 59 | ||
| 51 | #endif /* _UAPI_LINUX_SECUREBITS_H */ | 60 | #endif /* _UAPI_LINUX_SECUREBITS_H */ |
diff --git a/include/uapi/linux/snmp.h b/include/uapi/linux/snmp.h index eee8968407f0..25a9ad8bcef1 100644 --- a/include/uapi/linux/snmp.h +++ b/include/uapi/linux/snmp.h | |||
| @@ -278,6 +278,8 @@ enum | |||
| 278 | LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */ | 278 | LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */ |
| 279 | LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */ | 279 | LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */ |
| 280 | LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */ | 280 | LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */ |
| 281 | LINUX_MIB_TCPMTUPFAIL, /* TCPMTUPFail */ | ||
| 282 | LINUX_MIB_TCPMTUPSUCCESS, /* TCPMTUPSuccess */ | ||
| 281 | __LINUX_MIB_MAX | 283 | __LINUX_MIB_MAX |
| 282 | }; | 284 | }; |
| 283 | 285 | ||
diff --git a/include/uapi/linux/toshiba.h b/include/uapi/linux/toshiba.h index e9bef5b2f91e..c58bf4b5bb26 100644 --- a/include/uapi/linux/toshiba.h +++ b/include/uapi/linux/toshiba.h | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | /* toshiba.h -- Linux driver for accessing the SMM on Toshiba laptops | 1 | /* toshiba.h -- Linux driver for accessing the SMM on Toshiba laptops |
| 2 | * | 2 | * |
| 3 | * Copyright (c) 1996-2000 Jonathan A. Buzzard (jonathan@buzzard.org.uk) | 3 | * Copyright (c) 1996-2000 Jonathan A. Buzzard (jonathan@buzzard.org.uk) |
| 4 | * Copyright (c) 2015 Azael Avalos <coproscefalo@gmail.com> | ||
| 4 | * | 5 | * |
| 5 | * Thanks to Juergen Heinzl <juergen@monocerus.demon.co.uk> for the pointers | 6 | * Thanks to Juergen Heinzl <juergen@monocerus.demon.co.uk> for the pointers |
| 6 | * on making sure the structure is aligned and packed. | 7 | * on making sure the structure is aligned and packed. |
| @@ -20,9 +21,18 @@ | |||
| 20 | #ifndef _UAPI_LINUX_TOSHIBA_H | 21 | #ifndef _UAPI_LINUX_TOSHIBA_H |
| 21 | #define _UAPI_LINUX_TOSHIBA_H | 22 | #define _UAPI_LINUX_TOSHIBA_H |
| 22 | 23 | ||
| 23 | #define TOSH_PROC "/proc/toshiba" | 24 | /* |
| 24 | #define TOSH_DEVICE "/dev/toshiba" | 25 | * Toshiba modules paths |
| 25 | #define TOSH_SMM _IOWR('t', 0x90, int) /* broken: meant 24 bytes */ | 26 | */ |
| 27 | |||
| 28 | #define TOSH_PROC "/proc/toshiba" | ||
| 29 | #define TOSH_DEVICE "/dev/toshiba" | ||
| 30 | #define TOSHIBA_ACPI_PROC "/proc/acpi/toshiba" | ||
| 31 | #define TOSHIBA_ACPI_DEVICE "/dev/toshiba_acpi" | ||
| 32 | |||
| 33 | /* | ||
| 34 | * Toshiba SMM structure | ||
| 35 | */ | ||
| 26 | 36 | ||
| 27 | typedef struct { | 37 | typedef struct { |
| 28 | unsigned int eax; | 38 | unsigned int eax; |
| @@ -33,5 +43,21 @@ typedef struct { | |||
| 33 | unsigned int edi __attribute__ ((packed)); | 43 | unsigned int edi __attribute__ ((packed)); |
| 34 | } SMMRegisters; | 44 | } SMMRegisters; |
| 35 | 45 | ||
| 46 | /* | ||
| 47 | * IOCTLs (0x90 - 0x91) | ||
| 48 | */ | ||
| 49 | |||
| 50 | #define TOSH_SMM _IOWR('t', 0x90, SMMRegisters) | ||
| 51 | /* | ||
| 52 | * Convenience toshiba_acpi command. | ||
| 53 | * | ||
| 54 | * The System Configuration Interface (SCI) is opened/closed internally | ||
| 55 | * to avoid userspace of buggy BIOSes. | ||
| 56 | * | ||
| 57 | * The toshiba_acpi module checks whether the eax register is set with | ||
| 58 | * SCI_GET (0xf300) or SCI_SET (0xf400), returning -EINVAL if not. | ||
| 59 | */ | ||
| 60 | #define TOSHIBA_ACPI_SCI _IOWR('t', 0x91, SMMRegisters) | ||
| 61 | |||
| 36 | 62 | ||
| 37 | #endif /* _UAPI_LINUX_TOSHIBA_H */ | 63 | #endif /* _UAPI_LINUX_TOSHIBA_H */ |
diff --git a/include/uapi/linux/usb/ch9.h b/include/uapi/linux/usb/ch9.h index aa33fd1b2d4f..f7adc6e01f9e 100644 --- a/include/uapi/linux/usb/ch9.h +++ b/include/uapi/linux/usb/ch9.h | |||
| @@ -674,9 +674,21 @@ struct usb_otg_descriptor { | |||
| 674 | __u8 bmAttributes; /* support for HNP, SRP, etc */ | 674 | __u8 bmAttributes; /* support for HNP, SRP, etc */ |
| 675 | } __attribute__ ((packed)); | 675 | } __attribute__ ((packed)); |
| 676 | 676 | ||
| 677 | /* USB_DT_OTG (from OTG 2.0 supplement) */ | ||
| 678 | struct usb_otg20_descriptor { | ||
| 679 | __u8 bLength; | ||
| 680 | __u8 bDescriptorType; | ||
| 681 | |||
| 682 | __u8 bmAttributes; /* support for HNP, SRP and ADP, etc */ | ||
| 683 | __le16 bcdOTG; /* OTG and EH supplement release number | ||
| 684 | * in binary-coded decimal(i.e. 2.0 is 0200H) | ||
| 685 | */ | ||
| 686 | } __attribute__ ((packed)); | ||
| 687 | |||
| 677 | /* from usb_otg_descriptor.bmAttributes */ | 688 | /* from usb_otg_descriptor.bmAttributes */ |
| 678 | #define USB_OTG_SRP (1 << 0) | 689 | #define USB_OTG_SRP (1 << 0) |
| 679 | #define USB_OTG_HNP (1 << 1) /* swap host/device roles */ | 690 | #define USB_OTG_HNP (1 << 1) /* swap host/device roles */ |
| 691 | #define USB_OTG_ADP (1 << 2) /* support ADP */ | ||
| 680 | 692 | ||
| 681 | /*-------------------------------------------------------------------------*/ | 693 | /*-------------------------------------------------------------------------*/ |
| 682 | 694 | ||
diff --git a/include/uapi/linux/userfaultfd.h b/include/uapi/linux/userfaultfd.h new file mode 100644 index 000000000000..df0e09bb7dd5 --- /dev/null +++ b/include/uapi/linux/userfaultfd.h | |||
| @@ -0,0 +1,169 @@ | |||
| 1 | /* | ||
| 2 | * include/linux/userfaultfd.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 2007 Davide Libenzi <davidel@xmailserver.org> | ||
| 5 | * Copyright (C) 2015 Red Hat, Inc. | ||
| 6 | * | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef _LINUX_USERFAULTFD_H | ||
| 10 | #define _LINUX_USERFAULTFD_H | ||
| 11 | |||
| 12 | #include <linux/types.h> | ||
| 13 | |||
| 14 | #include <linux/compiler.h> | ||
| 15 | |||
| 16 | #define UFFD_API ((__u64)0xAA) | ||
| 17 | /* | ||
| 18 | * After implementing the respective features it will become: | ||
| 19 | * #define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | \ | ||
| 20 | * UFFD_FEATURE_EVENT_FORK) | ||
| 21 | */ | ||
| 22 | #define UFFD_API_FEATURES (0) | ||
| 23 | #define UFFD_API_IOCTLS \ | ||
| 24 | ((__u64)1 << _UFFDIO_REGISTER | \ | ||
| 25 | (__u64)1 << _UFFDIO_UNREGISTER | \ | ||
| 26 | (__u64)1 << _UFFDIO_API) | ||
| 27 | #define UFFD_API_RANGE_IOCTLS \ | ||
| 28 | ((__u64)1 << _UFFDIO_WAKE | \ | ||
| 29 | (__u64)1 << _UFFDIO_COPY | \ | ||
| 30 | (__u64)1 << _UFFDIO_ZEROPAGE) | ||
| 31 | |||
| 32 | /* | ||
| 33 | * Valid ioctl command number range with this API is from 0x00 to | ||
| 34 | * 0x3F. UFFDIO_API is the fixed number, everything else can be | ||
| 35 | * changed by implementing a different UFFD_API. If sticking to the | ||
| 36 | * same UFFD_API more ioctl can be added and userland will be aware of | ||
| 37 | * which ioctl the running kernel implements through the ioctl command | ||
| 38 | * bitmask written by the UFFDIO_API. | ||
| 39 | */ | ||
| 40 | #define _UFFDIO_REGISTER (0x00) | ||
| 41 | #define _UFFDIO_UNREGISTER (0x01) | ||
| 42 | #define _UFFDIO_WAKE (0x02) | ||
| 43 | #define _UFFDIO_COPY (0x03) | ||
| 44 | #define _UFFDIO_ZEROPAGE (0x04) | ||
| 45 | #define _UFFDIO_API (0x3F) | ||
| 46 | |||
| 47 | /* userfaultfd ioctl ids */ | ||
| 48 | #define UFFDIO 0xAA | ||
| 49 | #define UFFDIO_API _IOWR(UFFDIO, _UFFDIO_API, \ | ||
| 50 | struct uffdio_api) | ||
| 51 | #define UFFDIO_REGISTER _IOWR(UFFDIO, _UFFDIO_REGISTER, \ | ||
| 52 | struct uffdio_register) | ||
| 53 | #define UFFDIO_UNREGISTER _IOR(UFFDIO, _UFFDIO_UNREGISTER, \ | ||
| 54 | struct uffdio_range) | ||
| 55 | #define UFFDIO_WAKE _IOR(UFFDIO, _UFFDIO_WAKE, \ | ||
| 56 | struct uffdio_range) | ||
| 57 | #define UFFDIO_COPY _IOWR(UFFDIO, _UFFDIO_COPY, \ | ||
| 58 | struct uffdio_copy) | ||
| 59 | #define UFFDIO_ZEROPAGE _IOWR(UFFDIO, _UFFDIO_ZEROPAGE, \ | ||
| 60 | struct uffdio_zeropage) | ||
| 61 | |||
| 62 | /* read() structure */ | ||
| 63 | struct uffd_msg { | ||
| 64 | __u8 event; | ||
| 65 | |||
| 66 | __u8 reserved1; | ||
| 67 | __u16 reserved2; | ||
| 68 | __u32 reserved3; | ||
| 69 | |||
| 70 | union { | ||
| 71 | struct { | ||
| 72 | __u64 flags; | ||
| 73 | __u64 address; | ||
| 74 | } pagefault; | ||
| 75 | |||
| 76 | struct { | ||
| 77 | /* unused reserved fields */ | ||
| 78 | __u64 reserved1; | ||
| 79 | __u64 reserved2; | ||
| 80 | __u64 reserved3; | ||
| 81 | } reserved; | ||
| 82 | } arg; | ||
| 83 | } __packed; | ||
| 84 | |||
| 85 | /* | ||
| 86 | * Start at 0x12 and not at 0 to be more strict against bugs. | ||
| 87 | */ | ||
| 88 | #define UFFD_EVENT_PAGEFAULT 0x12 | ||
| 89 | #if 0 /* not available yet */ | ||
| 90 | #define UFFD_EVENT_FORK 0x13 | ||
| 91 | #endif | ||
| 92 | |||
| 93 | /* flags for UFFD_EVENT_PAGEFAULT */ | ||
| 94 | #define UFFD_PAGEFAULT_FLAG_WRITE (1<<0) /* If this was a write fault */ | ||
| 95 | #define UFFD_PAGEFAULT_FLAG_WP (1<<1) /* If reason is VM_UFFD_WP */ | ||
| 96 | |||
| 97 | struct uffdio_api { | ||
| 98 | /* userland asks for an API number and the features to enable */ | ||
| 99 | __u64 api; | ||
| 100 | /* | ||
| 101 | * Kernel answers below with the all available features for | ||
| 102 | * the API, this notifies userland of which events and/or | ||
| 103 | * which flags for each event are enabled in the current | ||
| 104 | * kernel. | ||
| 105 | * | ||
| 106 | * Note: UFFD_EVENT_PAGEFAULT and UFFD_PAGEFAULT_FLAG_WRITE | ||
| 107 | * are to be considered implicitly always enabled in all kernels as | ||
| 108 | * long as the uffdio_api.api requested matches UFFD_API. | ||
| 109 | */ | ||
| 110 | #if 0 /* not available yet */ | ||
| 111 | #define UFFD_FEATURE_PAGEFAULT_FLAG_WP (1<<0) | ||
| 112 | #define UFFD_FEATURE_EVENT_FORK (1<<1) | ||
| 113 | #endif | ||
| 114 | __u64 features; | ||
| 115 | |||
| 116 | __u64 ioctls; | ||
| 117 | }; | ||
| 118 | |||
| 119 | struct uffdio_range { | ||
| 120 | __u64 start; | ||
| 121 | __u64 len; | ||
| 122 | }; | ||
| 123 | |||
| 124 | struct uffdio_register { | ||
| 125 | struct uffdio_range range; | ||
| 126 | #define UFFDIO_REGISTER_MODE_MISSING ((__u64)1<<0) | ||
| 127 | #define UFFDIO_REGISTER_MODE_WP ((__u64)1<<1) | ||
| 128 | __u64 mode; | ||
| 129 | |||
| 130 | /* | ||
| 131 | * kernel answers which ioctl commands are available for the | ||
| 132 | * range, keep at the end as the last 8 bytes aren't read. | ||
| 133 | */ | ||
| 134 | __u64 ioctls; | ||
| 135 | }; | ||
| 136 | |||
| 137 | struct uffdio_copy { | ||
| 138 | __u64 dst; | ||
| 139 | __u64 src; | ||
| 140 | __u64 len; | ||
| 141 | /* | ||
| 142 | * There will be a wrprotection flag later that allows to map | ||
| 143 | * pages wrprotected on the fly. And such a flag will be | ||
| 144 | * available if the wrprotection ioctl are implemented for the | ||
| 145 | * range according to the uffdio_register.ioctls. | ||
| 146 | */ | ||
| 147 | #define UFFDIO_COPY_MODE_DONTWAKE ((__u64)1<<0) | ||
| 148 | __u64 mode; | ||
| 149 | |||
| 150 | /* | ||
| 151 | * "copy" is written by the ioctl and must be at the end: the | ||
| 152 | * copy_from_user will not read the last 8 bytes. | ||
| 153 | */ | ||
| 154 | __s64 copy; | ||
| 155 | }; | ||
| 156 | |||
| 157 | struct uffdio_zeropage { | ||
| 158 | struct uffdio_range range; | ||
| 159 | #define UFFDIO_ZEROPAGE_MODE_DONTWAKE ((__u64)1<<0) | ||
| 160 | __u64 mode; | ||
| 161 | |||
| 162 | /* | ||
| 163 | * "zeropage" is written by the ioctl and must be at the end: | ||
| 164 | * the copy_from_user will not read the last 8 bytes. | ||
| 165 | */ | ||
| 166 | __s64 zeropage; | ||
| 167 | }; | ||
| 168 | |||
| 169 | #endif /* _LINUX_USERFAULTFD_H */ | ||
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 9f6e108ff4a0..d448c536b49d 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
| @@ -174,6 +174,10 @@ enum v4l2_colorfx { | |||
| 174 | * We reserve 16 controls for this driver. */ | 174 | * We reserve 16 controls for this driver. */ |
| 175 | #define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070) | 175 | #define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070) |
| 176 | 176 | ||
| 177 | /* The base for the tc358743 driver controls. | ||
| 178 | * We reserve 16 controls for this driver. */ | ||
| 179 | #define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080) | ||
| 180 | |||
| 177 | /* MPEG-class control IDs */ | 181 | /* MPEG-class control IDs */ |
| 178 | /* The MPEG controls are applicable to all codec controls | 182 | /* The MPEG controls are applicable to all codec controls |
| 179 | * and the 'MPEG' part of the define is historical */ | 183 | * and the 'MPEG' part of the define is historical */ |
diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h index 7bbee79ca293..ec32293a00db 100644 --- a/include/uapi/linux/virtio_net.h +++ b/include/uapi/linux/virtio_net.h | |||
| @@ -34,6 +34,7 @@ | |||
| 34 | /* The feature bitmap for virtio net */ | 34 | /* The feature bitmap for virtio net */ |
| 35 | #define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */ | 35 | #define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */ |
| 36 | #define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */ | 36 | #define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */ |
| 37 | #define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS 2 /* Dynamic offload configuration. */ | ||
| 37 | #define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */ | 38 | #define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */ |
| 38 | #define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */ | 39 | #define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */ |
| 39 | #define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */ | 40 | #define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */ |
| @@ -226,4 +227,19 @@ struct virtio_net_ctrl_mq { | |||
| 226 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1 | 227 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1 |
| 227 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000 | 228 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000 |
| 228 | 229 | ||
| 230 | /* | ||
| 231 | * Control network offloads | ||
| 232 | * | ||
| 233 | * Reconfigures the network offloads that Guest can handle. | ||
| 234 | * | ||
| 235 | * Available with the VIRTIO_NET_F_CTRL_GUEST_OFFLOADS feature bit. | ||
| 236 | * | ||
| 237 | * Command data format matches the feature bit mask exactly. | ||
| 238 | * | ||
| 239 | * See VIRTIO_NET_F_GUEST_* for the list of offloads | ||
| 240 | * that can be enabled/disabled. | ||
| 241 | */ | ||
| 242 | #define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5 | ||
| 243 | #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0 | ||
| 244 | |||
| 229 | #endif /* _LINUX_VIRTIO_NET_H */ | 245 | #endif /* _LINUX_VIRTIO_NET_H */ |
diff --git a/include/uapi/linux/virtio_pci.h b/include/uapi/linux/virtio_pci.h index 75301468359f..90007a1abcab 100644 --- a/include/uapi/linux/virtio_pci.h +++ b/include/uapi/linux/virtio_pci.h | |||
| @@ -157,6 +157,12 @@ struct virtio_pci_common_cfg { | |||
| 157 | __le32 queue_used_hi; /* read-write */ | 157 | __le32 queue_used_hi; /* read-write */ |
| 158 | }; | 158 | }; |
| 159 | 159 | ||
| 160 | /* Fields in VIRTIO_PCI_CAP_PCI_CFG: */ | ||
| 161 | struct virtio_pci_cfg_cap { | ||
| 162 | struct virtio_pci_cap cap; | ||
| 163 | __u8 pci_cfg_data[4]; /* Data for BAR access. */ | ||
| 164 | }; | ||
| 165 | |||
| 160 | /* Macro versions of offsets for the Old Timers! */ | 166 | /* Macro versions of offsets for the Old Timers! */ |
| 161 | #define VIRTIO_PCI_CAP_VNDR 0 | 167 | #define VIRTIO_PCI_CAP_VNDR 0 |
| 162 | #define VIRTIO_PCI_CAP_NEXT 1 | 168 | #define VIRTIO_PCI_CAP_NEXT 1 |
diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h index 915980ac68df..c07295969b7e 100644 --- a/include/uapi/linux/virtio_ring.h +++ b/include/uapi/linux/virtio_ring.h | |||
| @@ -31,6 +31,9 @@ | |||
| 31 | * SUCH DAMAGE. | 31 | * SUCH DAMAGE. |
| 32 | * | 32 | * |
| 33 | * Copyright Rusty Russell IBM Corporation 2007. */ | 33 | * Copyright Rusty Russell IBM Corporation 2007. */ |
| 34 | #ifndef __KERNEL__ | ||
| 35 | #include <stdint.h> | ||
| 36 | #endif | ||
| 34 | #include <linux/types.h> | 37 | #include <linux/types.h> |
| 35 | #include <linux/virtio_types.h> | 38 | #include <linux/virtio_types.h> |
| 36 | 39 | ||
| @@ -143,7 +146,7 @@ static inline void vring_init(struct vring *vr, unsigned int num, void *p, | |||
| 143 | vr->num = num; | 146 | vr->num = num; |
| 144 | vr->desc = p; | 147 | vr->desc = p; |
| 145 | vr->avail = p + num*sizeof(struct vring_desc); | 148 | vr->avail = p + num*sizeof(struct vring_desc); |
| 146 | vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(__virtio16) | 149 | vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16) |
| 147 | + align-1) & ~(align - 1)); | 150 | + align-1) & ~(align - 1)); |
| 148 | } | 151 | } |
| 149 | 152 | ||
diff --git a/include/uapi/linux/vsp1.h b/include/uapi/linux/vsp1.h index e18858f6e865..9a823696d816 100644 --- a/include/uapi/linux/vsp1.h +++ b/include/uapi/linux/vsp1.h | |||
| @@ -28,7 +28,7 @@ | |||
| 28 | _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct vsp1_lut_config) | 28 | _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct vsp1_lut_config) |
| 29 | 29 | ||
| 30 | struct vsp1_lut_config { | 30 | struct vsp1_lut_config { |
| 31 | u32 lut[256]; | 31 | __u32 lut[256]; |
| 32 | }; | 32 | }; |
| 33 | 33 | ||
| 34 | #endif /* __VSP1_USER_H__ */ | 34 | #endif /* __VSP1_USER_H__ */ |
