-
Notifications
You must be signed in to change notification settings - Fork 193
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
compat/linux: import Linux 6.5.9 uapi
- Loading branch information
1 parent
8edeac3
commit 7e8b642
Showing
9 changed files
with
10,596 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
#ifndef _UAPI__LINUX_BPF_COMMON_H__ | ||
#define _UAPI__LINUX_BPF_COMMON_H__ | ||
|
||
/* Instruction classes */ | ||
#define BPF_CLASS(code) ((code) & 0x07) | ||
#define BPF_LD 0x00 | ||
#define BPF_LDX 0x01 | ||
#define BPF_ST 0x02 | ||
#define BPF_STX 0x03 | ||
#define BPF_ALU 0x04 | ||
#define BPF_JMP 0x05 | ||
#define BPF_RET 0x06 | ||
#define BPF_MISC 0x07 | ||
|
||
/* ld/ldx fields */ | ||
#define BPF_SIZE(code) ((code) & 0x18) | ||
#define BPF_W 0x00 /* 32-bit */ | ||
#define BPF_H 0x08 /* 16-bit */ | ||
#define BPF_B 0x10 /* 8-bit */ | ||
/* eBPF BPF_DW 0x18 64-bit */ | ||
#define BPF_MODE(code) ((code) & 0xe0) | ||
#define BPF_IMM 0x00 | ||
#define BPF_ABS 0x20 | ||
#define BPF_IND 0x40 | ||
#define BPF_MEM 0x60 | ||
#define BPF_LEN 0x80 | ||
#define BPF_MSH 0xa0 | ||
|
||
/* alu/jmp fields */ | ||
#define BPF_OP(code) ((code) & 0xf0) | ||
#define BPF_ADD 0x00 | ||
#define BPF_SUB 0x10 | ||
#define BPF_MUL 0x20 | ||
#define BPF_DIV 0x30 | ||
#define BPF_OR 0x40 | ||
#define BPF_AND 0x50 | ||
#define BPF_LSH 0x60 | ||
#define BPF_RSH 0x70 | ||
#define BPF_NEG 0x80 | ||
#define BPF_MOD 0x90 | ||
#define BPF_XOR 0xa0 | ||
|
||
#define BPF_JA 0x00 | ||
#define BPF_JEQ 0x10 | ||
#define BPF_JGT 0x20 | ||
#define BPF_JGE 0x30 | ||
#define BPF_JSET 0x40 | ||
#define BPF_SRC(code) ((code) & 0x08) | ||
#define BPF_K 0x00 | ||
#define BPF_X 0x08 | ||
|
||
#ifndef BPF_MAXINSNS | ||
#define BPF_MAXINSNS 4096 | ||
#endif | ||
|
||
#endif /* _UAPI__LINUX_BPF_COMMON_H__ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
#ifndef __LINUX_IF_ADDR_H | ||
#define __LINUX_IF_ADDR_H | ||
|
||
#include <linux/types.h> | ||
#include <linux/netlink.h> | ||
|
||
struct ifaddrmsg { | ||
__u8 ifa_family; | ||
__u8 ifa_prefixlen; /* The prefix length */ | ||
__u8 ifa_flags; /* Flags */ | ||
__u8 ifa_scope; /* Address scope */ | ||
__u32 ifa_index; /* Link index */ | ||
}; | ||
|
||
/* | ||
* Important comment: | ||
* IFA_ADDRESS is prefix address, rather than local interface address. | ||
* It makes no difference for normally configured broadcast interfaces, | ||
* but for point-to-point IFA_ADDRESS is DESTINATION address, | ||
* local address is supplied in IFA_LOCAL attribute. | ||
* | ||
* IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags. | ||
* If present, the value from struct ifaddrmsg will be ignored. | ||
*/ | ||
enum { | ||
IFA_UNSPEC, | ||
IFA_ADDRESS, | ||
IFA_LOCAL, | ||
IFA_LABEL, | ||
IFA_BROADCAST, | ||
IFA_ANYCAST, | ||
IFA_CACHEINFO, | ||
IFA_MULTICAST, | ||
IFA_FLAGS, | ||
IFA_RT_PRIORITY, /* u32, priority/metric for prefix route */ | ||
IFA_TARGET_NETNSID, | ||
IFA_PROTO, /* u8, address protocol */ | ||
__IFA_MAX, | ||
}; | ||
|
||
#define IFA_MAX (__IFA_MAX - 1) | ||
|
||
/* ifa_flags */ | ||
#define IFA_F_SECONDARY 0x01 | ||
#define IFA_F_TEMPORARY IFA_F_SECONDARY | ||
|
||
#define IFA_F_NODAD 0x02 | ||
#define IFA_F_OPTIMISTIC 0x04 | ||
#define IFA_F_DADFAILED 0x08 | ||
#define IFA_F_HOMEADDRESS 0x10 | ||
#define IFA_F_DEPRECATED 0x20 | ||
#define IFA_F_TENTATIVE 0x40 | ||
#define IFA_F_PERMANENT 0x80 | ||
#define IFA_F_MANAGETEMPADDR 0x100 | ||
#define IFA_F_NOPREFIXROUTE 0x200 | ||
#define IFA_F_MCAUTOJOIN 0x400 | ||
#define IFA_F_STABLE_PRIVACY 0x800 | ||
|
||
struct ifa_cacheinfo { | ||
__u32 ifa_prefered; | ||
__u32 ifa_valid; | ||
__u32 cstamp; /* created timestamp, hundredths of seconds */ | ||
__u32 tstamp; /* updated timestamp, hundredths of seconds */ | ||
}; | ||
|
||
/* backwards compatibility for userspace */ | ||
#ifndef __KERNEL__ | ||
#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) | ||
#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) | ||
#endif | ||
|
||
/* ifa_proto */ | ||
#define IFAPROT_UNSPEC 0 | ||
#define IFAPROT_KERNEL_LO 1 /* loopback */ | ||
#define IFAPROT_KERNEL_RA 2 /* set by kernel from router announcement */ | ||
#define IFAPROT_KERNEL_LL 3 /* link-local set by kernel */ | ||
|
||
#endif |
Oops, something went wrong.