Commit 747fb841 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

netlink: specs: ovs_vport: align with C codegen capabilities

We started generating C code for OvS a while back, but actually
C codegen only supports fixed headers specified at the family
level right now (schema also allows specifying them per op).
ovs_flow and ovs_datapath already specify the fixed header
at the family level but ovs_vport does it per op.
Move the property, all ops use the same header.

This ensures YNL C sees the correct hdr_len:

   const struct ynl_family ynl_ovs_vport_family =  {
          .name           = "ovs_vport",
  -       .hdr_len        = sizeof(struct genlmsghdr),
  +       .hdr_len        = sizeof(struct genlmsghdr) + sizeof(struct ovs_header),
   };

Fixes: 7c59c9c8 ("tools: ynl: generate code for ovs families")
Link: https://patch.msgid.link/20250409145541.580674-1-kuba@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f0433eea
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -123,12 +123,12 @@ attribute-sets:

operations:
  name-prefix: ovs-vport-cmd-
  fixed-header: ovs-header
  list:
    -
      name: new
      doc: Create a new OVS vport
      attribute-set: vport
      fixed-header: ovs-header
      do:
        request:
          attributes:
@@ -141,7 +141,6 @@ operations:
      name: del
      doc: Delete existing OVS vport from a data path
      attribute-set: vport
      fixed-header: ovs-header
      do:
        request:
          attributes:
@@ -152,7 +151,6 @@ operations:
      name: get
      doc: Get / dump OVS vport configuration and state
      attribute-set: vport
      fixed-header: ovs-header
      do: &vport-get-op
        request:
          attributes: