Lines Matching +full:message +full:- +full:handling +full:- +full:unit

1 .. SPDX-License-Identifier: GPL-2.0
7 Kernel Connection Multiplexor (KCM) is a mechanism that provides a message based
14 +------------+ +------------+ +------------+ +------------+
16 +------------+ +------------+ +------------+ +------------+
18 +-----------+ | | +----------+
20 +----------------------------------+
22 +----------------------------------+
24 +---------+ | | | ------------+
26 +----------+ +----------+ +----------+ +----------+ +----------+
28 +----------+ +----------+ +----------+ +----------+ +----------+
30 +----------+ +----------+ +----------+ +----------+ +----------+
32 +----------+ +----------+ +----------+ +----------+ +----------+
45 The multiplexor provides the message steering. In the transmit path, messages
70 Message delineation
71 -------------------
73 Messages are sent over a TCP stream with some application protocol message
75 of a received message can be deduced from the application protocol header
78 A TCP stream must be parsed to determine message boundaries. Berkeley Packet
81 a new message and is given an skbuff that contains the bytes received so far.
82 It parses the message header and returns the length of the message. Given this
83 information, KCM will construct the message of the stated length and deliver it
87 ---------------------
98 KCM limits the maximum receive message size to be the size of the receive
100 SO_RCVBUF). If the length of a new message reported by the BPF program is
114 ----------------------
120 - type is either SOCK_DGRAM or SOCK_SEQPACKET
121 - protocol is KCMPROTO_CONNECTED
124 -------------------
145 ------------------------
167 - fd: file descriptor for TCP socket being attached
168 - bpf_prog_fd: file descriptor for compiled BPF program downloaded
171 --------------------------
190 -------------------------------
203 BFP programs for message delineation
204 ------------------------------------
224 applications to use a message based interface for sending and receiving
227 in mapping a message based protocol onto the TCP stream. KCM also make
228 application layer messages a unit of work in the kernel for the purposes of
233 --------------
245 Message batching
246 ----------------
250 each received message to a different KCM socket or steering each sent
251 message to a different TCP socket, can negatively impact performance
261 3) Create "super message" composed of multiple messages and send this
269 Error handling
270 --------------
280 may have occurred in the middle of receiving a message).
283 -------------------------
285 In KCM there is no means to correlate a message to the TCP socket that
286 was used to send or receive the message (except in the case there is