mirror of
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git
synced 2024-11-15 14:05:22 +08:00
Update kernel headers and import tls.h
Update kernel headers to commit: 85a83a8fca7f ("Merge branch 'PTP-driver-refactoring-for-SJA1105-DSA'") and add tls.h. Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
47a4c1533c
commit
4c23b12865
@ -794,7 +794,7 @@ union bpf_attr {
|
||||
* A 64-bit integer containing the current GID and UID, and
|
||||
* created as such: *current_gid* **<< 32 \|** *current_uid*.
|
||||
*
|
||||
* int bpf_get_current_comm(char *buf, u32 size_of_buf)
|
||||
* int bpf_get_current_comm(void *buf, u32 size_of_buf)
|
||||
* Description
|
||||
* Copy the **comm** attribute of the current task into *buf* of
|
||||
* *size_of_buf*. The **comm** attribute contains the name of
|
||||
@ -1023,7 +1023,7 @@ union bpf_attr {
|
||||
* The realm of the route for the packet associated to *skb*, or 0
|
||||
* if none was found.
|
||||
*
|
||||
* int bpf_perf_event_output(struct pt_regs *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
|
||||
* int bpf_perf_event_output(void *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
|
||||
* Description
|
||||
* Write raw *data* blob into a special BPF perf event held by
|
||||
* *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf
|
||||
@ -1068,7 +1068,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_skb_load_bytes(const struct sk_buff *skb, u32 offset, void *to, u32 len)
|
||||
* int bpf_skb_load_bytes(const void *skb, u32 offset, void *to, u32 len)
|
||||
* Description
|
||||
* This helper was provided as an easy way to load data from a
|
||||
* packet. It can be used to load *len* bytes from *offset* from
|
||||
@ -1085,7 +1085,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_get_stackid(struct pt_regs *ctx, struct bpf_map *map, u64 flags)
|
||||
* int bpf_get_stackid(void *ctx, struct bpf_map *map, u64 flags)
|
||||
* Description
|
||||
* Walk a user or a kernel stack and return its id. To achieve
|
||||
* this, the helper needs *ctx*, which is a pointer to the context
|
||||
@ -1154,7 +1154,7 @@ union bpf_attr {
|
||||
* The checksum result, or a negative error code in case of
|
||||
* failure.
|
||||
*
|
||||
* int bpf_skb_get_tunnel_opt(struct sk_buff *skb, u8 *opt, u32 size)
|
||||
* int bpf_skb_get_tunnel_opt(struct sk_buff *skb, void *opt, u32 size)
|
||||
* Description
|
||||
* Retrieve tunnel options metadata for the packet associated to
|
||||
* *skb*, and store the raw tunnel option data to the buffer *opt*
|
||||
@ -1172,7 +1172,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* The size of the option data retrieved.
|
||||
*
|
||||
* int bpf_skb_set_tunnel_opt(struct sk_buff *skb, u8 *opt, u32 size)
|
||||
* int bpf_skb_set_tunnel_opt(struct sk_buff *skb, void *opt, u32 size)
|
||||
* Description
|
||||
* Set tunnel options metadata for the packet associated to *skb*
|
||||
* to the option data contained in the raw buffer *opt* of *size*.
|
||||
@ -1511,7 +1511,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* int bpf_setsockopt(struct bpf_sock_ops *bpf_socket, int level, int optname, char *optval, int optlen)
|
||||
* int bpf_setsockopt(struct bpf_sock_ops *bpf_socket, int level, int optname, void *optval, int optlen)
|
||||
* Description
|
||||
* Emulate a call to **setsockopt()** on the socket associated to
|
||||
* *bpf_socket*, which must be a full socket. The *level* at
|
||||
@ -1595,7 +1595,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* **XDP_REDIRECT** on success, or **XDP_ABORTED** on error.
|
||||
*
|
||||
* int bpf_sk_redirect_map(struct bpf_map *map, u32 key, u64 flags)
|
||||
* int bpf_sk_redirect_map(struct sk_buff *skb, struct bpf_map *map, u32 key, u64 flags)
|
||||
* Description
|
||||
* Redirect the packet to the socket referenced by *map* (of type
|
||||
* **BPF_MAP_TYPE_SOCKMAP**) at index *key*. Both ingress and
|
||||
@ -1715,7 +1715,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_getsockopt(struct bpf_sock_ops *bpf_socket, int level, int optname, char *optval, int optlen)
|
||||
* int bpf_getsockopt(struct bpf_sock_ops *bpf_socket, int level, int optname, void *optval, int optlen)
|
||||
* Description
|
||||
* Emulate a call to **getsockopt()** on the socket associated to
|
||||
* *bpf_socket*, which must be a full socket. The *level* at
|
||||
@ -1947,7 +1947,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_get_stack(struct pt_regs *regs, void *buf, u32 size, u64 flags)
|
||||
* int bpf_get_stack(void *ctx, void *buf, u32 size, u64 flags)
|
||||
* Description
|
||||
* Return a user or a kernel stack in bpf program provided buffer.
|
||||
* To achieve this, the helper needs *ctx*, which is a pointer
|
||||
@ -1980,7 +1980,7 @@ union bpf_attr {
|
||||
* A non-negative value equal to or less than *size* on success,
|
||||
* or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header)
|
||||
* int bpf_skb_load_bytes_relative(const void *skb, u32 offset, void *to, u32 len, u32 start_header)
|
||||
* Description
|
||||
* This helper is similar to **bpf_skb_load_bytes**\ () in that
|
||||
* it provides an easy way to load *len* bytes from *offset*
|
||||
@ -2033,7 +2033,7 @@ union bpf_attr {
|
||||
* * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the
|
||||
* packet is not forwarded or needs assist from full stack
|
||||
*
|
||||
* int bpf_sock_hash_update(struct bpf_sock_ops_kern *skops, struct bpf_map *map, void *key, u64 flags)
|
||||
* int bpf_sock_hash_update(struct bpf_sock_ops *skops, struct bpf_map *map, void *key, u64 flags)
|
||||
* Description
|
||||
* Add an entry to, or update a sockhash *map* referencing sockets.
|
||||
* The *skops* is used as a new value for the entry associated to
|
||||
@ -2392,7 +2392,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_msg_push_data(struct sk_buff *skb, u32 start, u32 len, u64 flags)
|
||||
* int bpf_msg_push_data(struct sk_msg_buff *msg, u32 start, u32 len, u64 flags)
|
||||
* Description
|
||||
* For socket policies, insert *len* bytes into *msg* at offset
|
||||
* *start*.
|
||||
@ -2408,9 +2408,9 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_msg_pop_data(struct sk_msg_buff *msg, u32 start, u32 pop, u64 flags)
|
||||
* int bpf_msg_pop_data(struct sk_msg_buff *msg, u32 start, u32 len, u64 flags)
|
||||
* Description
|
||||
* Will remove *pop* bytes from a *msg* starting at byte *start*.
|
||||
* Will remove *len* bytes from a *msg* starting at byte *start*.
|
||||
* This may result in **ENOMEM** errors under certain situations if
|
||||
* an allocation and copy are required due to a full ring buffer.
|
||||
* However, the helper will try to avoid doing the allocation
|
||||
@ -2505,7 +2505,7 @@ union bpf_attr {
|
||||
* A **struct bpf_tcp_sock** pointer on success, or **NULL** in
|
||||
* case of failure.
|
||||
*
|
||||
* int bpf_skb_ecn_set_ce(struct sk_buf *skb)
|
||||
* int bpf_skb_ecn_set_ce(struct sk_buff *skb)
|
||||
* Description
|
||||
* Set ECN (Explicit Congestion Notification) field of IP header
|
||||
* to **CE** (Congestion Encountered) if current value is **ECT**
|
||||
|
@ -449,6 +449,16 @@ struct sctp_send_failed {
|
||||
__u8 ssf_data[0];
|
||||
};
|
||||
|
||||
struct sctp_send_failed_event {
|
||||
__u16 ssf_type;
|
||||
__u16 ssf_flags;
|
||||
__u32 ssf_length;
|
||||
__u32 ssf_error;
|
||||
struct sctp_sndinfo ssfe_info;
|
||||
sctp_assoc_t ssf_assoc_id;
|
||||
__u8 ssf_data[0];
|
||||
};
|
||||
|
||||
/*
|
||||
* ssf_flags: 16 bits (unsigned integer)
|
||||
*
|
||||
@ -605,6 +615,7 @@ struct sctp_event_subscribe {
|
||||
__u8 sctp_stream_reset_event;
|
||||
__u8 sctp_assoc_reset_event;
|
||||
__u8 sctp_stream_change_event;
|
||||
__u8 sctp_send_failure_event_event;
|
||||
};
|
||||
|
||||
/*
|
||||
@ -632,6 +643,7 @@ union sctp_notification {
|
||||
struct sctp_stream_reset_event sn_strreset_event;
|
||||
struct sctp_assoc_reset_event sn_assocreset_event;
|
||||
struct sctp_stream_change_event sn_strchange_event;
|
||||
struct sctp_send_failed_event sn_send_failed_event;
|
||||
};
|
||||
|
||||
/* Section 5.3.1
|
||||
@ -667,7 +679,9 @@ enum sctp_sn_type {
|
||||
#define SCTP_ASSOC_RESET_EVENT SCTP_ASSOC_RESET_EVENT
|
||||
SCTP_STREAM_CHANGE_EVENT,
|
||||
#define SCTP_STREAM_CHANGE_EVENT SCTP_STREAM_CHANGE_EVENT
|
||||
SCTP_SN_TYPE_MAX = SCTP_STREAM_CHANGE_EVENT,
|
||||
SCTP_SEND_FAILED_EVENT,
|
||||
#define SCTP_SEND_FAILED_EVENT SCTP_SEND_FAILED_EVENT
|
||||
SCTP_SN_TYPE_MAX = SCTP_SEND_FAILED_EVENT,
|
||||
#define SCTP_SN_TYPE_MAX SCTP_SN_TYPE_MAX
|
||||
};
|
||||
|
||||
|
127
include/uapi/linux/tls.h
Normal file
127
include/uapi/linux/tls.h
Normal file
@ -0,0 +1,127 @@
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */
|
||||
/*
|
||||
* Copyright (c) 2016-2017, Mellanox Technologies. All rights reserved.
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
* licenses. You may choose to be licensed under the terms of the GNU
|
||||
* General Public License (GPL) Version 2, available from the file
|
||||
* COPYING in the main directory of this source tree, or the
|
||||
* OpenIB.org BSD license below:
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or
|
||||
* without modification, are permitted provided that the following
|
||||
* conditions are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the following
|
||||
* disclaimer.
|
||||
*
|
||||
* - Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following
|
||||
* disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_TLS_H
|
||||
#define _LINUX_TLS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* TLS socket options */
|
||||
#define TLS_TX 1 /* Set transmit parameters */
|
||||
#define TLS_RX 2 /* Set receive parameters */
|
||||
|
||||
/* Supported versions */
|
||||
#define TLS_VERSION_MINOR(ver) ((ver) & 0xFF)
|
||||
#define TLS_VERSION_MAJOR(ver) (((ver) >> 8) & 0xFF)
|
||||
|
||||
#define TLS_VERSION_NUMBER(id) ((((id##_VERSION_MAJOR) & 0xFF) << 8) | \
|
||||
((id##_VERSION_MINOR) & 0xFF))
|
||||
|
||||
#define TLS_1_2_VERSION_MAJOR 0x3
|
||||
#define TLS_1_2_VERSION_MINOR 0x3
|
||||
#define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2)
|
||||
|
||||
#define TLS_1_3_VERSION_MAJOR 0x3
|
||||
#define TLS_1_3_VERSION_MINOR 0x4
|
||||
#define TLS_1_3_VERSION TLS_VERSION_NUMBER(TLS_1_3)
|
||||
|
||||
/* Supported ciphers */
|
||||
#define TLS_CIPHER_AES_GCM_128 51
|
||||
#define TLS_CIPHER_AES_GCM_128_IV_SIZE 8
|
||||
#define TLS_CIPHER_AES_GCM_128_KEY_SIZE 16
|
||||
#define TLS_CIPHER_AES_GCM_128_SALT_SIZE 4
|
||||
#define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16
|
||||
#define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8
|
||||
|
||||
#define TLS_CIPHER_AES_GCM_256 52
|
||||
#define TLS_CIPHER_AES_GCM_256_IV_SIZE 8
|
||||
#define TLS_CIPHER_AES_GCM_256_KEY_SIZE 32
|
||||
#define TLS_CIPHER_AES_GCM_256_SALT_SIZE 4
|
||||
#define TLS_CIPHER_AES_GCM_256_TAG_SIZE 16
|
||||
#define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE 8
|
||||
|
||||
#define TLS_CIPHER_AES_CCM_128 53
|
||||
#define TLS_CIPHER_AES_CCM_128_IV_SIZE 8
|
||||
#define TLS_CIPHER_AES_CCM_128_KEY_SIZE 16
|
||||
#define TLS_CIPHER_AES_CCM_128_SALT_SIZE 4
|
||||
#define TLS_CIPHER_AES_CCM_128_TAG_SIZE 16
|
||||
#define TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE 8
|
||||
|
||||
#define TLS_SET_RECORD_TYPE 1
|
||||
#define TLS_GET_RECORD_TYPE 2
|
||||
|
||||
struct tls_crypto_info {
|
||||
__u16 version;
|
||||
__u16 cipher_type;
|
||||
};
|
||||
|
||||
struct tls12_crypto_info_aes_gcm_128 {
|
||||
struct tls_crypto_info info;
|
||||
unsigned char iv[TLS_CIPHER_AES_GCM_128_IV_SIZE];
|
||||
unsigned char key[TLS_CIPHER_AES_GCM_128_KEY_SIZE];
|
||||
unsigned char salt[TLS_CIPHER_AES_GCM_128_SALT_SIZE];
|
||||
unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
struct tls12_crypto_info_aes_gcm_256 {
|
||||
struct tls_crypto_info info;
|
||||
unsigned char iv[TLS_CIPHER_AES_GCM_256_IV_SIZE];
|
||||
unsigned char key[TLS_CIPHER_AES_GCM_256_KEY_SIZE];
|
||||
unsigned char salt[TLS_CIPHER_AES_GCM_256_SALT_SIZE];
|
||||
unsigned char rec_seq[TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
struct tls12_crypto_info_aes_ccm_128 {
|
||||
struct tls_crypto_info info;
|
||||
unsigned char iv[TLS_CIPHER_AES_CCM_128_IV_SIZE];
|
||||
unsigned char key[TLS_CIPHER_AES_CCM_128_KEY_SIZE];
|
||||
unsigned char salt[TLS_CIPHER_AES_CCM_128_SALT_SIZE];
|
||||
unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
enum {
|
||||
TLS_INFO_UNSPEC,
|
||||
TLS_INFO_VERSION,
|
||||
TLS_INFO_CIPHER,
|
||||
TLS_INFO_TXCONF,
|
||||
TLS_INFO_RXCONF,
|
||||
__TLS_INFO_MAX,
|
||||
};
|
||||
#define TLS_INFO_MAX (__TLS_INFO_MAX - 1)
|
||||
|
||||
#define TLS_CONF_BASE 1
|
||||
#define TLS_CONF_SW 2
|
||||
#define TLS_CONF_HW 3
|
||||
#define TLS_CONF_HW_RECORD 4
|
||||
|
||||
#endif /* _LINUX_TLS_H */
|
Loading…
Reference in New Issue
Block a user