mirror_ubuntu-kernels/include/uapi/linux
Jon Maloy ae236fb208 tipc: receive group membership events via member socket
Like with any other service, group members' availability can be
subscribed for by connecting to be topology server. However, because
the events arrive via a different socket than the member socket, there
is a real risk that membership events my arrive out of synch with the
actual JOIN/LEAVE action. I.e., it is possible to receive the first
messages from a new member before the corresponding JOIN event arrives,
just as it is possible to receive the last messages from a leaving
member after the LEAVE event has already been received.

Since each member socket is internally also subscribing for membership
events, we now fix this problem by passing those events on to the user
via the member socket. We leverage the already present member synch-
ronization protocol to guarantee correct message/event order. An event
is delivered to the user as an empty message where the two source
addresses identify the new/lost member. Furthermore, we set the MSG_OOB
bit in the message flags to mark it as an event. If the event is an
indication about a member loss we also set the MSG_EOR bit, so it can
be distinguished from a member addition event.

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-13 08:46:00 -07:00
..
android ANDROID: binder: Add BINDER_GET_NODE_DEBUG_INFO ioctl 2017-09-01 09:21:12 +02:00
byteorder
caif
can
cifs
dvb media: dvb headers: make checkpatch happier 2017-09-05 07:10:24 -04:00
genwqe
hdlc
hsi
iio
isdn
mmc
netfilter netfilter: xt_bpf: Fix XT_BPF_MODE_FD_PINNED mode of 'xt_bpf_info_v1' 2017-10-09 15:18:04 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: Runtime support for multiple ppls 2017-08-28 07:45:48 -07:00
sched sched/headers/uapi: Fix linux/sched/types.h userspace compilation errors 2017-07-08 11:17:55 +02:00
spi
sunrpc
tc_act sched: tc_mirred: Remove whitespaces 2017-10-12 12:24:03 -07:00
tc_ematch
usb USB: fix out-of-bounds in usb_set_configuration 2017-09-19 17:27:16 +02:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h annotate RWF_... flags 2017-08-31 17:32:38 -04:00
am437x-vpfe.h
apm_bios.h
arcfb.h
aspeed-lpc-ctrl.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.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
auto_dev-ioctl.h autofs: make dev ioctl version and ismountpoint user accessible 2017-09-08 18:26:50 -07:00
auto_fs4.h autofs: remove unused AUTOFS_IOC_EXPIRE_DIRECT/INDIRECT 2017-09-08 18:26:50 -07:00
auto_fs.h Fix up over-eager 'wait_queue_t' renaming 2017-07-10 11:40:19 -07:00
auxvec.h
ax25.h
b1lli.h
batman_adv.h
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h blktrace: export cgroup info in trace 2017-07-29 09:00:03 -06:00
blkzoned.h
bpf_common.h
bpf_perf_event.h
bpf.h bpf: Use char in prog and map name 2017-10-07 23:29:39 +01:00
bpqether.h
bsg.h
bt-bmc.h
btrfs_tree.h
btrfs.h btrfs: Add zstd support 2017-08-15 09:02:09 -07:00
can.h
capability.h Introduce v3 namespaced file capabilities 2017-09-01 14:57:15 -05:00
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h media: cec-funcs.h: cec_ops_report_features: set *dev_features to NULL 2017-08-09 09:36:13 -04:00
cec.h media: cec: rename pin events/function 2017-08-20 08:14:03 -04:00
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
coresight-stm.h
cramfs_fs.h
cryptouser.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Add IPv6 header for dpipe 2017-08-31 14:42:19 -07:00
dlm_device.h
dlm_netlink.h uapi linux/dlm_netlink.h: include linux/dlmconstants.h 2017-08-07 11:23:09 -05:00
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h dm ioctl: fix alignment of event number in the device list 2017-09-25 11:18:29 -04:00
dm-log-userspace.h
dma-buf.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h sock: add MSG_ZEROCOPY 2017-08-03 21:37:29 -07:00
ethtool.h net: ethtool: Add back transceiver type 2017-09-21 15:20:40 -07:00
eventpoll.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
flat.h
fou.h
fs.h annotate RWF_... flags 2017-08-31 17:32:38 -04:00
fsl_hypervisor.h
fsmap.h fsmap: fix documentation of FMR_OF_LAST 2017-09-01 13:08:26 -07:00
fuse.h
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gsmmux.h
gtp.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
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h net: arp: Add support for raw IP device 2017-08-30 11:41:13 -07:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h net: ether: Add support for multiplexing and aggregation type 2017-08-30 11:41:13 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h bridge: add new BR_NEIGH_SUPPRESS port flag to suppress arp and nd flood 2017-10-08 21:12:04 -07:00
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h tun: enable napi_gro_frags() for TUN/TAP driver 2017-09-25 20:16:13 -07:00
if_tunnel.h ip_tunnel: add mpls over gre support 2017-10-07 21:38:31 +01:00
if_vlan.h
if_x25.h
if.h
ife.h
igmp.h
ila.h
in6.h net-ipv6: add support for sockopt(SOL_IPV6, IPV6_FREEBIND) 2017-09-30 05:30:52 +01:00
in_route.h
in.h
inet_diag.h tcp_diag: report TCP MD5 signing keys and addresses 2017-09-01 18:38:09 -07:00
inotify.h
input-event-codes.h
input.h
ioctl.h
ip6_tunnel.h
ip_vs.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h ipv6: fib: Provide offload indication using nexthop flags 2017-08-15 17:05:03 -07:00
ipv6.h
ipx.h
irda.h
irqnr.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild
kcm.h
kcmp.h kcmp: add KCMP_EPOLL_TFD mode to compare epoll target files 2017-07-12 16:26:01 -07:00
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: Implement image tiling mode support v2 2017-08-15 23:00:22 -04:00
kvm_para.h
kvm.h KVM: PPC: Book3S HV: Report storage key support to userspace 2017-08-31 12:36:44 +10:00
l2tp.h
libc-compat.h
lightnvm.h
limits.h
lirc.h
llc.h
loop.h loop: add ioctl for changing logical block size 2017-08-31 13:51:14 -06:00
lp.h
lwtunnel.h ipv6: sr: define core operations for seg6local lightweight tunnel 2017-08-07 14:16:22 -07:00
magic.h ocfs2: use magic.h 2017-07-06 16:24:30 -07:00
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h
media-bus-format.h
media.h media: drop use of MEDIA_API_VERSION 2017-08-08 06:03:15 -04:00
mei.h
membarrier.h membarrier: Provide expedited private command 2017-08-17 07:28:05 -07:00
memfd.h mm/shmem: add hugetlbfs support to memfd_create() 2017-09-06 17:27:29 -07:00
mempolicy.h mm, mempolicy: simplify rebinding mempolicies when updating cpusets 2017-07-06 16:24:34 -07:00
meye.h
mic_common.h
mic_ioctl.h
mii.h
minix_fs.h
mman.h mm: arch: consolidate mmap hugetlb size encodings 2017-09-06 17:27:28 -07:00
mmtimer.h
module.h
mpls_iptunnel.h
mpls.h
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
ndctl.h libnvdimm: clean up command definitions 2017-08-28 08:33:20 -07:00
neighbour.h
net_dropmon.h
net_namespace.h
net_tstamp.h
net.h
netconf.h
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h netlink: add NLM_F_NONREC flag for deletion requests 2017-09-04 17:34:54 +02:00
netrom.h
nfc.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nl80211.h cfg80211: support reloading regulatory database 2017-10-11 13:04:15 +02:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h openvswitch: add ct_clear action 2017-10-10 16:38:34 -07:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h Merge branch 'pci/misc' into next 2017-09-07 13:24:16 -05:00
pci.h
pcitest.h
perf_event.h perf/core, x86: Add PERF_SAMPLE_PHYS_ADDR 2017-08-29 15:09:25 +02:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
pmu.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h drivers/pps: aesthetic tweaks to PPS-related content 2017-09-08 18:26:51 -07:00
pr.h
prctl.h
psample.h
psci.h
ptp_clock.h
ptrace.h
qnx4_fs.h
qnxtypes.h
qrtr.h net: qrtr: Add control packet definition to uapi 2017-10-11 15:28:38 -07:00
quota.h uapi/linux/quota.h: Do not include linux/errno.h 2017-08-14 11:53:34 +02:00
radeonfb.h
random.h
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
romfs_fs.h
rose.h
route.h
rpmsg.h
rtc.h
rtnetlink.h net sched actions: add time filter for action dumping 2017-07-30 19:28:08 -07:00
rxrpc.h rxrpc: Move the packet.h include file into net/rxrpc/ 2017-07-21 11:00:20 +01:00
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: introduce round robin stream scheduler 2017-10-03 16:27:29 -07:00
sdla.h
seccomp.h seccomp: Implement SECCOMP_RET_KILL_PROCESS action 2017-08-14 13:46:50 -07:00
securebits.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h ipv6: sr: add support for encapsulation of L2 frames 2017-08-25 17:10:23 -07:00
seg6_local.h ipv6: sr: define core operations for seg6local lightweight tunnel 2017-08-07 14:16:22 -07:00
seg6.h
selinux_netlink.h
sem.h include/linux/sem.h: correctly document sem_ctime 2017-07-12 16:26:01 -07:00
serial_core.h serial: 8250: of: Add new port type for MediaTek BTIF controller on MT7622/23 SoC 2017-08-28 20:51:22 +02:00
serial_reg.h
serial.h
serio.h
shm.h mm: shm: use new hugetlb size encoding definitions 2017-09-06 17:27:28 -07:00
signal.h
signalfd.h
smc_diag.h
smc.h
smiapp.h
snmp.h tcp: Revert "tcp: remove header prediction" 2017-08-30 11:20:09 -07:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
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 tcmu: perfom device add, del and reconfig synchronously 2017-07-06 23:11:39 -07:00
taskstats.h
tcp_metrics.h
tcp.h tcp_diag: report TCP MD5 signing keys and addresses 2017-09-01 18:38:09 -07:00
tee.h tee: indicate privileged dev in gen_caps 2017-08-04 10:30:27 +02:00
telephony.h
termios.h
thermal.h
time.h
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc_netlink.h
tipc.h tipc: receive group membership events via member socket 2017-10-13 08:46:00 -07:00
tls.h
toshiba.h
tty_flags.h
tty.h
types.h
udf_fs_i.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h userfaultfd: provide pid in userfault msg - add feat union 2017-09-06 17:27:29 -07:00
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
veth.h
vfio_ccw.h
vfio.h
vhost.h
videodev2.h media: v4l: Add packed Bayer raw12 pixel formats 2017-08-26 14:45:24 -04:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_gpu.h
virtio_ids.h
virtio_input.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_ring.h x86/lguest: Remove lguest support 2017-08-24 09:57:28 +02:00
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets_diag.h VSOCK: add sock_diag interface 2017-10-05 18:44:17 -07:00
vm_sockets.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
x25.h
xattr.h
xfrm.h net: xfrm: support setting an output mark. 2017-08-11 07:03:00 +02:00
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h