Skip to content

Commit 063f72e

Browse files
committed
Merge: mptcp: rebase to Linux 6.7
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3305 JIRA: https://issues.redhat.com/browse/RHEL-15036 Tested: LNST, Tier1, selftests, pktdrill Rebase to the current upstream to bring in new features and a lot of fixes. A good half of the long commit list touches the self-tests only, and the remaining is self-contained in mptcp. The only notable exception is: tcp: get rid of sysctl_tcp_adv_win_scale that is a pre requisite to a bunch of mptcp changes included here and also uncontroversially a good thing (TM) for TCP. Wider-scope data-races related changeset are included (possibly as partial backport) only if they help to reduce conflict on later changes. Signed-off-by: Paolo Abeni <[email protected]> Approved-by: Florian Westphal <[email protected]> Approved-by: Davide Caratti <[email protected]> Signed-off-by: Jan Stancek <[email protected]>
2 parents 3c8d3e2 + 7be6b22 commit 063f72e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+4345
-2098
lines changed
Lines changed: 391 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,391 @@
1+
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2+
3+
name: mptcp_pm
4+
protocol: genetlink-legacy
5+
doc: Multipath TCP.
6+
7+
c-family-name: mptcp-pm-name
8+
c-version-name: mptcp-pm-ver
9+
max-by-define: true
10+
kernel-policy: per-op
11+
12+
definitions:
13+
-
14+
type: enum
15+
name: event-type
16+
enum-name: mptcp-event-type
17+
name-prefix: mptcp-event-
18+
entries:
19+
-
20+
name: unspec
21+
doc: unused event
22+
-
23+
name: created
24+
doc:
25+
token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
26+
A new MPTCP connection has been created. It is the good time to
27+
allocate memory and send ADD_ADDR if needed. Depending on the
28+
traffic-patterns it can take a long time until the
29+
MPTCP_EVENT_ESTABLISHED is sent.
30+
-
31+
name: established
32+
doc:
33+
token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
34+
A MPTCP connection is established (can start new subflows).
35+
-
36+
name: closed
37+
doc:
38+
token
39+
A MPTCP connection has stopped.
40+
-
41+
name: announced
42+
value: 6
43+
doc:
44+
token, rem_id, family, daddr4 | daddr6 [, dport]
45+
A new address has been announced by the peer.
46+
-
47+
name: removed
48+
doc:
49+
token, rem_id
50+
An address has been lost by the peer.
51+
-
52+
name: sub-established
53+
value: 10
54+
doc:
55+
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
56+
dport, backup, if_idx [, error]
57+
A new subflow has been established. 'error' should not be set.
58+
-
59+
name: sub-closed
60+
doc:
61+
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
62+
dport, backup, if_idx [, error]
63+
A subflow has been closed. An error (copy of sk_err) could be set if an
64+
error has been detected for this subflow.
65+
-
66+
name: sub-priority
67+
value: 13
68+
doc:
69+
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
70+
dport, backup, if_idx [, error]
71+
The priority of a subflow has changed. 'error' should not be set.
72+
-
73+
name: listener-created
74+
value: 15
75+
doc:
76+
family, sport, saddr4 | saddr6
77+
A new PM listener is created.
78+
-
79+
name: listener-closed
80+
doc:
81+
family, sport, saddr4 | saddr6
82+
A PM listener is closed.
83+
84+
attribute-sets:
85+
-
86+
name: address
87+
name-prefix: mptcp-pm-addr-attr-
88+
attributes:
89+
-
90+
name: unspec
91+
type: unused
92+
value: 0
93+
-
94+
name: family
95+
type: u16
96+
-
97+
name: id
98+
type: u8
99+
-
100+
name: addr4
101+
type: u32
102+
byte-order: big-endian
103+
-
104+
name: addr6
105+
type: binary
106+
checks:
107+
exact-len: 16
108+
-
109+
name: port
110+
type: u16
111+
byte-order: big-endian
112+
-
113+
name: flags
114+
type: u32
115+
-
116+
name: if-idx
117+
type: s32
118+
-
119+
name: subflow-attribute
120+
name-prefix: mptcp-subflow-attr-
121+
attributes:
122+
-
123+
name: unspec
124+
type: unused
125+
value: 0
126+
-
127+
name: token-rem
128+
type: u32
129+
-
130+
name: token-loc
131+
type: u32
132+
-
133+
name: relwrite-seq
134+
type: u32
135+
-
136+
name: map-seq
137+
type: u64
138+
-
139+
name: map-sfseq
140+
type: u32
141+
-
142+
name: ssn-offset
143+
type: u32
144+
-
145+
name: map-datalen
146+
type: u16
147+
-
148+
name: flags
149+
type: u32
150+
-
151+
name: id-rem
152+
type: u8
153+
-
154+
name: id-loc
155+
type: u8
156+
-
157+
name: pad
158+
type: pad
159+
-
160+
name: endpoint
161+
name-prefix: mptcp-pm-endpoint-
162+
attributes:
163+
-
164+
name: addr
165+
type: nest
166+
nested-attributes: address
167+
-
168+
name: attr
169+
name-prefix: mptcp-pm-attr-
170+
attributes:
171+
-
172+
name: unspec
173+
type: unused
174+
value: 0
175+
-
176+
name: addr
177+
type: nest
178+
nested-attributes: address
179+
-
180+
name: rcv-add-addrs
181+
type: u32
182+
-
183+
name: subflows
184+
type: u32
185+
-
186+
name: token
187+
type: u32
188+
-
189+
name: loc-id
190+
type: u8
191+
-
192+
name: addr-remote
193+
type: nest
194+
nested-attributes: address
195+
-
196+
name: event-attr
197+
enum-name: mptcp-event-attr
198+
name-prefix: mptcp-attr-
199+
attributes:
200+
-
201+
name: unspec
202+
type: unused
203+
value: 0
204+
-
205+
name: token
206+
type: u32
207+
-
208+
name: family
209+
type: u16
210+
-
211+
name: loc-id
212+
type: u8
213+
-
214+
name: rem-id
215+
type: u8
216+
-
217+
name: saddr4
218+
type: u32
219+
byte-order: big-endian
220+
-
221+
name: saddr6
222+
type: binary
223+
checks:
224+
min-len: 16
225+
-
226+
name: daddr4
227+
type: u32
228+
byte-order: big-endian
229+
-
230+
name: daddr6
231+
type: binary
232+
checks:
233+
min-len: 16
234+
-
235+
name: sport
236+
type: u16
237+
byte-order: big-endian
238+
-
239+
name: dport
240+
type: u16
241+
byte-order: big-endian
242+
-
243+
name: backup
244+
type: u8
245+
-
246+
name: error
247+
type: u8
248+
-
249+
name: flags
250+
type: u16
251+
-
252+
name: timeout
253+
type: u32
254+
-
255+
name: if_idx
256+
type: u32
257+
-
258+
name: reset-reason
259+
type: u32
260+
-
261+
name: reset-flags
262+
type: u32
263+
-
264+
name: server-side
265+
type: u8
266+
267+
operations:
268+
list:
269+
-
270+
name: unspec
271+
doc: unused
272+
value: 0
273+
-
274+
name: add-addr
275+
doc: Add endpoint
276+
attribute-set: endpoint
277+
dont-validate: [ strict ]
278+
flags: [ uns-admin-perm ]
279+
do: &add-addr-attrs
280+
request:
281+
attributes:
282+
- addr
283+
-
284+
name: del-addr
285+
doc: Delete endpoint
286+
attribute-set: endpoint
287+
dont-validate: [ strict ]
288+
flags: [ uns-admin-perm ]
289+
do: *add-addr-attrs
290+
-
291+
name: get-addr
292+
doc: Get endpoint information
293+
attribute-set: endpoint
294+
dont-validate: [ strict ]
295+
flags: [ uns-admin-perm ]
296+
do: &get-addr-attrs
297+
request:
298+
attributes:
299+
- addr
300+
reply:
301+
attributes:
302+
- addr
303+
dump:
304+
reply:
305+
attributes:
306+
- addr
307+
-
308+
name: flush-addrs
309+
doc: flush addresses
310+
attribute-set: endpoint
311+
dont-validate: [ strict ]
312+
flags: [ uns-admin-perm ]
313+
do: *add-addr-attrs
314+
-
315+
name: set-limits
316+
doc: Set protocol limits
317+
attribute-set: attr
318+
dont-validate: [ strict ]
319+
flags: [ uns-admin-perm ]
320+
do: &mptcp-limits
321+
request:
322+
attributes:
323+
- rcv-add-addrs
324+
- subflows
325+
-
326+
name: get-limits
327+
doc: Get protocol limits
328+
attribute-set: attr
329+
dont-validate: [ strict ]
330+
do: &mptcp-get-limits
331+
request:
332+
attributes:
333+
- rcv-add-addrs
334+
- subflows
335+
reply:
336+
attributes:
337+
- rcv-add-addrs
338+
- subflows
339+
-
340+
name: set-flags
341+
doc: Change endpoint flags
342+
attribute-set: attr
343+
dont-validate: [ strict ]
344+
flags: [ uns-admin-perm ]
345+
do: &mptcp-set-flags
346+
request:
347+
attributes:
348+
- addr
349+
- token
350+
- addr-remote
351+
-
352+
name: announce
353+
doc: announce new sf
354+
attribute-set: attr
355+
dont-validate: [ strict ]
356+
flags: [ uns-admin-perm ]
357+
do: &announce-add
358+
request:
359+
attributes:
360+
- addr
361+
- token
362+
-
363+
name: remove
364+
doc: announce removal
365+
attribute-set: attr
366+
dont-validate: [ strict ]
367+
flags: [ uns-admin-perm ]
368+
do:
369+
request:
370+
attributes:
371+
- token
372+
- loc-id
373+
-
374+
name: subflow-create
375+
doc: todo
376+
attribute-set: attr
377+
dont-validate: [ strict ]
378+
flags: [ uns-admin-perm ]
379+
do: &sf-create
380+
request:
381+
attributes:
382+
- addr
383+
- token
384+
- addr-remote
385+
-
386+
name: subflow-destroy
387+
doc: todo
388+
attribute-set: attr
389+
dont-validate: [ strict ]
390+
flags: [ uns-admin-perm ]
391+
do: *sf-create

Documentation/networking/ip-sysctl.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,7 @@ tcp_abort_on_overflow - BOOLEAN
313313
option can harm clients of your server.
314314

315315
tcp_adv_win_scale - INTEGER
316+
Obsolete since linux-6.6
316317
Count buffering overhead as bytes/2^tcp_adv_win_scale
317318
(if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale),
318319
if it is <= 0.

0 commit comments

Comments
 (0)