diff options
Diffstat (limited to 'include/uapi')
| -rw-r--r-- | include/uapi/linux/bpf.h | 58 | ||||
| -rw-r--r-- | include/uapi/linux/can/raw.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/dcbnl.h | 66 | ||||
| -rw-r--r-- | include/uapi/linux/filter.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/fou.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/if_addr.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/if_link.h | 14 | ||||
| -rw-r--r-- | include/uapi/linux/if_packet.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/ip_vs.h | 7 | ||||
| -rw-r--r-- | include/uapi/linux/ipv6.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/neighbour.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/netfilter/nf_tables.h | 80 | ||||
| -rw-r--r-- | include/uapi/linux/netfilter_bridge/ebtables.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/nl80211.h | 34 | ||||
| -rw-r--r-- | include/uapi/linux/pkt_cls.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/rtnetlink.h | 16 | ||||
| -rw-r--r-- | include/uapi/linux/tc_act/tc_bpf.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/tipc_netlink.h | 9 | ||||
| -rw-r--r-- | include/uapi/linux/xfrm.h | 2 |
19 files changed, 294 insertions, 8 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index cc47ef41076a..5c1cee11f777 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h | |||
| @@ -119,8 +119,12 @@ enum bpf_prog_type { | |||
| 119 | BPF_PROG_TYPE_UNSPEC, | 119 | BPF_PROG_TYPE_UNSPEC, |
| 120 | BPF_PROG_TYPE_SOCKET_FILTER, | 120 | BPF_PROG_TYPE_SOCKET_FILTER, |
| 121 | BPF_PROG_TYPE_KPROBE, | 121 | BPF_PROG_TYPE_KPROBE, |
| 122 | BPF_PROG_TYPE_SCHED_CLS, | ||
| 123 | BPF_PROG_TYPE_SCHED_ACT, | ||
| 122 | }; | 124 | }; |
| 123 | 125 | ||
| 126 | #define BPF_PSEUDO_MAP_FD 1 | ||
| 127 | |||
| 124 | /* flags for BPF_MAP_UPDATE_ELEM command */ | 128 | /* flags for BPF_MAP_UPDATE_ELEM command */ |
| 125 | #define BPF_ANY 0 /* create new element or update existing */ | 129 | #define BPF_ANY 0 /* create new element or update existing */ |
| 126 | #define BPF_NOEXIST 1 /* create new element if it didn't exist */ | 130 | #define BPF_NOEXIST 1 /* create new element if it didn't exist */ |
| @@ -167,7 +171,61 @@ enum bpf_func_id { | |||
| 167 | BPF_FUNC_probe_read, /* int bpf_probe_read(void *dst, int size, void *src) */ | 171 | BPF_FUNC_probe_read, /* int bpf_probe_read(void *dst, int size, void *src) */ |
| 168 | BPF_FUNC_ktime_get_ns, /* u64 bpf_ktime_get_ns(void) */ | 172 | BPF_FUNC_ktime_get_ns, /* u64 bpf_ktime_get_ns(void) */ |
| 169 | BPF_FUNC_trace_printk, /* int bpf_trace_printk(const char *fmt, int fmt_size, ...) */ | 173 | BPF_FUNC_trace_printk, /* int bpf_trace_printk(const char *fmt, int fmt_size, ...) */ |
| 174 | BPF_FUNC_get_prandom_u32, /* u32 prandom_u32(void) */ | ||
| 175 | BPF_FUNC_get_smp_processor_id, /* u32 raw_smp_processor_id(void) */ | ||
| 176 | |||
| 177 | /** | ||
| 178 | * skb_store_bytes(skb, offset, from, len, flags) - store bytes into packet | ||
| 179 | * @skb: pointer to skb | ||
| 180 | * @offset: offset within packet from skb->data | ||
| 181 | * @from: pointer where to copy bytes from | ||
| 182 | * @len: number of bytes to store into packet | ||
| 183 | * @flags: bit 0 - if true, recompute skb->csum | ||
| 184 | * other bits - reserved | ||
| 185 | * Return: 0 on success | ||
| 186 | */ | ||
| 187 | BPF_FUNC_skb_store_bytes, | ||
| 188 | |||
| 189 | /** | ||
| 190 | * l3_csum_replace(skb, offset, from, to, flags) - recompute IP checksum | ||
| 191 | * @skb: pointer to skb | ||
| 192 | * @offset: offset within packet where IP checksum is located | ||
| 193 | * @from: old value of header field | ||
| 194 | * @to: new value of header field | ||
| 195 | * @flags: bits 0-3 - size of header field | ||
| 196 | * other bits - reserved | ||
| 197 | * Return: 0 on success | ||
| 198 | */ | ||
| 199 | BPF_FUNC_l3_csum_replace, | ||
| 200 | |||
| 201 | /** | ||
| 202 | * l4_csum_replace(skb, offset, from, to, flags) - recompute TCP/UDP checksum | ||
| 203 | * @skb: pointer to skb | ||
| 204 | * @offset: offset within packet where TCP/UDP checksum is located | ||
| 205 | * @from: old value of header field | ||
| 206 | * @to: new value of header field | ||
| 207 | * @flags: bits 0-3 - size of header field | ||
| 208 | * bit 4 - is pseudo header | ||
| 209 | * other bits - reserved | ||
| 210 | * Return: 0 on success | ||
| 211 | */ | ||
| 212 | BPF_FUNC_l4_csum_replace, | ||
| 170 | __BPF_FUNC_MAX_ID, | 213 | __BPF_FUNC_MAX_ID, |
| 171 | }; | 214 | }; |
| 172 | 215 | ||
| 216 | /* user accessible mirror of in-kernel sk_buff. | ||
| 217 | * new fields can only be added to the end of this structure | ||
| 218 | */ | ||
| 219 | struct __sk_buff { | ||
| 220 | __u32 len; | ||
| 221 | __u32 pkt_type; | ||
| 222 | __u32 mark; | ||
| 223 | __u32 queue_mapping; | ||
| 224 | __u32 protocol; | ||
| 225 | __u32 vlan_present; | ||
| 226 | __u32 vlan_tci; | ||
| 227 | __u32 vlan_proto; | ||
| 228 | __u32 priority; | ||
| 229 | }; | ||
| 230 | |||
| 173 | #endif /* _UAPI__LINUX_BPF_H__ */ | 231 | #endif /* _UAPI__LINUX_BPF_H__ */ |
diff --git a/include/uapi/linux/can/raw.h b/include/uapi/linux/can/raw.h index 78ec76fd89a6..8735f1080385 100644 --- a/include/uapi/linux/can/raw.h +++ b/include/uapi/linux/can/raw.h | |||
| @@ -57,6 +57,7 @@ enum { | |||
| 57 | CAN_RAW_LOOPBACK, /* local loopback (default:on) */ | 57 | CAN_RAW_LOOPBACK, /* local loopback (default:on) */ |
| 58 | CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */ | 58 | CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */ |
| 59 | CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */ | 59 | CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */ |
| 60 | CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */ | ||
| 60 | }; | 61 | }; |
| 61 | 62 | ||
| 62 | #endif /* !_UAPI_CAN_RAW_H */ | 63 | #endif /* !_UAPI_CAN_RAW_H */ |
diff --git a/include/uapi/linux/dcbnl.h b/include/uapi/linux/dcbnl.h index e711f20dc522..6497d7933d5b 100644 --- a/include/uapi/linux/dcbnl.h +++ b/include/uapi/linux/dcbnl.h | |||
| @@ -78,6 +78,70 @@ struct ieee_maxrate { | |||
| 78 | __u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS]; | 78 | __u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS]; |
| 79 | }; | 79 | }; |
| 80 | 80 | ||
| 81 | enum dcbnl_cndd_states { | ||
| 82 | DCB_CNDD_RESET = 0, | ||
| 83 | DCB_CNDD_EDGE, | ||
| 84 | DCB_CNDD_INTERIOR, | ||
| 85 | DCB_CNDD_INTERIOR_READY, | ||
| 86 | }; | ||
| 87 | |||
| 88 | /* This structure contains the IEEE 802.1Qau QCN managed object. | ||
| 89 | * | ||
| 90 | *@rpg_enable: enable QCN RP | ||
| 91 | *@rppp_max_rps: maximum number of RPs allowed for this CNPV on this port | ||
| 92 | *@rpg_time_reset: time between rate increases if no CNMs received. | ||
| 93 | * given in u-seconds | ||
| 94 | *@rpg_byte_reset: transmitted data between rate increases if no CNMs received. | ||
| 95 | * given in Bytes | ||
| 96 | *@rpg_threshold: The number of times rpByteStage or rpTimeStage can count | ||
| 97 | * before RP rate control state machine advances states | ||
| 98 | *@rpg_max_rate: the maxinun rate, in Mbits per second, | ||
| 99 | * at which an RP can transmit | ||
| 100 | *@rpg_ai_rate: The rate, in Mbits per second, | ||
| 101 | * used to increase rpTargetRate in the RPR_ACTIVE_INCREASE | ||
| 102 | *@rpg_hai_rate: The rate, in Mbits per second, | ||
| 103 | * used to increase rpTargetRate in the RPR_HYPER_INCREASE state | ||
| 104 | *@rpg_gd: Upon CNM receive, flow rate is limited to (Fb/Gd)*CurrentRate. | ||
| 105 | * rpgGd is given as log2(Gd), where Gd may only be powers of 2 | ||
| 106 | *@rpg_min_dec_fac: The minimum factor by which the current transmit rate | ||
| 107 | * can be changed by reception of a CNM. | ||
| 108 | * value is given as percentage (1-100) | ||
| 109 | *@rpg_min_rate: The minimum value, in bits per second, for rate to limit | ||
| 110 | *@cndd_state_machine: The state of the congestion notification domain | ||
| 111 | * defense state machine, as defined by IEEE 802.3Qau | ||
| 112 | * section 32.1.1. In the interior ready state, | ||
| 113 | * the QCN capable hardware may add CN-TAG TLV to the | ||
| 114 | * outgoing traffic, to specifically identify outgoing | ||
| 115 | * flows. | ||
| 116 | */ | ||
| 117 | |||
| 118 | struct ieee_qcn { | ||
| 119 | __u8 rpg_enable[IEEE_8021QAZ_MAX_TCS]; | ||
| 120 | __u32 rppp_max_rps[IEEE_8021QAZ_MAX_TCS]; | ||
| 121 | __u32 rpg_time_reset[IEEE_8021QAZ_MAX_TCS]; | ||
| 122 | __u32 rpg_byte_reset[IEEE_8021QAZ_MAX_TCS]; | ||
| 123 | __u32 rpg_threshold[IEEE_8021QAZ_MAX_TCS]; | ||
| 124 | __u32 rpg_max_rate[IEEE_8021QAZ_MAX_TCS]; | ||
| 125 | __u32 rpg_ai_rate[IEEE_8021QAZ_MAX_TCS]; | ||
| 126 | __u32 rpg_hai_rate[IEEE_8021QAZ_MAX_TCS]; | ||
| 127 | __u32 rpg_gd[IEEE_8021QAZ_MAX_TCS]; | ||
| 128 | __u32 rpg_min_dec_fac[IEEE_8021QAZ_MAX_TCS]; | ||
| 129 | __u32 rpg_min_rate[IEEE_8021QAZ_MAX_TCS]; | ||
| 130 | __u32 cndd_state_machine[IEEE_8021QAZ_MAX_TCS]; | ||
| 131 | }; | ||
| 132 | |||
| 133 | /* This structure contains the IEEE 802.1Qau QCN statistics. | ||
| 134 | * | ||
| 135 | *@rppp_rp_centiseconds: the number of RP-centiseconds accumulated | ||
| 136 | * by RPs at this priority level on this Port | ||
| 137 | *@rppp_created_rps: number of active RPs(flows) that react to CNMs | ||
| 138 | */ | ||
| 139 | |||
| 140 | struct ieee_qcn_stats { | ||
| 141 | __u64 rppp_rp_centiseconds[IEEE_8021QAZ_MAX_TCS]; | ||
| 142 | __u32 rppp_created_rps[IEEE_8021QAZ_MAX_TCS]; | ||
| 143 | }; | ||
| 144 | |||
| 81 | /* This structure contains the IEEE 802.1Qaz PFC managed object | 145 | /* This structure contains the IEEE 802.1Qaz PFC managed object |
| 82 | * | 146 | * |
| 83 | * @pfc_cap: Indicates the number of traffic classes on the local device | 147 | * @pfc_cap: Indicates the number of traffic classes on the local device |
| @@ -334,6 +398,8 @@ enum ieee_attrs { | |||
| 334 | DCB_ATTR_IEEE_PEER_PFC, | 398 | DCB_ATTR_IEEE_PEER_PFC, |
| 335 | DCB_ATTR_IEEE_PEER_APP, | 399 | DCB_ATTR_IEEE_PEER_APP, |
| 336 | DCB_ATTR_IEEE_MAXRATE, | 400 | DCB_ATTR_IEEE_MAXRATE, |
| 401 | DCB_ATTR_IEEE_QCN, | ||
| 402 | DCB_ATTR_IEEE_QCN_STATS, | ||
| 337 | __DCB_ATTR_IEEE_MAX | 403 | __DCB_ATTR_IEEE_MAX |
| 338 | }; | 404 | }; |
| 339 | #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1) | 405 | #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1) |
diff --git a/include/uapi/linux/filter.h b/include/uapi/linux/filter.h index 47785d5ecf17..34c7936ca114 100644 --- a/include/uapi/linux/filter.h +++ b/include/uapi/linux/filter.h | |||
| @@ -77,7 +77,8 @@ struct sock_fprog { /* Required for SO_ATTACH_FILTER. */ | |||
| 77 | #define SKF_AD_VLAN_TAG_PRESENT 48 | 77 | #define SKF_AD_VLAN_TAG_PRESENT 48 |
| 78 | #define SKF_AD_PAY_OFFSET 52 | 78 | #define SKF_AD_PAY_OFFSET 52 |
| 79 | #define SKF_AD_RANDOM 56 | 79 | #define SKF_AD_RANDOM 56 |
| 80 | #define SKF_AD_MAX 60 | 80 | #define SKF_AD_VLAN_TPID 60 |
| 81 | #define SKF_AD_MAX 64 | ||
| 81 | #define SKF_NET_OFF (-0x100000) | 82 | #define SKF_NET_OFF (-0x100000) |
| 82 | #define SKF_LL_OFF (-0x200000) | 83 | #define SKF_LL_OFF (-0x200000) |
| 83 | 84 | ||
diff --git a/include/uapi/linux/fou.h b/include/uapi/linux/fou.h index c303588bb767..d2947c52dc67 100644 --- a/include/uapi/linux/fou.h +++ b/include/uapi/linux/fou.h | |||
| @@ -25,6 +25,7 @@ enum { | |||
| 25 | FOU_CMD_UNSPEC, | 25 | FOU_CMD_UNSPEC, |
| 26 | FOU_CMD_ADD, | 26 | FOU_CMD_ADD, |
| 27 | FOU_CMD_DEL, | 27 | FOU_CMD_DEL, |
| 28 | FOU_CMD_GET, | ||
| 28 | 29 | ||
| 29 | __FOU_CMD_MAX, | 30 | __FOU_CMD_MAX, |
| 30 | }; | 31 | }; |
diff --git a/include/uapi/linux/if_addr.h b/include/uapi/linux/if_addr.h index dea10a87dfd1..4318ab1635ce 100644 --- a/include/uapi/linux/if_addr.h +++ b/include/uapi/linux/if_addr.h | |||
| @@ -50,6 +50,8 @@ enum { | |||
| 50 | #define IFA_F_PERMANENT 0x80 | 50 | #define IFA_F_PERMANENT 0x80 |
| 51 | #define IFA_F_MANAGETEMPADDR 0x100 | 51 | #define IFA_F_MANAGETEMPADDR 0x100 |
| 52 | #define IFA_F_NOPREFIXROUTE 0x200 | 52 | #define IFA_F_NOPREFIXROUTE 0x200 |
| 53 | #define IFA_F_MCAUTOJOIN 0x400 | ||
| 54 | #define IFA_F_STABLE_PRIVACY 0x800 | ||
| 53 | 55 | ||
| 54 | struct ifa_cacheinfo { | 56 | struct ifa_cacheinfo { |
| 55 | __u32 ifa_prefered; | 57 | __u32 ifa_prefered; |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index dfd0bb22e554..d9cd19214b98 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -147,6 +147,7 @@ enum { | |||
| 147 | IFLA_CARRIER_CHANGES, | 147 | IFLA_CARRIER_CHANGES, |
| 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_MAX | 151 | __IFLA_MAX |
| 151 | }; | 152 | }; |
| 152 | 153 | ||
| @@ -215,6 +216,7 @@ enum { | |||
| 215 | enum in6_addr_gen_mode { | 216 | enum in6_addr_gen_mode { |
| 216 | IN6_ADDR_GEN_MODE_EUI64, | 217 | IN6_ADDR_GEN_MODE_EUI64, |
| 217 | IN6_ADDR_GEN_MODE_NONE, | 218 | IN6_ADDR_GEN_MODE_NONE, |
| 219 | IN6_ADDR_GEN_MODE_STABLE_PRIVACY, | ||
| 218 | }; | 220 | }; |
| 219 | 221 | ||
| 220 | /* Bridge section */ | 222 | /* Bridge section */ |
| @@ -224,6 +226,9 @@ enum { | |||
| 224 | IFLA_BR_FORWARD_DELAY, | 226 | IFLA_BR_FORWARD_DELAY, |
| 225 | IFLA_BR_HELLO_TIME, | 227 | IFLA_BR_HELLO_TIME, |
| 226 | IFLA_BR_MAX_AGE, | 228 | IFLA_BR_MAX_AGE, |
| 229 | IFLA_BR_AGEING_TIME, | ||
| 230 | IFLA_BR_STP_STATE, | ||
| 231 | IFLA_BR_PRIORITY, | ||
| 227 | __IFLA_BR_MAX, | 232 | __IFLA_BR_MAX, |
| 228 | }; | 233 | }; |
| 229 | 234 | ||
| @@ -247,6 +252,7 @@ enum { | |||
| 247 | IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */ | 252 | IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */ |
| 248 | IFLA_BRPORT_PROXYARP, /* proxy ARP */ | 253 | IFLA_BRPORT_PROXYARP, /* proxy ARP */ |
| 249 | IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */ | 254 | IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */ |
| 255 | IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */ | ||
| 250 | __IFLA_BRPORT_MAX | 256 | __IFLA_BRPORT_MAX |
| 251 | }; | 257 | }; |
| 252 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) | 258 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) |
| @@ -459,6 +465,9 @@ enum { | |||
| 459 | IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */ | 465 | IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */ |
| 460 | IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */ | 466 | IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */ |
| 461 | IFLA_VF_RATE, /* Min and Max TX Bandwidth Allocation */ | 467 | IFLA_VF_RATE, /* Min and Max TX Bandwidth Allocation */ |
| 468 | IFLA_VF_RSS_QUERY_EN, /* RSS Redirection Table and Hash Key query | ||
| 469 | * on/off switch | ||
| 470 | */ | ||
| 462 | __IFLA_VF_MAX, | 471 | __IFLA_VF_MAX, |
| 463 | }; | 472 | }; |
| 464 | 473 | ||
| @@ -503,6 +512,11 @@ struct ifla_vf_link_state { | |||
| 503 | __u32 link_state; | 512 | __u32 link_state; |
| 504 | }; | 513 | }; |
| 505 | 514 | ||
| 515 | struct ifla_vf_rss_query_en { | ||
| 516 | __u32 vf; | ||
| 517 | __u32 setting; | ||
| 518 | }; | ||
| 519 | |||
| 506 | /* VF ports management section | 520 | /* VF ports management section |
| 507 | * | 521 | * |
| 508 | * Nested layout of set/get msg is: | 522 | * Nested layout of set/get msg is: |
diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h index da2d668b8cf1..053bd102fbe0 100644 --- a/include/uapi/linux/if_packet.h +++ b/include/uapi/linux/if_packet.h | |||
| @@ -99,6 +99,7 @@ struct tpacket_auxdata { | |||
| 99 | #define TP_STATUS_VLAN_VALID (1 << 4) /* auxdata has valid tp_vlan_tci */ | 99 | #define TP_STATUS_VLAN_VALID (1 << 4) /* auxdata has valid tp_vlan_tci */ |
| 100 | #define TP_STATUS_BLK_TMO (1 << 5) | 100 | #define TP_STATUS_BLK_TMO (1 << 5) |
| 101 | #define TP_STATUS_VLAN_TPID_VALID (1 << 6) /* auxdata has valid tp_vlan_tpid */ | 101 | #define TP_STATUS_VLAN_TPID_VALID (1 << 6) /* auxdata has valid tp_vlan_tpid */ |
| 102 | #define TP_STATUS_CSUM_VALID (1 << 7) | ||
| 102 | 103 | ||
| 103 | /* Tx ring - header status */ | 104 | /* Tx ring - header status */ |
| 104 | #define TP_STATUS_AVAILABLE 0 | 105 | #define TP_STATUS_AVAILABLE 0 |
diff --git a/include/uapi/linux/ip_vs.h b/include/uapi/linux/ip_vs.h index cabe95d5b461..3199243f2028 100644 --- a/include/uapi/linux/ip_vs.h +++ b/include/uapi/linux/ip_vs.h | |||
| @@ -358,6 +358,8 @@ enum { | |||
| 358 | 358 | ||
| 359 | IPVS_SVC_ATTR_PE_NAME, /* name of ct retriever */ | 359 | IPVS_SVC_ATTR_PE_NAME, /* name of ct retriever */ |
| 360 | 360 | ||
| 361 | IPVS_SVC_ATTR_STATS64, /* nested attribute for service stats */ | ||
| 362 | |||
| 361 | __IPVS_SVC_ATTR_MAX, | 363 | __IPVS_SVC_ATTR_MAX, |
| 362 | }; | 364 | }; |
| 363 | 365 | ||
| @@ -387,6 +389,8 @@ enum { | |||
| 387 | 389 | ||
| 388 | IPVS_DEST_ATTR_ADDR_FAMILY, /* Address family of address */ | 390 | IPVS_DEST_ATTR_ADDR_FAMILY, /* Address family of address */ |
| 389 | 391 | ||
| 392 | IPVS_DEST_ATTR_STATS64, /* nested attribute for dest stats */ | ||
| 393 | |||
| 390 | __IPVS_DEST_ATTR_MAX, | 394 | __IPVS_DEST_ATTR_MAX, |
| 391 | }; | 395 | }; |
| 392 | 396 | ||
| @@ -410,7 +414,8 @@ enum { | |||
| 410 | /* | 414 | /* |
| 411 | * Attributes used to describe service or destination entry statistics | 415 | * Attributes used to describe service or destination entry statistics |
| 412 | * | 416 | * |
| 413 | * Used inside nested attributes IPVS_SVC_ATTR_STATS and IPVS_DEST_ATTR_STATS | 417 | * Used inside nested attributes IPVS_SVC_ATTR_STATS, IPVS_DEST_ATTR_STATS, |
| 418 | * IPVS_SVC_ATTR_STATS64 and IPVS_DEST_ATTR_STATS64. | ||
| 414 | */ | 419 | */ |
| 415 | enum { | 420 | enum { |
| 416 | IPVS_STATS_ATTR_UNSPEC = 0, | 421 | IPVS_STATS_ATTR_UNSPEC = 0, |
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h index 437a6a4b125a..5efa54ae567c 100644 --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h | |||
| @@ -170,6 +170,7 @@ enum { | |||
| 170 | DEVCONF_ACCEPT_RA_FROM_LOCAL, | 170 | DEVCONF_ACCEPT_RA_FROM_LOCAL, |
| 171 | DEVCONF_USE_OPTIMISTIC, | 171 | DEVCONF_USE_OPTIMISTIC, |
| 172 | DEVCONF_ACCEPT_RA_MTU, | 172 | DEVCONF_ACCEPT_RA_MTU, |
| 173 | DEVCONF_STABLE_SECRET, | ||
| 173 | DEVCONF_MAX | 174 | DEVCONF_MAX |
| 174 | }; | 175 | }; |
| 175 | 176 | ||
diff --git a/include/uapi/linux/neighbour.h b/include/uapi/linux/neighbour.h index 3873a35509aa..2e35c61bbdd1 100644 --- a/include/uapi/linux/neighbour.h +++ b/include/uapi/linux/neighbour.h | |||
| @@ -126,6 +126,7 @@ enum { | |||
| 126 | NDTPA_PROXY_QLEN, /* u32 */ | 126 | NDTPA_PROXY_QLEN, /* u32 */ |
| 127 | NDTPA_LOCKTIME, /* u64, msecs */ | 127 | NDTPA_LOCKTIME, /* u64, msecs */ |
| 128 | NDTPA_QUEUE_LENBYTES, /* u32 */ | 128 | NDTPA_QUEUE_LENBYTES, /* u32 */ |
| 129 | NDTPA_MCAST_REPROBES, /* u32 */ | ||
| 129 | __NDTPA_MAX | 130 | __NDTPA_MAX |
| 130 | }; | 131 | }; |
| 131 | #define NDTPA_MAX (__NDTPA_MAX - 1) | 132 | #define NDTPA_MAX (__NDTPA_MAX - 1) |
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h index 832bc46db78b..5fa1cd04762e 100644 --- a/include/uapi/linux/netfilter/nf_tables.h +++ b/include/uapi/linux/netfilter/nf_tables.h | |||
| @@ -1,19 +1,49 @@ | |||
| 1 | #ifndef _LINUX_NF_TABLES_H | 1 | #ifndef _LINUX_NF_TABLES_H |
| 2 | #define _LINUX_NF_TABLES_H | 2 | #define _LINUX_NF_TABLES_H |
| 3 | 3 | ||
| 4 | #define NFT_TABLE_MAXNAMELEN 32 | ||
| 4 | #define NFT_CHAIN_MAXNAMELEN 32 | 5 | #define NFT_CHAIN_MAXNAMELEN 32 |
| 5 | #define NFT_USERDATA_MAXLEN 256 | 6 | #define NFT_USERDATA_MAXLEN 256 |
| 6 | 7 | ||
| 8 | /** | ||
| 9 | * enum nft_registers - nf_tables registers | ||
| 10 | * | ||
| 11 | * nf_tables used to have five registers: a verdict register and four data | ||
| 12 | * registers of size 16. The data registers have been changed to 16 registers | ||
| 13 | * of size 4. For compatibility reasons, the NFT_REG_[1-4] registers still | ||
| 14 | * map to areas of size 16, the 4 byte registers are addressed using | ||
| 15 | * NFT_REG32_00 - NFT_REG32_15. | ||
| 16 | */ | ||
| 7 | enum nft_registers { | 17 | enum nft_registers { |
| 8 | NFT_REG_VERDICT, | 18 | NFT_REG_VERDICT, |
| 9 | NFT_REG_1, | 19 | NFT_REG_1, |
| 10 | NFT_REG_2, | 20 | NFT_REG_2, |
| 11 | NFT_REG_3, | 21 | NFT_REG_3, |
| 12 | NFT_REG_4, | 22 | NFT_REG_4, |
| 13 | __NFT_REG_MAX | 23 | __NFT_REG_MAX, |
| 24 | |||
| 25 | NFT_REG32_00 = 8, | ||
| 26 | MFT_REG32_01, | ||
| 27 | NFT_REG32_02, | ||
| 28 | NFT_REG32_03, | ||
| 29 | NFT_REG32_04, | ||
| 30 | NFT_REG32_05, | ||
| 31 | NFT_REG32_06, | ||
| 32 | NFT_REG32_07, | ||
| 33 | NFT_REG32_08, | ||
| 34 | NFT_REG32_09, | ||
| 35 | NFT_REG32_10, | ||
| 36 | NFT_REG32_11, | ||
| 37 | NFT_REG32_12, | ||
| 38 | NFT_REG32_13, | ||
| 39 | NFT_REG32_14, | ||
| 40 | NFT_REG32_15, | ||
| 14 | }; | 41 | }; |
| 15 | #define NFT_REG_MAX (__NFT_REG_MAX - 1) | 42 | #define NFT_REG_MAX (__NFT_REG_MAX - 1) |
| 16 | 43 | ||
| 44 | #define NFT_REG_SIZE 16 | ||
| 45 | #define NFT_REG32_SIZE 4 | ||
| 46 | |||
| 17 | /** | 47 | /** |
| 18 | * enum nft_verdicts - nf_tables internal verdicts | 48 | * enum nft_verdicts - nf_tables internal verdicts |
| 19 | * | 49 | * |
| @@ -207,12 +237,16 @@ enum nft_rule_compat_attributes { | |||
| 207 | * @NFT_SET_CONSTANT: set contents may not change while bound | 237 | * @NFT_SET_CONSTANT: set contents may not change while bound |
| 208 | * @NFT_SET_INTERVAL: set contains intervals | 238 | * @NFT_SET_INTERVAL: set contains intervals |
| 209 | * @NFT_SET_MAP: set is used as a dictionary | 239 | * @NFT_SET_MAP: set is used as a dictionary |
| 240 | * @NFT_SET_TIMEOUT: set uses timeouts | ||
| 241 | * @NFT_SET_EVAL: set contains expressions for evaluation | ||
| 210 | */ | 242 | */ |
| 211 | enum nft_set_flags { | 243 | enum nft_set_flags { |
| 212 | NFT_SET_ANONYMOUS = 0x1, | 244 | NFT_SET_ANONYMOUS = 0x1, |
| 213 | NFT_SET_CONSTANT = 0x2, | 245 | NFT_SET_CONSTANT = 0x2, |
| 214 | NFT_SET_INTERVAL = 0x4, | 246 | NFT_SET_INTERVAL = 0x4, |
| 215 | NFT_SET_MAP = 0x8, | 247 | NFT_SET_MAP = 0x8, |
| 248 | NFT_SET_TIMEOUT = 0x10, | ||
| 249 | NFT_SET_EVAL = 0x20, | ||
| 216 | }; | 250 | }; |
| 217 | 251 | ||
| 218 | /** | 252 | /** |
| @@ -251,6 +285,8 @@ enum nft_set_desc_attributes { | |||
| 251 | * @NFTA_SET_POLICY: selection policy (NLA_U32) | 285 | * @NFTA_SET_POLICY: selection policy (NLA_U32) |
| 252 | * @NFTA_SET_DESC: set description (NLA_NESTED) | 286 | * @NFTA_SET_DESC: set description (NLA_NESTED) |
| 253 | * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32) | 287 | * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32) |
| 288 | * @NFTA_SET_TIMEOUT: default timeout value (NLA_U64) | ||
| 289 | * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32) | ||
| 254 | */ | 290 | */ |
| 255 | enum nft_set_attributes { | 291 | enum nft_set_attributes { |
| 256 | NFTA_SET_UNSPEC, | 292 | NFTA_SET_UNSPEC, |
| @@ -264,6 +300,8 @@ enum nft_set_attributes { | |||
| 264 | NFTA_SET_POLICY, | 300 | NFTA_SET_POLICY, |
| 265 | NFTA_SET_DESC, | 301 | NFTA_SET_DESC, |
| 266 | NFTA_SET_ID, | 302 | NFTA_SET_ID, |
| 303 | NFTA_SET_TIMEOUT, | ||
| 304 | NFTA_SET_GC_INTERVAL, | ||
| 267 | __NFTA_SET_MAX | 305 | __NFTA_SET_MAX |
| 268 | }; | 306 | }; |
| 269 | #define NFTA_SET_MAX (__NFTA_SET_MAX - 1) | 307 | #define NFTA_SET_MAX (__NFTA_SET_MAX - 1) |
| @@ -283,12 +321,20 @@ enum nft_set_elem_flags { | |||
| 283 | * @NFTA_SET_ELEM_KEY: key value (NLA_NESTED: nft_data) | 321 | * @NFTA_SET_ELEM_KEY: key value (NLA_NESTED: nft_data) |
| 284 | * @NFTA_SET_ELEM_DATA: data value of mapping (NLA_NESTED: nft_data_attributes) | 322 | * @NFTA_SET_ELEM_DATA: data value of mapping (NLA_NESTED: nft_data_attributes) |
| 285 | * @NFTA_SET_ELEM_FLAGS: bitmask of nft_set_elem_flags (NLA_U32) | 323 | * @NFTA_SET_ELEM_FLAGS: bitmask of nft_set_elem_flags (NLA_U32) |
| 324 | * @NFTA_SET_ELEM_TIMEOUT: timeout value (NLA_U64) | ||
| 325 | * @NFTA_SET_ELEM_EXPIRATION: expiration time (NLA_U64) | ||
| 326 | * @NFTA_SET_ELEM_USERDATA: user data (NLA_BINARY) | ||
| 327 | * @NFTA_SET_ELEM_EXPR: expression (NLA_NESTED: nft_expr_attributes) | ||
| 286 | */ | 328 | */ |
| 287 | enum nft_set_elem_attributes { | 329 | enum nft_set_elem_attributes { |
| 288 | NFTA_SET_ELEM_UNSPEC, | 330 | NFTA_SET_ELEM_UNSPEC, |
| 289 | NFTA_SET_ELEM_KEY, | 331 | NFTA_SET_ELEM_KEY, |
| 290 | NFTA_SET_ELEM_DATA, | 332 | NFTA_SET_ELEM_DATA, |
| 291 | NFTA_SET_ELEM_FLAGS, | 333 | NFTA_SET_ELEM_FLAGS, |
| 334 | NFTA_SET_ELEM_TIMEOUT, | ||
| 335 | NFTA_SET_ELEM_EXPIRATION, | ||
| 336 | NFTA_SET_ELEM_USERDATA, | ||
| 337 | NFTA_SET_ELEM_EXPR, | ||
| 292 | __NFTA_SET_ELEM_MAX | 338 | __NFTA_SET_ELEM_MAX |
| 293 | }; | 339 | }; |
| 294 | #define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1) | 340 | #define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1) |
| @@ -346,6 +392,9 @@ enum nft_data_attributes { | |||
| 346 | }; | 392 | }; |
| 347 | #define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1) | 393 | #define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1) |
| 348 | 394 | ||
| 395 | /* Maximum length of a value */ | ||
| 396 | #define NFT_DATA_VALUE_MAXLEN 64 | ||
| 397 | |||
| 349 | /** | 398 | /** |
| 350 | * enum nft_verdict_attributes - nf_tables verdict netlink attributes | 399 | * enum nft_verdict_attributes - nf_tables verdict netlink attributes |
| 351 | * | 400 | * |
| @@ -504,6 +553,35 @@ enum nft_lookup_attributes { | |||
| 504 | }; | 553 | }; |
| 505 | #define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1) | 554 | #define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1) |
| 506 | 555 | ||
| 556 | enum nft_dynset_ops { | ||
| 557 | NFT_DYNSET_OP_ADD, | ||
| 558 | NFT_DYNSET_OP_UPDATE, | ||
| 559 | }; | ||
| 560 | |||
| 561 | /** | ||
| 562 | * enum nft_dynset_attributes - dynset expression attributes | ||
| 563 | * | ||
| 564 | * @NFTA_DYNSET_SET_NAME: name of set the to add data to (NLA_STRING) | ||
| 565 | * @NFTA_DYNSET_SET_ID: uniquely identifier of the set in the transaction (NLA_U32) | ||
| 566 | * @NFTA_DYNSET_OP: operation (NLA_U32) | ||
| 567 | * @NFTA_DYNSET_SREG_KEY: source register of the key (NLA_U32) | ||
| 568 | * @NFTA_DYNSET_SREG_DATA: source register of the data (NLA_U32) | ||
| 569 | * @NFTA_DYNSET_TIMEOUT: timeout value for the new element (NLA_U64) | ||
| 570 | * @NFTA_DYNSET_EXPR: expression (NLA_NESTED: nft_expr_attributes) | ||
| 571 | */ | ||
| 572 | enum nft_dynset_attributes { | ||
| 573 | NFTA_DYNSET_UNSPEC, | ||
| 574 | NFTA_DYNSET_SET_NAME, | ||
| 575 | NFTA_DYNSET_SET_ID, | ||
| 576 | NFTA_DYNSET_OP, | ||
| 577 | NFTA_DYNSET_SREG_KEY, | ||
| 578 | NFTA_DYNSET_SREG_DATA, | ||
| 579 | NFTA_DYNSET_TIMEOUT, | ||
| 580 | NFTA_DYNSET_EXPR, | ||
| 581 | __NFTA_DYNSET_MAX, | ||
| 582 | }; | ||
| 583 | #define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1) | ||
| 584 | |||
| 507 | /** | 585 | /** |
| 508 | * enum nft_payload_bases - nf_tables payload expression offset bases | 586 | * enum nft_payload_bases - nf_tables payload expression offset bases |
| 509 | * | 587 | * |
diff --git a/include/uapi/linux/netfilter_bridge/ebtables.h b/include/uapi/linux/netfilter_bridge/ebtables.h index ba993360dbe9..773dfe8924c7 100644 --- a/include/uapi/linux/netfilter_bridge/ebtables.h +++ b/include/uapi/linux/netfilter_bridge/ebtables.h | |||
| @@ -12,9 +12,7 @@ | |||
| 12 | 12 | ||
| 13 | #ifndef _UAPI__LINUX_BRIDGE_EFF_H | 13 | #ifndef _UAPI__LINUX_BRIDGE_EFF_H |
| 14 | #define _UAPI__LINUX_BRIDGE_EFF_H | 14 | #define _UAPI__LINUX_BRIDGE_EFF_H |
| 15 | #include <linux/if.h> | ||
| 16 | #include <linux/netfilter_bridge.h> | 15 | #include <linux/netfilter_bridge.h> |
| 17 | #include <linux/if_ether.h> | ||
| 18 | 16 | ||
| 19 | #define EBT_TABLE_MAXNAMELEN 32 | 17 | #define EBT_TABLE_MAXNAMELEN 32 |
| 20 | #define EBT_CHAIN_MAXNAMELEN EBT_TABLE_MAXNAMELEN | 18 | #define EBT_CHAIN_MAXNAMELEN EBT_TABLE_MAXNAMELEN |
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 68b294e83944..241220c43e86 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -25,6 +25,19 @@ | |||
| 25 | * | 25 | * |
| 26 | */ | 26 | */ |
| 27 | 27 | ||
| 28 | /* | ||
| 29 | * This header file defines the userspace API to the wireless stack. Please | ||
| 30 | * be careful not to break things - i.e. don't move anything around or so | ||
| 31 | * unless you can demonstrate that it breaks neither API nor ABI. | ||
| 32 | * | ||
| 33 | * Additions to the API should be accompanied by actual implementations in | ||
| 34 | * an upstream driver, so that example implementations exist in case there | ||
| 35 | * are ever concerns about the precise semantics of the API or changes are | ||
| 36 | * needed, and to ensure that code for dead (no longer implemented) API | ||
| 37 | * can actually be identified and removed. | ||
| 38 | * Nonetheless, semantics should also be documented carefully in this file. | ||
| 39 | */ | ||
| 40 | |||
| 28 | #include <linux/types.h> | 41 | #include <linux/types.h> |
| 29 | 42 | ||
| 30 | #define NL80211_GENL_NAME "nl80211" | 43 | #define NL80211_GENL_NAME "nl80211" |
| @@ -1684,6 +1697,10 @@ enum nl80211_commands { | |||
| 1684 | * If set during scheduled scan start then the new scan req will be | 1697 | * If set during scheduled scan start then the new scan req will be |
| 1685 | * owned by the netlink socket that created it and the scheduled scan will | 1698 | * owned by the netlink socket that created it and the scheduled scan will |
| 1686 | * be stopped when the socket is closed. | 1699 | * be stopped when the socket is closed. |
| 1700 | * If set during configuration of regulatory indoor operation then the | ||
| 1701 | * regulatory indoor configuration would be owned by the netlink socket | ||
| 1702 | * that configured the indoor setting, and the indoor operation would be | ||
| 1703 | * cleared when the socket is closed. | ||
| 1687 | * | 1704 | * |
| 1688 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is | 1705 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is |
| 1689 | * the TDLS link initiator. | 1706 | * the TDLS link initiator. |
| @@ -1737,8 +1754,12 @@ enum nl80211_commands { | |||
| 1737 | * should be contained in the result as the sum of the respective counters | 1754 | * should be contained in the result as the sum of the respective counters |
| 1738 | * over all channels. | 1755 | * over all channels. |
| 1739 | * | 1756 | * |
| 1740 | * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before a scheduled scan (or a | 1757 | * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a |
| 1741 | * WoWLAN net-detect scan) is started, u32 in seconds. | 1758 | * scheduled scan (or a WoWLAN net-detect scan) is started, u32 |
| 1759 | * in seconds. | ||
| 1760 | |||
| 1761 | * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device | ||
| 1762 | * is operating in an indoor environment. | ||
| 1742 | * | 1763 | * |
| 1743 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 1764 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 1744 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1765 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| @@ -2107,6 +2128,8 @@ enum nl80211_attrs { | |||
| 2107 | 2128 | ||
| 2108 | NL80211_ATTR_SCHED_SCAN_DELAY, | 2129 | NL80211_ATTR_SCHED_SCAN_DELAY, |
| 2109 | 2130 | ||
| 2131 | NL80211_ATTR_REG_INDOOR, | ||
| 2132 | |||
| 2110 | /* add attributes here, update the policy in nl80211.c */ | 2133 | /* add attributes here, update the policy in nl80211.c */ |
| 2111 | 2134 | ||
| 2112 | __NL80211_ATTR_AFTER_LAST, | 2135 | __NL80211_ATTR_AFTER_LAST, |
| @@ -3092,7 +3115,8 @@ enum nl80211_mesh_power_mode { | |||
| 3092 | * | 3115 | * |
| 3093 | * @NL80211_MESHCONF_PLINK_TIMEOUT: If no tx activity is seen from a STA we've | 3116 | * @NL80211_MESHCONF_PLINK_TIMEOUT: If no tx activity is seen from a STA we've |
| 3094 | * established peering with for longer than this time (in seconds), then | 3117 | * established peering with for longer than this time (in seconds), then |
| 3095 | * remove it from the STA's list of peers. Default is 30 minutes. | 3118 | * remove it from the STA's list of peers. You may set this to 0 to disable |
| 3119 | * the removal of the STA. Default is 30 minutes. | ||
| 3096 | * | 3120 | * |
| 3097 | * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use | 3121 | * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use |
| 3098 | */ | 3122 | */ |
| @@ -3694,6 +3718,8 @@ struct nl80211_pattern_support { | |||
| 3694 | * @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put | 3718 | * @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put |
| 3695 | * the chip into a special state -- works best with chips that have | 3719 | * the chip into a special state -- works best with chips that have |
| 3696 | * support for low-power operation already (flag) | 3720 | * support for low-power operation already (flag) |
| 3721 | * Note that this mode is incompatible with all of the others, if | ||
| 3722 | * any others are even supported by the device. | ||
| 3697 | * @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect | 3723 | * @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect |
| 3698 | * is detected is implementation-specific (flag) | 3724 | * is detected is implementation-specific (flag) |
| 3699 | * @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed | 3725 | * @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed |
| @@ -4327,11 +4353,13 @@ enum nl80211_feature_flags { | |||
| 4327 | 4353 | ||
| 4328 | /** | 4354 | /** |
| 4329 | * enum nl80211_ext_feature_index - bit index of extended features. | 4355 | * enum nl80211_ext_feature_index - bit index of extended features. |
| 4356 | * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates. | ||
| 4330 | * | 4357 | * |
| 4331 | * @NUM_NL80211_EXT_FEATURES: number of extended features. | 4358 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 4332 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | 4359 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 4333 | */ | 4360 | */ |
| 4334 | enum nl80211_ext_feature_index { | 4361 | enum nl80211_ext_feature_index { |
| 4362 | NL80211_EXT_FEATURE_VHT_IBSS, | ||
| 4335 | 4363 | ||
| 4336 | /* add new features before the definition below */ | 4364 | /* add new features before the definition below */ |
| 4337 | NUM_NL80211_EXT_FEATURES, | 4365 | NUM_NL80211_EXT_FEATURES, |
diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h index 25731dfb3fcc..bf08e76bf505 100644 --- a/include/uapi/linux/pkt_cls.h +++ b/include/uapi/linux/pkt_cls.h | |||
| @@ -397,6 +397,8 @@ enum { | |||
| 397 | TCA_BPF_CLASSID, | 397 | TCA_BPF_CLASSID, |
| 398 | TCA_BPF_OPS_LEN, | 398 | TCA_BPF_OPS_LEN, |
| 399 | TCA_BPF_OPS, | 399 | TCA_BPF_OPS, |
| 400 | TCA_BPF_FD, | ||
| 401 | TCA_BPF_NAME, | ||
| 400 | __TCA_BPF_MAX, | 402 | __TCA_BPF_MAX, |
| 401 | }; | 403 | }; |
| 402 | 404 | ||
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h index 5cc5d66bf519..974db03f7b1a 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h | |||
| @@ -134,6 +134,8 @@ enum { | |||
| 134 | 134 | ||
| 135 | RTM_NEWNSID = 88, | 135 | RTM_NEWNSID = 88, |
| 136 | #define RTM_NEWNSID RTM_NEWNSID | 136 | #define RTM_NEWNSID RTM_NEWNSID |
| 137 | RTM_DELNSID = 89, | ||
| 138 | #define RTM_DELNSID RTM_DELNSID | ||
| 137 | RTM_GETNSID = 90, | 139 | RTM_GETNSID = 90, |
| 138 | #define RTM_GETNSID RTM_GETNSID | 140 | #define RTM_GETNSID RTM_GETNSID |
| 139 | 141 | ||
| @@ -303,6 +305,9 @@ enum rtattr_type_t { | |||
| 303 | RTA_TABLE, | 305 | RTA_TABLE, |
| 304 | RTA_MARK, | 306 | RTA_MARK, |
| 305 | RTA_MFC_STATS, | 307 | RTA_MFC_STATS, |
| 308 | RTA_VIA, | ||
| 309 | RTA_NEWDST, | ||
| 310 | RTA_PREF, | ||
| 306 | __RTA_MAX | 311 | __RTA_MAX |
| 307 | }; | 312 | }; |
| 308 | 313 | ||
| @@ -332,6 +337,7 @@ struct rtnexthop { | |||
| 332 | #define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */ | 337 | #define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */ |
| 333 | #define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */ | 338 | #define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */ |
| 334 | #define RTNH_F_ONLINK 4 /* Gateway is forced on link */ | 339 | #define RTNH_F_ONLINK 4 /* Gateway is forced on link */ |
| 340 | #define RTNH_F_EXTERNAL 8 /* Route installed externally */ | ||
| 335 | 341 | ||
| 336 | /* Macros to handle hexthops */ | 342 | /* Macros to handle hexthops */ |
| 337 | 343 | ||
| @@ -344,6 +350,12 @@ struct rtnexthop { | |||
| 344 | #define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len)) | 350 | #define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len)) |
| 345 | #define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0))) | 351 | #define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0))) |
| 346 | 352 | ||
| 353 | /* RTA_VIA */ | ||
| 354 | struct rtvia { | ||
| 355 | __kernel_sa_family_t rtvia_family; | ||
| 356 | __u8 rtvia_addr[0]; | ||
| 357 | }; | ||
| 358 | |||
| 347 | /* RTM_CACHEINFO */ | 359 | /* RTM_CACHEINFO */ |
| 348 | 360 | ||
| 349 | struct rta_cacheinfo { | 361 | struct rta_cacheinfo { |
| @@ -623,6 +635,10 @@ enum rtnetlink_groups { | |||
| 623 | #define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF | 635 | #define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF |
| 624 | RTNLGRP_MDB, | 636 | RTNLGRP_MDB, |
| 625 | #define RTNLGRP_MDB RTNLGRP_MDB | 637 | #define RTNLGRP_MDB RTNLGRP_MDB |
| 638 | RTNLGRP_MPLS_ROUTE, | ||
| 639 | #define RTNLGRP_MPLS_ROUTE RTNLGRP_MPLS_ROUTE | ||
| 640 | RTNLGRP_NSID, | ||
| 641 | #define RTNLGRP_NSID RTNLGRP_NSID | ||
| 626 | __RTNLGRP_MAX | 642 | __RTNLGRP_MAX |
| 627 | }; | 643 | }; |
| 628 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) | 644 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) |
diff --git a/include/uapi/linux/tc_act/tc_bpf.h b/include/uapi/linux/tc_act/tc_bpf.h index 5288bd77e63b..07f17cc70bb3 100644 --- a/include/uapi/linux/tc_act/tc_bpf.h +++ b/include/uapi/linux/tc_act/tc_bpf.h | |||
| @@ -24,6 +24,8 @@ enum { | |||
| 24 | TCA_ACT_BPF_PARMS, | 24 | TCA_ACT_BPF_PARMS, |
| 25 | TCA_ACT_BPF_OPS_LEN, | 25 | TCA_ACT_BPF_OPS_LEN, |
| 26 | TCA_ACT_BPF_OPS, | 26 | TCA_ACT_BPF_OPS, |
| 27 | TCA_ACT_BPF_FD, | ||
| 28 | TCA_ACT_BPF_NAME, | ||
| 27 | __TCA_ACT_BPF_MAX, | 29 | __TCA_ACT_BPF_MAX, |
| 28 | }; | 30 | }; |
| 29 | #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) | 31 | #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) |
diff --git a/include/uapi/linux/tipc_netlink.h b/include/uapi/linux/tipc_netlink.h index 8d723824ad69..d4c8f142ba63 100644 --- a/include/uapi/linux/tipc_netlink.h +++ b/include/uapi/linux/tipc_netlink.h | |||
| @@ -83,11 +83,20 @@ enum { | |||
| 83 | TIPC_NLA_BEARER_NAME, /* string */ | 83 | TIPC_NLA_BEARER_NAME, /* string */ |
| 84 | TIPC_NLA_BEARER_PROP, /* nest */ | 84 | TIPC_NLA_BEARER_PROP, /* nest */ |
| 85 | TIPC_NLA_BEARER_DOMAIN, /* u32 */ | 85 | TIPC_NLA_BEARER_DOMAIN, /* u32 */ |
| 86 | TIPC_NLA_BEARER_UDP_OPTS, /* nest */ | ||
| 86 | 87 | ||
| 87 | __TIPC_NLA_BEARER_MAX, | 88 | __TIPC_NLA_BEARER_MAX, |
| 88 | TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1 | 89 | TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1 |
| 89 | }; | 90 | }; |
| 90 | 91 | ||
| 92 | enum { | ||
| 93 | TIPC_NLA_UDP_UNSPEC, | ||
| 94 | TIPC_NLA_UDP_LOCAL, /* sockaddr_storage */ | ||
| 95 | TIPC_NLA_UDP_REMOTE, /* sockaddr_storage */ | ||
| 96 | |||
| 97 | __TIPC_NLA_UDP_MAX, | ||
| 98 | TIPC_NLA_UDP_MAX = __TIPC_NLA_UDP_MAX - 1 | ||
| 99 | }; | ||
| 91 | /* Socket info */ | 100 | /* Socket info */ |
| 92 | enum { | 101 | enum { |
| 93 | TIPC_NLA_SOCK_UNSPEC, | 102 | TIPC_NLA_SOCK_UNSPEC, |
diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h index 02d5125a5ee8..2cd9e608d0d1 100644 --- a/include/uapi/linux/xfrm.h +++ b/include/uapi/linux/xfrm.h | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | #ifndef _LINUX_XFRM_H | 1 | #ifndef _LINUX_XFRM_H |
| 2 | #define _LINUX_XFRM_H | 2 | #define _LINUX_XFRM_H |
| 3 | 3 | ||
| 4 | #include <linux/in6.h> | ||
| 4 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 5 | 6 | ||
| 6 | /* All of the structures in this file may not change size as they are | 7 | /* All of the structures in this file may not change size as they are |
| @@ -13,6 +14,7 @@ | |||
| 13 | typedef union { | 14 | typedef union { |
| 14 | __be32 a4; | 15 | __be32 a4; |
| 15 | __be32 a6[4]; | 16 | __be32 a6[4]; |
| 17 | struct in6_addr in6; | ||
| 16 | } xfrm_address_t; | 18 | } xfrm_address_t; |
| 17 | 19 | ||
| 18 | /* Ident of a specific xfrm_state. It is used on input to lookup | 20 | /* Ident of a specific xfrm_state. It is used on input to lookup |
