linux-kernelorg-stable/include/uapi/linux
Jeremy Kerr ad39c12fce net: mctp: add gateway routing support
This change allows for gateway routing, where a route table entry
may reference a routable endpoint (by network and EID), instead of
routing directly to a netdevice.

We add support for a RTM_GATEWAY attribute for netlink route updates,
with an attribute format of:

    struct mctp_fq_addr {
        unsigned int net;
        mctp_eid_t eid;
    }

- we need the net here to uniquely identify the target EID, as we no
longer have the device reference directly (which would provide the net
id in the case of direct routes).

This makes route lookups recursive, as a route lookup that returns a
gateway route must be resolved into a direct route (ie, to a device)
eventually. We provide a limit to the route lookups, to prevent infinite
loop routing.

The route lookup populates a new 'nexthop' field in the dst structure,
which now specifies the key for the neighbour table lookup on device
output, rather than using the packet destination address directly.

Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Link: https://patch.msgid.link/20250702-dev-forwarding-v5-13-1468191da8a4@codeconstruct.com.au
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-07-08 12:39:24 +02:00
..
android
byteorder
caif
can
cifs
counter counter: microchip-tcb-capture: Add capture extensions for registers RA/RB 2025-03-08 08:57:18 +09:00
dvb
genwqe
hdlc
hsi
iio iio: introduce the FAULT event type 2025-02-08 15:16:29 +00:00
isdn
media media: uapi: Add stats info and parameters buffer for C3 ISP 2025-05-09 12:08:37 +02:00
misc
mmc
netfilter netfilter: nf_tables: Add notifications for hook changes 2025-05-23 13:57:14 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: reintroduce md-linear 2025-01-13 07:36:29 -08:00
sched
spi
sunrpc
surface_aggregator
tc_act
tc_ematch
usb USB/Thunderbolt update for 6.15-rc1 2025-04-02 18:23:31 -07:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h landlock: Add AUDIT_LANDLOCK_DOMAIN and log domain status 2025-03-26 13:59:38 +01:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
batadv_packet.h
batman_adv.h batman-adv: Use consistent name for mesh interface 2025-02-22 11:36:22 +01:00
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
bits.h tools headers: Synchronize linux/bits.h with the kernel sources 2025-06-17 16:55:24 -03:00
blk-crypto.h blk-crypto: add ioctls to create and prepare hardware-wrapped keys 2025-02-10 09:54:19 -07:00
blkdev.h
blkpg.h
blktrace_api.h block: remove bounce buffering support 2025-05-05 13:22:39 -06:00
blkzoned.h
bpf.h bpf: Fix L4 csum update on IPv6 in CHECKSUM_COMPLETE 2025-05-30 19:53:51 -07:00
bpf_common.h
bpf_perf_event.h
bpqether.h
bsg.h
bt-bmc.h
btf.h docs/bpf: Document the semantics of BTF tags with kind_flag 2025-02-05 16:17:59 -08:00
btrfs.h btrfs: defrag: extend ioctl to accept compression levels 2025-03-18 20:35:50 +01:00
btrfs_tree.h
cachefiles.h
can.h can: canxl: support Remote Request Substitution bit access 2025-02-19 11:10:54 +01:00
capability.h reboot: add support for configuring emergency hardware protection action 2025-03-16 23:24:14 -07:00
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h media: uapi: cec-funcs.h: use CEC_LOG_ADDR_BROADCAST 2025-04-30 08:16:07 +02:00
cec.h
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cn_proc.h
coda.h
coff.h
comedi.h
connector.h
const.h treewide: fix typo 'unsigned __init128' -> 'unsigned __int128' 2025-03-05 12:00:03 -05:00
coresight-stm.h
counter.h counter: add direction change event 2025-02-05 13:22:04 +09:00
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Extend devlink rate API with traffic classes bandwidth management 2025-07-02 15:39:05 -07:00
dlm.h
dlm_device.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h dm mpath: Interface for explicit probing of active paths 2025-05-04 11:35:06 +02:00
dm-log-userspace.h
dma-buf.h
dma-heap.h
dns_resolver.h
dpll.h dpll: add reference-sync netlink attribute 2025-06-27 16:38:02 -07:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h Updates for the VDSO infrastructure: 2025-03-25 11:30:42 -07:00
errno.h
errqueue.h net-timestamp: COMPLETION timestamp on packet tx completion 2025-03-25 12:48:05 -04:00
erspan.h
ethtool.h ethtool: Block setting of symmetric RSS when non-symmetric rx-flow-hash is requested 2025-05-09 16:24:28 -07:00
ethtool_netlink.h netlink: specs: add the multicast group name to spec 2025-06-25 15:24:13 -07:00
ethtool_netlink_generated.h net: ethtool: rss: add notifications 2025-06-25 15:24:14 -07:00
eventfd.h
eventpoll.h
exfat.h
ext4.h
f2fs.h f2fs: add ioctl to get IO priority hint 2025-02-12 02:29:30 +00:00
fadvise.h
falloc.h
fanotify.h fanotify: notify on mount attach and detach 2025-02-05 17:21:07 +01:00
fb.h
fcntl.h exec: Add a new AT_EXECVE_CHECK flag to execveat(2) 2024-12-18 17:00:29 -08:00
fd.h
fdreg.h
fib_rules.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
fiemap.h fiemap: use kernel-doc includes in fiemap docbook 2024-12-22 11:29:50 +01:00
filter.h
firewire-cdev.h drivers: firewire: firewire-cdev.h: fix identation on a kernel-doc markup 2025-03-04 09:47:36 -07:00
firewire-constants.h
fou.h
fpga-dfl.h
fs.h fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions 2025-05-11 17:48:16 -07:00
fscrypt.h fscrypt: add support for hardware-wrapped keys 2025-04-08 19:32:11 -07:00
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: add more control over cache invalidation behaviour 2025-04-15 12:56:40 +02:00
futex.h futex: Implement FUTEX2_MPOL 2025-05-03 12:02:09 +02:00
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h
gsmmux.h
gtp.h
handshake.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h
if.h
if_addr.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_addrlabel.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_alg.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_arcnet.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_arp.h
if_bonding.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_bridge.h net: bridge: Add offload_fail_notification bopt 2025-04-14 15:56:42 -07:00
if_eql.h
if_ether.h
if_fc.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_fddi.h
if_hippi.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_infiniband.h
if_link.h net: bonding: add broadcast_neighbor netlink option 2025-07-08 10:59:42 +02:00
if_ltalk.h
if_macsec.h
if_packet.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_phonet.h
if_plip.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_xdp.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
ife.h
igmp.h
ila.h
in.h include: uapi: protocol number and packet structs for AGGFRAG in ESP 2024-12-05 10:01:09 +01:00
in6.h uapi: in6: restore visibility of most IPv6 socket options 2025-06-10 14:41:14 -07:00
in_route.h
inet_diag.h
inotify.h
input-event-codes.h ALSA: Add USB audio device jack type 2025-04-11 13:02:30 +02:00
input.h
io_uring.h for-6.16/io_uring-20250523 2025-05-26 12:13:22 -07:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
ioctl.h
iommufd.h iommufd: Fix iommu_vevent_header tables markup 2025-03-28 10:07:23 -03:00
ioprio.h
ip.h include: uapi: protocol number and packet structs for AGGFRAG in ESP 2024-12-05 10:01:09 +01:00
ip6_tunnel.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipsec.h xfrm: add generic iptfs defines and functionality 2024-12-05 10:01:28 +01:00
ipv6.h
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h platform/x86: ISST: Support SST-PP revision 2 2025-05-08 16:04:06 +03:00
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: add smi events for process start and end 2025-04-11 17:01:25 -04:00
kfd_sysfs.h drm/amdkfd: flag per-sdma queue reset supported to user space 2025-03-05 10:47:33 -05:00
kvm.h KVM: TDX: Exit to userspace for GetTdVmCallInfo 2025-06-20 13:55:47 -04:00
kvm_para.h
l2tp.h
landlock.h landlock: Update log documentation 2025-04-17 11:09:10 +02:00
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
lockd_netlink.h lockd: add netlink control interface 2025-03-10 09:10:53 -04:00
loop.h
lp.h
lsm.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h net: mctp: add gateway routing support 2025-07-08 12:39:24 +02:00
mdio.h net: mdio: add definition for clock stop capable bit 2025-01-16 17:22:59 -08:00
media-bus-format.h
media.h
mei.h
mei_uuid.h
membarrier.h
memfd.h
mempolicy.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mount.h Merge patch series "fs: allow changing idmappings" 2025-02-12 12:12:34 +01:00
mpls.h
mpls_iptunnel.h
mptcp.h
mptcp_pm.h netlink: specs: mptcp: replace underscores with dashes in names 2025-06-25 15:36:28 -07:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mshv.h Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs 2025-03-21 18:24:22 +00:00
mtio.h
nbd-netlink.h
nbd.h
ncsi.h
ndctl.h
neighbour.h neighbor: Add NTF_EXT_VALIDATED flag for externally validated entries 2025-06-30 18:14:23 -07:00
net.h
net_dropmon.h uapi: net_dropmon: drop unused is_drop_point_hw macro 2025-06-25 15:35:20 -07:00
net_namespace.h
net_shaper.h
net_tstamp.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
netconf.h
netdev.h net: devmem: TCP tx netlink api 2025-05-13 11:12:48 +02:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netlink_diag.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
netrom.h
nexthop.h
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h nfsd: rework NFS4_SHARE_WANT_* flag handling 2025-01-21 15:30:01 -05:00
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nfsd_netlink.h
nilfs2_api.h
nilfs2_ondisk.h nilfs2: Mark on-disk strings as nonstring 2025-02-28 11:51:32 -08:00
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: cfg80211: Report per-radio RTS threshold to userspace 2025-06-24 15:19:27 +02:00
npcm-video.h
nsfs.h
nsm.h
ntsync.h ntsync: Introduce alertable waits. 2025-01-08 13:18:11 +01:00
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: allow providing upcall pid for the 'execute' command 2025-07-07 14:30:39 -07:00
ovpn.h ovpn: add basic netlink support 2025-04-17 12:30:02 +02:00
packet_diag.h
papr_pdsm.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h PCI: Add lane equalization register offsets 2025-04-19 19:42:43 +05:30
pcitest.h misc: pci_endpoint_test: Add support for PCITEST_IRQ_TYPE_AUTO 2025-03-26 06:11:54 +00:00
perf_event.h perf/uapi: Clean up <uapi/linux/perf_event.h> a bit 2025-05-22 11:03:41 +02:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h pidfs, coredump: add PIDFD_INFO_COREDUMP 2025-05-21 13:59:12 +02:00
pkt_cls.h net: sched: uapi: add more sanely named duplicate defines 2025-05-15 11:44:29 -07:00
pkt_sched.h net: sched: uapi: add more sanely named duplicate defines 2025-05-15 11:44:29 -07:00
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pps_gen.h drivers pps: add PPS generators support 2025-01-08 13:18:09 +01:00
pr.h
prctl.h futex: Allow to make the private hash immutable 2025-05-03 12:02:08 +02:00
psample.h
psci.h
psp-dbc.h
psp-sev.h crypto: ccp - Fix uAPI definitions of PSP errors 2025-03-15 16:21:22 +08:00
ptp_clock.h
ptrace.h ptrace: introduce PTRACE_SET_SYSCALL_INFO request 2025-05-11 17:48:15 -07:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
rds.h
reboot.h
remoteproc_cdev.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: uapi: rkisp1-config: Fix typo in extensible params example 2025-02-21 10:33:01 +01:00
romfs_fs.h
rose.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h
rpmsg_types.h
rseq.h
rtc.h
rtnetlink.h Add OVN to `rtnetlink.h` 2025-02-25 18:14:03 -08:00
rxrpc.h rxrpc: Add the security index for yfs-rxgk 2025-04-14 17:36:41 -07:00
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
securebits.h security: Add EXEC_RESTRICT_FILE and EXEC_DENY_INTERACTIVE securebits 2024-12-18 17:00:29 -08:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selinux_netlink.h
sem.h
serial.h
serial_core.h
serial_reg.h
serio.h
sev-guest.h
shm.h
signal.h
signalfd.h
smc.h
smc_diag.h
smiapp.h
snmp.h tcp: add LINUX_MIB_PAWS_TW_REJECTED counter 2025-04-10 18:29:26 -07:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h fs: add atomic write unit max opt to statx 2025-05-07 14:25:30 -07:00
stddef.h uapi: stddef.h: Introduce __kernel_nonstring 2025-02-28 11:51:32 -08:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h taskstats: fix struct taskstats breaks backward compatibility since version 15 2025-05-20 22:49:39 -07:00
tcp.h tcp: fastopen: pass TFO child indication through getsockopt 2025-04-24 18:21:04 -07:00
tcp_metrics.h
tdx-guest.h
tee.h
termios.h
thermal.h thermal/netlink: Prevent userspace segmentation fault by adjusting UAPI header 2025-02-11 20:53:14 +01:00
thp7312.h
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h vt: bracketed paste support 2025-05-21 13:41:03 +02:00
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tps6594_pfsm.h
trace_mmap.h
tty.h
tty_flags.h
types.h
ublk_cmd.h ublk: update UBLK_F_SUPPORT_ZERO_COPY comment in UAPI header 2025-06-24 20:45:31 -06:00
udf_fs_i.h
udmabuf.h
udp.h ovpn: introduce the ovpn_socket object 2025-04-17 12:30:02 +02:00
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
user_events.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h media: uvcvideo: implement UVC v1.5 ROI 2025-03-03 18:23:36 +01:00
v4l2-common.h
v4l2-controls.h media: uvcvideo: implement UVC v1.5 ROI 2025-03-03 18:23:36 +01:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h
vduse.h vduse: relicense under GPL-2.0 OR BSD-3-Clause 2025-01-08 06:37:13 -05:00
vesa.h
veth.h
vfio.h iommufd 6.15 merge window pull 2025-04-01 18:03:46 -07:00
vfio_ccw.h
vfio_zdev.h
vhost.h vhost: fix VHOST_*_OWNER documentation 2025-04-14 09:51:31 -04:00
vhost_types.h
videodev2.h media: Add C3ISP_PARAMS and C3ISP_STATS meta formats 2025-05-09 12:08:37 +02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_bt.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h
virtio_gpu.h drm/virtio: Add capset definitions to UAPI 2025-03-28 04:53:51 +03:00
virtio_i2c.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h virtio_net: Split struct virtio_net_rss_config 2025-03-25 09:30:21 -07:00
virtio_pci.h virtio_pci: Use self group type for cap commands 2025-04-14 09:51:31 -04:00
virtio_pcidev.h
virtio_pmem.h
virtio_ring.h
virtio_rng.h
virtio_rtc.h virtio_rtc: Add RTC class driver 2025-05-27 10:27:54 -04:00
virtio_scmi.h
virtio_scsi.h
virtio_snd.h virtio_snd.h: clarify that `controls` depends on VIRTIO_SND_F_CTLS 2025-02-14 12:58:02 +01:00
virtio_types.h
virtio_vsock.h
vm_sockets.h vsock/uapi: fix linux/vm_sockets.h userspace compilation errors 2025-06-24 17:12:59 -07:00
vm_sockets_diag.h
vmclock-abi.h
vmcore.h
vsockmon.h
vt.h vt: add VT_GETCONSIZECSRPOS to retrieve console size and cursor position 2025-05-21 13:41:03 +02:00
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h wireguard: allowedips: add WGALLOWEDIP_F_REMOVE_ME flag 2025-05-27 09:06:19 +02:00
wireless.h
wmi.h
wwan.h
x25.h
xattr.h fs/xattr: bpf: Introduce security.bpf. xattr name prefix 2025-02-13 19:35:31 -08:00
xdp_diag.h
xfrm.h xfrm: netlink: add config (netlink) options 2024-12-05 10:01:15 +01:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h