netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen
@ 2023-12-15  1:57 Jakub Kicinski
  2023-12-15  1:57 ` [PATCH net-next v2 1/3] netlink: specs: ovs: remove fixed header fields from attrs Jakub Kicinski
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Jakub Kicinski @ 2023-12-15  1:57 UTC (permalink / raw)
  To: davem; +Cc: netdev, edumazet, pabeni, donald.hunter, Jakub Kicinski

Minor adjustments to some specs to make them ready for C code gen.

v2:
 - fix MAINATINERS and subject of patch 3

Jakub Kicinski (3):
  netlink: specs: ovs: remove fixed header fields from attrs
  netlink: specs: ovs: correct enum names in specs
  netlink: specs: mptcp: rename the MPTCP path management spec

 Documentation/netlink/specs/{mptcp.yaml => mptcp_pm.yaml} | 0
 Documentation/netlink/specs/ovs_datapath.yaml             | 3 +--
 Documentation/netlink/specs/ovs_flow.yaml                 | 7 ++++---
 Documentation/netlink/specs/ovs_vport.yaml                | 4 ----
 MAINTAINERS                                               | 2 +-
 include/uapi/linux/mptcp_pm.h                             | 2 +-
 net/mptcp/mptcp_pm_gen.c                                  | 2 +-
 net/mptcp/mptcp_pm_gen.h                                  | 2 +-
 8 files changed, 9 insertions(+), 13 deletions(-)
 rename Documentation/netlink/specs/{mptcp.yaml => mptcp_pm.yaml} (100%)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH net-next v2 1/3] netlink: specs: ovs: remove fixed header fields from attrs
  2023-12-15  1:57 [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen Jakub Kicinski
@ 2023-12-15  1:57 ` Jakub Kicinski
  2023-12-15  1:57 ` [PATCH net-next v2 2/3] netlink: specs: ovs: correct enum names in specs Jakub Kicinski
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Jakub Kicinski @ 2023-12-15  1:57 UTC (permalink / raw)
  To: davem; +Cc: netdev, edumazet, pabeni, donald.hunter, Jakub Kicinski

Op's "attributes" list is a workaround for families with a single
attr set. We don't want to render a single huge request structure,
the same for each op since we know that most ops accept only a small
set of attributes. "Attributes" list lets us narrow down the attributes
to what op acctually pays attention to.

It doesn't make sense to put names of fixed headers in there.
They are not "attributes" and we can't really narrow down the struct
members.

Remove the fixed header fields from attrs for ovs families
in preparation for C codegen support.

Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 Documentation/netlink/specs/ovs_datapath.yaml | 2 --
 Documentation/netlink/specs/ovs_flow.yaml     | 3 ---
 Documentation/netlink/specs/ovs_vport.yaml    | 4 ----
 3 files changed, 9 deletions(-)

diff --git a/Documentation/netlink/specs/ovs_datapath.yaml b/Documentation/netlink/specs/ovs_datapath.yaml
index f709c26c3e92..067c54a52d7a 100644
--- a/Documentation/netlink/specs/ovs_datapath.yaml
+++ b/Documentation/netlink/specs/ovs_datapath.yaml
@@ -142,7 +142,6 @@ uapi-header: linux/openvswitch.h
       do:
         request:
           attributes:
-            - dp-ifindex
             - name
             - upcall-pid
             - user-features
@@ -154,7 +153,6 @@ uapi-header: linux/openvswitch.h
       do:
         request:
           attributes:
-            - dp-ifindex
             - name
 
 mcast-groups:
diff --git a/Documentation/netlink/specs/ovs_flow.yaml b/Documentation/netlink/specs/ovs_flow.yaml
index 109ca1f57b6c..29315f3538fd 100644
--- a/Documentation/netlink/specs/ovs_flow.yaml
+++ b/Documentation/netlink/specs/ovs_flow.yaml
@@ -947,13 +947,11 @@ uapi-header: linux/openvswitch.h
       do: &flow-get-op
         request:
           attributes:
-            - dp-ifindex
             - key
             - ufid
             - ufid-flags
         reply:
           attributes:
-            - dp-ifindex
             - key
             - ufid
             - mask
@@ -968,7 +966,6 @@ uapi-header: linux/openvswitch.h
       do:
         request:
           attributes:
-            - dp-ifindex
             - key
             - ufid
             - mask
diff --git a/Documentation/netlink/specs/ovs_vport.yaml b/Documentation/netlink/specs/ovs_vport.yaml
index f65ce62cd60d..86ba9ac2a521 100644
--- a/Documentation/netlink/specs/ovs_vport.yaml
+++ b/Documentation/netlink/specs/ovs_vport.yaml
@@ -135,7 +135,6 @@ uapi-header: linux/openvswitch.h
             - name
             - type
             - upcall-pid
-            - dp-ifindex
             - ifindex
             - options
     -
@@ -146,7 +145,6 @@ uapi-header: linux/openvswitch.h
       do:
         request:
           attributes:
-            - dp-ifindex
             - port-no
             - type
             - name
@@ -158,11 +156,9 @@ uapi-header: linux/openvswitch.h
       do: &vport-get-op
         request:
           attributes:
-            - dp-ifindex
             - name
         reply: &dev-all
           attributes:
-            - dp-ifindex
             - port-no
             - type
             - name
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH net-next v2 2/3] netlink: specs: ovs: correct enum names in specs
  2023-12-15  1:57 [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen Jakub Kicinski
  2023-12-15  1:57 ` [PATCH net-next v2 1/3] netlink: specs: ovs: remove fixed header fields from attrs Jakub Kicinski
