netlink: specs: mptcp: rename the MPTCP path management spec
authorJakub Kicinski <kuba@kernel.org>
Fri, 15 Dec 2023 01:57:35 +0000 (17:57 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Dec 2023 12:17:16 +0000 (12:17 +0000)
We assume in handful of places that the name of the spec is
the same as the name of the family. We could fix that but
it seems like a fair assumption to make. Rename the MPTCP
spec instead.

Reviewed-by: Mat Martineau <martineau@kernel.org>
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/netlink/specs/mptcp.yaml [deleted file]
Documentation/netlink/specs/mptcp_pm.yaml [new file with mode: 0644]
MAINTAINERS
include/uapi/linux/mptcp_pm.h
net/mptcp/mptcp_pm_gen.c
net/mptcp/mptcp_pm_gen.h

diff --git a/Documentation/netlink/specs/mptcp.yaml b/Documentation/netlink/specs/mptcp.yaml
deleted file mode 100644 (file)
index 49f90cf..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
-
-name: mptcp_pm
-protocol: genetlink-legacy
-doc: Multipath TCP.
-
-c-family-name: mptcp-pm-name
-c-version-name: mptcp-pm-ver
-max-by-define: true
-kernel-policy: per-op
-cmd-cnt-name: --mptcp-pm-cmd-after-last
-
-definitions:
-  -
-    type: enum
-    name: event-type
-    enum-name: mptcp-event-type
-    name-prefix: mptcp-event-
-    entries:
-     -
-      name: unspec
-      doc: unused event
-     -
-      name: created
-      doc:
-        token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
-        A new MPTCP connection has been created. It is the good time to
-        allocate memory and send ADD_ADDR if needed. Depending on the
-        traffic-patterns it can take a long time until the
-        MPTCP_EVENT_ESTABLISHED is sent.
-     -
-      name: established
-      doc:
-        token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
-        A MPTCP connection is established (can start new subflows).
-     -
-      name: closed
-      doc:
-        token
-        A MPTCP connection has stopped.
-     -
-      name: announced
-      value: 6
-      doc:
-        token, rem_id, family, daddr4 | daddr6 [, dport]
-        A new address has been announced by the peer.
-     -
-      name: removed
-      doc:
-        token, rem_id
-        An address has been lost by the peer.
-     -
-      name: sub-established
-      value: 10
-      doc:
-        token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
-        dport, backup, if_idx [, error]
-        A new subflow has been established. 'error' should not be set.
-     -
-      name: sub-closed
-      doc:
-        token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
-        dport, backup, if_idx [, error]
-        A subflow has been closed. An error (copy of sk_err) could be set if an
-        error has been detected for this subflow.
-     -
-      name: sub-priority
-      value: 13
-      doc:
-        token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
-        dport, backup, if_idx [, error]
-        The priority of a subflow has changed. 'error' should not be set.
-     -
-      name: listener-created
-      value: 15
-      doc:
-        family, sport, saddr4 | saddr6
-        A new PM listener is created.
-     -
-      name: listener-closed
-      doc:
-        family, sport, saddr4 | saddr6
-        A PM listener is closed.
-
-attribute-sets:
-  -
-    name: address
-    name-prefix: mptcp-pm-addr-attr-
-    attributes:
-      -
-        name: unspec
-        type: unused
-        value: 0
-      -
-        name: family
-        type: u16
-      -
-        name: id
-        type: u8
-      -
-        name: addr4
-        type: u32
-        byte-order: big-endian
-      -
-        name: addr6
-        type: binary
-        checks:
-          exact-len: 16
-      -
-        name: port
-        type: u16
-        byte-order: big-endian
-      -
-        name: flags
-        type: u32
-      -
-        name: if-idx
-        type: s32
-  -
-    name: subflow-attribute
-    name-prefix: mptcp-subflow-attr-
-    attributes:
-      -
-        name: unspec
-        type: unused
-        value: 0
-      -
-        name: token-rem
-        type: u32
-      -
-        name: token-loc
-        type: u32
-      -
-        name: relwrite-seq
-        type: u32
-      -
-        name: map-seq
-        type: u64
-      -
-        name: map-sfseq
-        type: u32
-      -
-        name: ssn-offset
-        type: u32
-      -
-        name: map-datalen
-        type: u16
-      -
-        name: flags
-        type: u32
-      -
-        name: id-rem
-        type: u8
-      -
-        name: id-loc
-        type: u8
-      -
-        name: pad
-        type: pad
-  -
-    name: endpoint
-    name-prefix: mptcp-pm-endpoint-
-    attributes:
-      -
-        name: addr
-        type: nest
-        nested-attributes: address
-  -
-    name: attr
-    name-prefix: mptcp-pm-attr-
-    attr-cnt-name: --mptcp-attr-after-last
-    attributes:
-      -
-        name: unspec
-        type: unused
-        value: 0
-      -
-        name: addr
-        type: nest
-        nested-attributes: address
-      -
-        name: rcv-add-addrs
-        type: u32
-      -
-        name: subflows
-        type: u32
-      -
-        name: token
-        type: u32
-      -
-        name: loc-id
-        type: u8
-      -
-        name: addr-remote
-        type: nest
-        nested-attributes: address
-  -
-    name: event-attr
-    enum-name: mptcp-event-attr
-    name-prefix: mptcp-attr-
-    attributes:
-      -
-        name: unspec
-        type: unused
-        value: 0
-      -
-        name: token
-        type: u32
-      -
-        name: family
-        type: u16
-      -
-        name: loc-id
-        type: u8
-      -
-        name: rem-id
-        type: u8
-      -
-        name: saddr4
-        type: u32
-        byte-order: big-endian
-      -
-        name: saddr6
-        type: binary
-        checks:
-          min-len: 16
-      -
-        name: daddr4
-        type: u32
-        byte-order: big-endian
-      -
-        name: daddr6
-        type: binary
-        checks:
-          min-len: 16
-      -
-        name: sport
-        type: u16
-        byte-order: big-endian
-      -
-        name: dport
-        type: u16
-        byte-order: big-endian
-      -
-        name: backup
-        type: u8
-      -
-        name: error
-        type: u8
-      -
-        name: flags
-        type: u16
-      -
-        name: timeout
-        type: u32
-      -
-        name: if_idx
-        type: u32
-      -
-        name: reset-reason
-        type: u32
-      -
-        name: reset-flags
-        type: u32
-      -
-        name: server-side
-        type: u8
-
-operations:
-  list:
-    -
-      name: unspec
-      doc: unused
-      value: 0
-    -
-      name: add-addr
-      doc: Add endpoint
-      attribute-set: endpoint
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: &add-addr-attrs
-        request:
-          attributes:
-            - addr
-    -
-      name: del-addr
-      doc: Delete endpoint
-      attribute-set: endpoint
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: *add-addr-attrs
-    -
-      name: get-addr
-      doc: Get endpoint information
-      attribute-set: endpoint
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: &get-addr-attrs
-        request:
-          attributes:
-           - addr
-        reply:
-          attributes:
-           - addr
-      dump:
-        reply:
-         attributes:
-           - addr
-    -
-      name:  flush-addrs
-      doc: flush addresses
-      attribute-set: endpoint
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: *add-addr-attrs
-    -
-      name: set-limits
-      doc: Set protocol limits
-      attribute-set: attr
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: &mptcp-limits
-        request:
-          attributes:
-            - rcv-add-addrs
-            - subflows
-    -
-      name: get-limits
-      doc: Get protocol limits
-      attribute-set: attr
-      dont-validate: [ strict ]
-      do: &mptcp-get-limits
-        request:
-           attributes:
-            - rcv-add-addrs
-            - subflows
-        reply:
-          attributes:
-            - rcv-add-addrs
-            - subflows
-    -
-      name: set-flags
-      doc: Change endpoint flags
-      attribute-set: attr
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: &mptcp-set-flags
-        request:
-          attributes:
-            - addr
-            - token
-            - addr-remote
-    -
-      name: announce
-      doc: announce new sf
-      attribute-set: attr
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: &announce-add
-        request:
-          attributes:
-            - addr
-            - token
-    -
-      name: remove
-      doc: announce removal
-      attribute-set: attr
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do:
-        request:
-         attributes:
-           - token
-           - loc-id
-    -
-      name: subflow-create
-      doc: todo
-      attribute-set: attr
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: &sf-create
-        request:
-          attributes:
-            - addr
-            - token
-            - addr-remote
-    -
-      name: subflow-destroy
-      doc: todo
-      attribute-set: attr
-      dont-validate: [ strict ]
-      flags: [ uns-admin-perm ]
-      do: *sf-create
diff --git a/Documentation/netlink/specs/mptcp_pm.yaml b/Documentation/netlink/specs/mptcp_pm.yaml
new file mode 100644 (file)
index 0000000..49f90cf
--- /dev/null
@@ -0,0 +1,393 @@
+# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
+
+name: mptcp_pm
+protocol: genetlink-legacy
+doc: Multipath TCP.
+
+c-family-name: mptcp-pm-name
+c-version-name: mptcp-pm-ver
+max-by-define: true
+kernel-policy: per-op
+cmd-cnt-name: --mptcp-pm-cmd-after-last
+
+definitions:
+  -
+    type: enum
+    name: event-type
+    enum-name: mptcp-event-type
+    name-prefix: mptcp-event-
+    entries:
+     -
+      name: unspec
+      doc: unused event
+     -
+      name: created
+      doc:
+        token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
+        A new MPTCP connection has been created. It is the good time to
+        allocate memory and send ADD_ADDR if needed. Depending on the
+        traffic-patterns it can take a long time until the
+        MPTCP_EVENT_ESTABLISHED is sent.
+     -
+      name: established
+      doc:
+        token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
+        A MPTCP connection is established (can start new subflows).
+     -
+      name: closed
+      doc:
+        token
+        A MPTCP connection has stopped.
+     -
+      name: announced
+      value: 6
+      doc:
+        token, rem_id, family, daddr4 | daddr6 [, dport]
+        A new address has been announced by the peer.
+     -
+      name: removed
+      doc:
+        token, rem_id
+        An address has been lost by the peer.
+     -
+      name: sub-established
+      value: 10
+      doc:
+        token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
+        dport, backup, if_idx [, error]
+        A new subflow has been established. 'error' should not be set.
+     -
+      name: sub-closed
+      doc:
+        token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
+        dport, backup, if_idx [, error]
+        A subflow has been closed. An error (copy of sk_err) could be set if an
+        error has been detected for this subflow.
+     -
+      name: sub-priority
+      value: 13
+      doc:
+        token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
+        dport, backup, if_idx [, error]
+        The priority of a subflow has changed. 'error' should not be set.
+     -
+      name: listener-created
+      value: 15
+      doc:
+        family, sport, saddr4 | saddr6
+        A new PM listener is created.
+     -
+      name: listener-closed
+      doc:
+        family, sport, saddr4 | saddr6
+        A PM listener is closed.
+
+attribute-sets:
+  -
+    name: address
+    name-prefix: mptcp-pm-addr-attr-
+    attributes:
+      -
+        name: unspec
+        type: unused
+        value: 0
+      -
+        name: family
+        type: u16
+      -
+        name: id
+        type: u8
+      -
+        name: addr4
+        type: u32
+        byte-order: big-endian
+      -
+        name: addr6
+        type: binary
+        checks:
+          exact-len: 16
+      -
+        name: port
+        type: u16
+        byte-order: big-endian
+      -
+        name: flags
+        type: u32
+      -
+        name: if-idx
+        type: s32
+  -
+    name: subflow-attribute
+    name-prefix: mptcp-subflow-attr-
+    attributes:
+      -
+        name: unspec
+        type: unused
+        value: 0
+      -
+        name: token-rem
+        type: u32
+      -
+        name: token-loc
+        type: u32
+      -
+        name: relwrite-seq
+        type: u32
+      -
+        name: map-seq
+        type: u64
+      -
+        name: map-sfseq
+        type: u32
+      -
+        name: ssn-offset
+        type: u32
+      -
+        name: map-datalen
+        type: u16
+      -
+        name: flags
+        type: u32
+      -
+        name: id-rem
+        type: u8
+      -
+        name: id-loc
+        type: u8
+      -
+        name: pad
+        type: pad
+  -
+    name: endpoint
+    name-prefix: mptcp-pm-endpoint-
+    attributes:
+      -
+        name: addr
+        type: nest
+        nested-attributes: address
+  -
+    name: attr
+    name-prefix: mptcp-pm-attr-
+    attr-cnt-name: --mptcp-attr-after-last
+    attributes:
+      -
+        name: unspec
+        type: unused
+        value: 0
+      -
+        name: addr
+        type: nest
+        nested-attributes: address
+      -
+        name: rcv-add-addrs
+        type: u32
+      -
+        name: subflows
+        type: u32
+      -
+        name: token
+        type: u32
+      -
+        name: loc-id
+        type: u8
+      -
+        name: addr-remote
+        type: nest
+        nested-attributes: address
+  -
+    name: event-attr
+    enum-name: mptcp-event-attr
+    name-prefix: mptcp-attr-
+    attributes:
+      -
+        name: unspec
+        type: unused
+        value: 0
+      -
+        name: token
+        type: u32
+      -
+        name: family
+        type: u16
+      -
+        name: loc-id
+        type: u8
+      -
+        name: rem-id
+        type: u8
+      -
+        name: saddr4
+        type: u32
+        byte-order: big-endian
+      -
+        name: saddr6
+        type: binary
+        checks:
+          min-len: 16
+      -
+        name: daddr4
+        type: u32
+        byte-order: big-endian
+      -
+        name: daddr6
+        type: binary
+        checks:
+          min-len: 16
+      -
+        name: sport
+        type: u16
+        byte-order: big-endian
+      -
+        name: dport
+        type: u16
+        byte-order: big-endian
+      -
+        name: backup
+        type: u8
+      -
+        name: error
+        type: u8
+      -
+        name: flags
+        type: u16
+      -
+        name: timeout
+        type: u32
+      -
+        name: if_idx
+        type: u32
+      -
+        name: reset-reason
+        type: u32
+      -
+        name: reset-flags
+        type: u32
+      -
+        name: server-side
+        type: u8
+
+operations:
+  list:
+    -
+      name: unspec
+      doc: unused
+      value: 0
+    -
+      name: add-addr
+      doc: Add endpoint
+      attribute-set: endpoint
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: &add-addr-attrs
+        request:
+          attributes:
+            - addr
+    -
+      name: del-addr
+      doc: Delete endpoint
+      attribute-set: endpoint
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: *add-addr-attrs
+    -
+      name: get-addr
+      doc: Get endpoint information
+      attribute-set: endpoint
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: &get-addr-attrs
+        request:
+          attributes:
+           - addr
+        reply:
+          attributes:
+           - addr
+      dump:
+        reply:
+         attributes:
+           - addr
+    -
+      name:  flush-addrs
+      doc: flush addresses
+      attribute-set: endpoint
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: *add-addr-attrs
+    -
+      name: set-limits
+      doc: Set protocol limits
+      attribute-set: attr
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: &mptcp-limits
+        request:
+          attributes:
+            - rcv-add-addrs
+            - subflows
+    -
+      name: get-limits
+      doc: Get protocol limits
+      attribute-set: attr
+      dont-validate: [ strict ]
+      do: &mptcp-get-limits
+        request:
+           attributes:
+            - rcv-add-addrs
+            - subflows
+        reply:
+          attributes:
+            - rcv-add-addrs
+            - subflows
+    -
+      name: set-flags
+      doc: Change endpoint flags
+      attribute-set: attr
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: &mptcp-set-flags
+        request:
+          attributes:
+            - addr
+            - token
+            - addr-remote
+    -
+      name: announce
+      doc: announce new sf
+      attribute-set: attr
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: &announce-add
+        request:
+          attributes:
+            - addr
+            - token
+    -
+      name: remove
+      doc: announce removal
+      attribute-set: attr
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do:
+        request:
+         attributes:
+           - token
+           - loc-id
+    -
+      name: subflow-create
+      doc: todo
+      attribute-set: attr
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: &sf-create
+        request:
+          attributes:
+            - addr
+            - token
+            - addr-remote
+    -
+      name: subflow-destroy
+      doc: todo
+      attribute-set: attr
+      dont-validate: [ strict ]
+      flags: [ uns-admin-perm ]
+      do: *sf-create
index daf44012953535c58a94d0ecf250358ac2f02160..dda78b4ce70767e906937975f1d2874f3fbedd0f 100644 (file)
@@ -15099,7 +15099,7 @@ W:      https://github.com/multipath-tcp/mptcp_net-next/wiki
 B:     https://github.com/multipath-tcp/mptcp_net-next/issues
 T:     git https://github.com/multipath-tcp/mptcp_net-next.git export-net
 T:     git https://github.com/multipath-tcp/mptcp_net-next.git export
-F:     Documentation/netlink/specs/mptcp.yaml
+F:     Documentation/netlink/specs/mptcp_pm.yaml
 F:     Documentation/networking/mptcp-sysctl.rst
 F:     include/net/mptcp.h
 F:     include/trace/events/mptcp.h
index b5d11aece4089dfe6784d091e5f7107f2ff77653..50589e5dd6a38a3b4158e2e4092a9b3442b8fe96 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
 /* Do not edit directly, auto-generated from: */
-/*     Documentation/netlink/specs/mptcp.yaml */
+/*     Documentation/netlink/specs/mptcp_pm.yaml */
 /* YNL-GEN uapi header */
 
 #ifndef _UAPI_LINUX_MPTCP_PM_H
index a2325e70ddabd1b32d0c53196603e1af16e28eaf..670da7822e6c91703eb628fed712f0ea372ab220 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
 /* Do not edit directly, auto-generated from: */
-/*     Documentation/netlink/specs/mptcp.yaml */
+/*     Documentation/netlink/specs/mptcp_pm.yaml */
 /* YNL-GEN kernel source */
 
 #include <net/netlink.h>
index 10579d184587089c27b78a0e18ffc02988d32cb2..ac9fc7225b6a095c50e648beac222b9386d89ada 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
 /* Do not edit directly, auto-generated from: */
-/*     Documentation/netlink/specs/mptcp.yaml */
+/*     Documentation/netlink/specs/mptcp_pm.yaml */
 /* YNL-GEN kernel header */
 
 #ifndef _LINUX_MPTCP_PM_GEN_H