summaryrefslogtreecommitdiff
path: root/include/linux/errqueue.h
blob: 92f8d4fab32be96bd86e29612b78c6a8cb1b952b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef _LINUX_ERRQUEUE_H
#define _LINUX_ERRQUEUE_H 1

struct sock_extended_err
{
	__u32	ee_errno;	
	__u8	ee_origin;
	__u8	ee_type;
	__u8	ee_code;
	__u8	ee_pad;
	__u32   ee_info;
	__u32   ee_data;
};

#define SO_EE_ORIGIN_NONE	0
#define SO_EE_ORIGIN_LOCAL	1
#define SO_EE_ORIGIN_ICMP	2
#define SO_EE_ORIGIN_ICMP6	3

#define SO_EE_OFFENDER(ee)	((struct sockaddr*)((ee)+1))

#ifdef __KERNEL__

#include <net/ip.h>
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
#include <linux/ipv6.h>
#endif

#define SKB_EXT_ERR(skb) ((struct sock_exterr_skb *) ((skb)->cb))

struct sock_exterr_skb
{
	union {
		struct inet_skb_parm	h4;
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
		struct inet6_skb_parm	h6;
#endif
	} header;
	struct sock_extended_err	ee;
	u16				addr_offset;
	__be16				port;
};

#endif

#endif
et/ipv6/af_inet6.c?h=linux-6.12.y&id=d986f52124e062753e33b6fe303be5904a997eac'>ipv6: lockless IPV6_MULTICAST_LOOP implementationEric Dumazet 2023-08-16inet: move inet->bind_address_no_port to inet->inet_flagsEric Dumazet 2023-08-16inet: move inet->is_icsk to inet->inet_flagsEric Dumazet 2023-08-16inet: move inet->mc_loop to inet->inet_fragsEric Dumazet 2023-08-16inet: move inet->hdrincl to inet->inet_flagsEric Dumazet 2023-08-14net: factor out inet{,6}_bind_sk helpersPaolo Abeni 2023-07-24ipv6: remove hard coded limitation on ipv6_pinfoEric Dumazet 2023-06-24sock: Remove ->sendpage*() in favour of sendmsg(MSG_SPLICE_PAGES)David Howells 2023-06-15net: ioctl: Use kernel memory on protocol ioctl callbacksBreno Leitao 2023-06-08ipv4, ipv6: Use splice_eof() to flushDavid Howells 2023-04-20ipv6: add icmpv6_error_anycast_as_unicast for ICMPv6Mahesh Bandewar 2023-03-17net: annotate lockless accesses to sk->sk_err_softEric Dumazet 2023-02-15net: no longer support SOCK_REFCNT_DEBUG featureJason Xing 2023-02-08txhash: fix sk->sk_txrehash defaultKevin Yang 2022-11-21net: Return errno in sk->sk_prot->get_port().Kuniyuki Iwashima 2022-10-24inet6: Remove inet6_destroy_sock().Kuniyuki Iwashima 2022-10-24dccp: Call inet6_destroy_sock() via sk->sk_destruct().Kuniyuki Iwashima 2022-10-12tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().Kuniyuki Iwashima 2022-10-12udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).Kuniyuki Iwashima 2022-09-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski 2022-09-20ipv6: Fix crash when IPv6 is administratively disabledIdo Schimmel 2022-09-02bpf: Change bpf_getsockopt(SOL_IPV6) to reuse do_ipv6_getsockopt()Martin KaFai Lau 2022-08-18bpf: Change bpf_setsockopt(SOL_IPV6) to reuse do_ipv6_setsockopt()Martin KaFai Lau 2022-07-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski 2022-07-15ip: Fix data-races around sysctl_ip_no_pmtu_disc.Kuniyuki Iwashima 2022-06-20net: Introduce a new proto_ops ->read_skb()Cong Wang 2022-06-19raw: convert raw sockets to RCUEric Dumazet 2022-04-22ipv6: Use ipv6_only_sock() helper in condition.Kuniyuki Iwashima 2022-04-12net: remove noblock parameter from recvmsg() entitiesOliver Hartkopp 2022-02-18ipv6: annotate some data-races around sk->sk_protEric Dumazet 2022-01-06net: bpf: Handle return value of BPF_CGROUP_RUN_PROG_INET{4,6}_POST_BIND()Menglong Dong