@ 2023-12-15  1:57 ` Jakub Kicinski
  2023-12-15  1:57 ` [PATCH net-next v2 3/3] netlink: specs: mptcp: rename the MPTCP path management spec Jakub Kicinski
  2023-12-15 12:20 ` [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen patchwork-bot+netdevbpf
  3 siblings, 0 replies; 5+ messages in thread
From: Jakub Kicinski @ 2023-12-15  1:57 UTC (permalink / raw)
  To: davem; +Cc: netdev, edumazet, pabeni, donald.hunter, Jakub Kicinski

Align the enum-names of OVS with what's actually in the uAPI.
Either correct the names, or mark the enum as empty because
the values are in fact #defines.

Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 Documentation/netlink/specs/ovs_datapath.yaml | 1 +
 Documentation/netlink/specs/ovs_flow.yaml     | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/Documentation/netlink/specs/ovs_datapath.yaml b/Documentation/netlink/specs/ovs_datapath.yaml
index 067c54a52d7a..edc8c95ca6f5 100644
--- a/Documentation/netlink/specs/ovs_datapath.yaml
+++ b/Documentation/netlink/specs/ovs_datapath.yaml
@@ -20,6 +20,7 @@ uapi-header: linux/openvswitch.h
     name: user-features
     type: flags
     name-prefix: ovs-dp-f-
+    enum-name:
     entries:
       -
         name: unaligned
diff --git a/Documentation/netlink/specs/ovs_flow.yaml b/Documentation/netlink/specs/ovs_flow.yaml
index 29315f3538fd..4fdfc6b5cae9 100644
--- a/Documentation/netlink/specs/ovs_flow.yaml
+++ b/Documentation/netlink/specs/ovs_flow.yaml
@@ -124,6 +124,7 @@ uapi-header: linux/openvswitch.h
   -
     name: ovs-frag-type
     name-prefix: ovs-frag-type-
+    enum-name: ovs-frag-type
     type: enum
     entries:
       -
@@ -269,6 +270,7 @@ uapi-header: linux/openvswitch.h
   -
     name: ovs-ufid-flags
     name-prefix: ovs-ufid-f-
+    enum-name:
     type: flags
     entries:
       - omit-key
@@ -288,6 +290,7 @@ uapi-header: linux/openvswitch.h
         doc: Basis used for computing hash.
   -
     name: ovs-hash-alg
+    enum-name: ovs-hash-alg
     type: enum
     doc: |
       Data path hash algorithm for computing Datapath hash. The algorithm type only specifies
@@ -339,6 +342,7 @@ uapi-header: linux/openvswitch.h
           MPLS tunnel attributes.
   -
     name: ct-state-flags
+    enum-name:
     type: flags
     name-prefix: ovs-cs-f-
     entries:
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH net-next v2 3/3] netlink: specs: mptcp: rename the MPTCP path management spec
  2023-12-15  1:57 [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen Jakub Kicinski
  2023-12-15  1:57 ` [PATCH net-next v2 1/3] netlink: specs: ovs: remove fixed header fields from attrs Jakub Kicinski
  2023-12-15  1:57 ` [PATCH net-next v2 2/3] netlink: specs: ovs: correct enum names in specs Jakub Kicinski
@ 2023-12-15  1:57 ` Jakub Kicinski
  2023-12-15 12:20 ` [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen patchwork-bot+netdevbpf
  3 siblings, 0 replies; 5+ messages in thread
From: Jakub Kicinski @ 2023-12-15  1:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, edumazet, pabeni, donald.hunter, Jakub Kicinski,
	Mat Martineau, matttbe, dcaratti, mptcp

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>
---
v2:
 - fix MAINTAINERS (build bot)
 - remove the (?) in the title

CC: matttbe@kernel.org
CC: dcaratti@redhat.com
CC: mptcp@lists.linux.dev
---
 Documentation/netlink/specs/{mptcp.yaml => mptcp_pm.yaml} | 0
 MAINTAINERS                                               | 2 +-
 include/uapi/linux/mptcp_pm.h                             | 2 +-
 net/mptcp/mptcp_pm_gen.c                                  | 2 +-
 net/mptcp/mptcp_pm_gen.h                                  | 2 +-
 5 files changed, 4 insertions(+), 4 deletions(-)
 rename Documentation/netlink/specs/{mptcp.yaml => mptcp_pm.yaml} (100%)

diff --git a/Documentation/netlink/specs/mptcp.yaml b/Documentation/netlink/specs/mptcp_pm.yaml
similarity index 100%
rename from Documentation/netlink/specs/mptcp.yaml
rename to Documentation/netlink/specs/mptcp_pm.yaml
diff --git a/MAINTAINERS b/MAINTAINERS
index 2c09e713284d..b2d8fcf067fd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15085,7 +15085,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
diff --git a/include/uapi/linux/mptcp_pm.h b/include/uapi/linux/mptcp_pm.h
index b5d11aece408..50589e5dd6a3 100644
--- a/include/uapi/linux/mptcp_pm.h
+++ b/include/uapi/linux/mptcp_pm.h
@@ -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
diff --git a/net/mptcp/mptcp_pm_gen.c b/net/mptcp/mptcp_pm_gen.c
index a2325e70ddab..670da7822e6c 100644
--- a/net/mptcp/mptcp_pm_gen.c
+++ b/net/mptcp/mptcp_pm_gen.c
@@ -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>
diff --git a/net/mptcp/mptcp_pm_gen.h b/net/mptcp/mptcp_pm_gen.h
index 10579d184587..ac9fc7225b6a 100644
--- a/net/mptcp/mptcp_pm_gen.h
+++ b/net/mptcp/mptcp_pm_gen.h
@@ -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
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen
  2023-12-15  1:57 [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen Jakub Kicinski
                   ` (2 preceding siblings ...)
  2023-12-15  1:57 ` [PATCH net-next v2 3/3] netlink: specs: mptcp: rename the MPTCP path management spec Jakub Kicinski
@ 2023-12-15 12:20 ` patchwork-bot+netdevbpf
  3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-12-15 12:20 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: davem, netdev, edumazet, pabeni, donald.hunter

Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Thu, 14 Dec 2023 17:57:32 -0800 you wrote:
> Minor adjustments to some specs to make them ready for C code gen.
> 
> v2:
>  - fix MAINATINERS and subject of patch 3
> 
> Jakub Kicinski (3):
>   netlink: specs: ovs: remove fixed header fields from attrs
>   netlink: specs: ovs: correct enum names in specs
>   netlink: specs: mptcp: rename the MPTCP path management spec
> 
> [...]

Here is the summary with links:
  - [net-next,v2,1/3] netlink: specs: ovs: remove fixed header fields from attrs
    https://git.kernel.org/netdev/net-next/c/3ada0b33c454
  - [net-next,v2,2/3] netlink: specs: ovs: correct enum names in specs
    https://git.kernel.org/netdev/net-next/c/209bcb9af8f1
  - [net-next,v2,3/3] netlink: specs: mptcp: rename the MPTCP path management spec
    https://git.kernel.org/netdev/net-next/c/b059aef76c51

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-12-15 12:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-15  1:57 [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen Jakub Kicinski
2023-12-15  1:57 ` [PATCH net-next v2 1/3] netlink: specs: ovs: remove fixed header fields from attrs Jakub Kicinski
2023-12-15  1:57 ` [PATCH net-next v2 2/3] netlink: specs: ovs: correct enum names in specs Jakub Kicinski
2023-12-15  1:57 ` [PATCH net-next v2 3/3] netlink: specs: mptcp: rename the MPTCP path management spec Jakub Kicinski
2023-12-15 12:20 ` [PATCH net-next v2 0/3] netlink: specs: prep legacy specs for C code gen patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).