Commit 0a055ec0 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'netlink-specs-remove-phantom-structs'

Jakub Kicinski says:

====================
netlink: specs: remove phantom structs

rt-netlink and nl80211 have a few structs which may be helpful for Python
decoding of binary attrs, but which don't actually exist in the C uAPI.
This prevents us from using struct pointers for binary types in C.

We could support this situation better in the codegen, or add these
structs to uAPI. That said Johannes suggested we remove the WiFi
structs for now, and the rt-link ones are semi-broken.
Drop the struct definitions, for now, if someone has a need to use
such structs in Python (as opposed to them being defined for completeness)
we can revist.

v1: https://lore.kernel.org/20250505170215.253672-1-kuba@kernel.org
====================

Link: https://patch.msgid.link/20250506194101.696272-1-kuba@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 015b5b8e 720447bd
Loading
Loading
Loading
Loading
+0 −68
Original line number Diff line number Diff line
@@ -203,71 +203,6 @@ definitions:
      - scan-random-mac-addr
      - sched-scan-random-mac-addr
      - no-random-mac-addr
  -
    name: ieee80211-mcs-info
    type: struct
    members:
      -
        name: rx-mask
        type: binary
        len: 10
      -
        name: rx-highest
        type: u16
        byte-order: little-endian
      -
        name: tx-params
        type: u8
      -
        name: reserved
        type: binary
        len: 3
  -
    name: ieee80211-vht-mcs-info
    type: struct
    members:
      -
        name: rx-mcs-map
        type: u16
        byte-order: little-endian
      -
        name: rx-highest
        type: u16
        byte-order: little-endian
      -
        name: tx-mcs-map
        type: u16
        byte-order: little-endian
      -
        name: tx-highest
        type: u16
        byte-order: little-endian
  -
    name: ieee80211-ht-cap
    type: struct
    members:
      -
        name: cap-info
        type: u16
        byte-order: little-endian
      -
        name: ampdu-params-info
        type: u8
      -
        name: mcs
        type: binary
        struct: ieee80211-mcs-info
      -
        name: extended-ht-cap-info
        type: u16
        byte-order: little-endian
      -
        name: tx-bf-cap-info
        type: u32
        byte-order: little-endian
      -
        name: antenna-selection-info
        type: u8
  -
    name: channel-type
    type: enum
@@ -761,7 +696,6 @@ attribute-sets:
      -
        name: ht-capability-mask
        type: binary
        struct: ieee80211-ht-cap
      -
        name: noack-map
        type: u16
@@ -1382,7 +1316,6 @@ attribute-sets:
      -
        name: ht-mcs-set
        type: binary
        struct: ieee80211-mcs-info
      -
        name: ht-capa
        type: u16
@@ -1395,7 +1328,6 @@ attribute-sets:
      -
        name: vht-mcs-set
        type: binary
        struct: ieee80211-vht-mcs-info
      -
        name: vht-capa
        type: u32
+4 −6
Original line number Diff line number Diff line
@@ -35,8 +35,7 @@ definitions:
        name: dispatch-upcall-per-cpu
        doc: Allow per-cpu dispatch of upcalls
  -
    name: datapath-stats
    enum-name: ovs-dp-stats
    name: ovs-dp-stats
    type: struct
    members:
      -
@@ -52,8 +51,7 @@ definitions:
        name: n-flows
        type: u64
  -
    name: megaflow-stats
    enum-name: ovs-dp-megaflow-stats
    name: ovs-dp-megaflow-stats
    type: struct
    members:
      -
@@ -88,11 +86,11 @@ attribute-sets:
      -
        name: stats
        type: binary
        struct: datapath-stats
        struct: ovs-dp-stats
      -
        name: megaflow-stats
        type: binary
        struct: megaflow-stats
        struct: ovs-dp-megaflow-stats
      -
        name: user-features
        type: u32
+2 −3
Original line number Diff line number Diff line
@@ -23,9 +23,8 @@ definitions:
    name-prefix: ovs-vport-type-
    entries: [ unspec, netdev, internal, gre, vxlan, geneve ]
  -
    name: vport-stats
    name: ovs-vport-stats
    type: struct
    enum-name: ovs-vport-stats
    members:
      -
        name: rx-packets
@@ -106,7 +105,7 @@ attribute-sets:
      -
        name: stats
        type: binary
        struct: vport-stats
        struct: ovs-vport-stats
      -
        name: pad
        type: unused
+22 −145
Original line number Diff line number Diff line
@@ -304,419 +304,294 @@ definitions:
        type: u8
  -
    name: ipv4-devconf
    type: struct
    members:
    enum-name:
    type: enum
    entries:
      -
        name: forwarding
        type: u32
      -
        name: mc-forwarding
        type: u32
      -
        name: proxy-arp
        type: u32
      -
        name: accept-redirects
        type: u32
      -
        name: secure-redirects
        type: u32
      -
        name: send-redirects
        type: u32
      -
        name: shared-media
        type: u32
      -
        name: rp-filter
        type: u32
      -
        name: accept-source-route
        type: u32
      -
        name: bootp-relay
        type: u32
      -
        name: log-martians
        type: u32
      -
        name: tag
        type: u32
      -
        name: arpfilter
        type: u32
      -
        name: medium-id
        type: u32
      -
        name: noxfrm
        type: u32
      -
        name: nopolicy
        type: u32
      -
        name: force-igmp-version
        type: u32
      -
        name: arp-announce
        type: u32
      -
        name: arp-ignore
        type: u32
      -
        name: promote-secondaries
        type: u32
      -
        name: arp-accept
        type: u32
      -
        name: arp-notify
        type: u32
      -
        name: accept-local
        type: u32
      -
        name: src-vmark
        type: u32
      -
        name: proxy-arp-pvlan
        type: u32
      -
        name: route-localnet
        type: u32
      -
        name: igmpv2-unsolicited-report-interval
        type: u32
      -
        name: igmpv3-unsolicited-report-interval
        type: u32
      -
        name: ignore-routes-with-linkdown
        type: u32
      -
        name: drop-unicast-in-l2-multicast
        type: u32
      -
        name: drop-gratuitous-arp
        type: u32
      -
        name: bc-forwarding
        type: u32
      -
        name: arp-evict-nocarrier
        type: u32
  -
    name: ipv6-devconf
    type: struct
    members:
    enum-name:
    type: enum
    entries:
      -
        name: forwarding
        type: u32
      -
        name: hoplimit
        type: u32
      -
        name: mtu6
        type: u32
      -
        name: accept-ra
        type: u32
      -
        name: accept-redirects
        type: u32
      -
        name: autoconf
        type: u32
      -
        name: dad-transmits
        type: u32
      -
        name: rtr-solicits
        type: u32
      -
        name: rtr-solicit-interval
        type: u32
      -
        name: rtr-solicit-delay
        type: u32
      -
        name: use-tempaddr
        type: u32
      -
        name: temp-valid-lft
        type: u32
      -
        name: temp-prefered-lft
        type: u32
      -
        name: regen-max-retry
        type: u32
      -
        name: max-desync-factor
        type: u32
      -
        name: max-addresses
        type: u32
      -
        name: force-mld-version
        type: u32
      -
        name: accept-ra-defrtr
        type: u32
      -
        name: accept-ra-pinfo
        type: u32
      -
        name: accept-ra-rtr-pref
        type: u32
      -
        name: rtr-probe-interval
        type: u32
      -
        name: accept-ra-rt-info-max-plen
        type: u32
      -
        name: proxy-ndp
        type: u32
      -
        name: optimistic-dad
        type: u32
      -
        name: accept-source-route
        type: u32
      -
        name: mc-forwarding
        type: u32
      -
        name: disable-ipv6
        type: u32
      -
        name: accept-dad
        type: u32
      -
        name: force-tllao
        type: u32
      -
        name: ndisc-notify
        type: u32
      -
        name: mldv1-unsolicited-report-interval
        type: u32
      -
        name: mldv2-unsolicited-report-interval
        type: u32
      -
        name: suppress-frag-ndisc
        type: u32
      -
        name: accept-ra-from-local
        type: u32
      -
        name: use-optimistic
        type: u32
      -
        name: accept-ra-mtu
        type: u32
      -
        name: stable-secret
        type: u32
      -
        name: use-oif-addrs-only
        type: u32
      -
        name: accept-ra-min-hop-limit
        type: u32
      -
        name: ignore-routes-with-linkdown
        type: u32
      -
        name: drop-unicast-in-l2-multicast
        type: u32
      -
        name: drop-unsolicited-na
        type: u32
      -
        name: keep-addr-on-down
        type: u32
      -
        name: rtr-solicit-max-interval
        type: u32
      -
        name: seg6-enabled
        type: u32
      -
        name: seg6-require-hmac
        type: u32
      -
        name: enhanced-dad
        type: u32
      -
        name: addr-gen-mode
        type: u8
      -
        name: disable-policy
        type: u32
      -
        name: accept-ra-rt-info-min-plen
        type: u32
      -
        name: ndisc-tclass
        type: u32
      -
        name: rpl-seg-enabled
        type: u32
      -
        name: ra-defrtr-metric
        type: u32
      -
        name: ioam6-enabled
        type: u32
      -
        name: ioam6-id
        type: u32
      -
        name: ioam6-id-wide
        type: u32
      -
        name: ndisc-evict-nocarrier
        type: u32
      -
        name: accept-untracked-na
        type: u32
  -
    name: ifla-icmp6-stats
    type: struct
    members:
    enum-name:
    type: enum
    entries:
      -
        name: num
      -
        name: inmsgs
        type: u64
      -
        name: inerrors
        type: u64
      -
        name: outmsgs
        type: u64
      -
        name: outerrors
        type: u64
      -
        name: csumerrors
        type: u64
      -
        name: ratelimithost
        type: u64
  -
    name: ifla-inet6-stats
    type: struct
    members:
    enum-name:
    type: enum
    entries:
      -
        name: num
      -
        name: inpkts
        type: u64
      -
        name: inoctets
        type: u64
      -
        name: indelivers
        type: u64
      -
        name: outforwdatagrams
        type: u64
      -
        name: outpkts
        type: u64
      -
        name: outoctets
        type: u64
      -
        name: inhdrerrors
        type: u64
      -
        name: intoobigerrors
        type: u64
      -
        name: innoroutes
        type: u64
      -
        name: inaddrerrors
        type: u64
      -
        name: inunknownprotos
        type: u64
      -
        name: intruncatedpkts
        type: u64
      -
        name: indiscards
        type: u64
      -
        name: outdiscards
        type: u64
      -
        name: outnoroutes
        type: u64
      -
        name: reasmtimeout
        type: u64
      -
        name: reasmreqds
        type: u64
      -
        name: reasmoks
        type: u64
      -
        name: reasmfails
        type: u64
      -
        name: fragoks
        type: u64
      -
        name: fragfails
        type: u64
      -
        name: fragcreates
        type: u64
      -
        name: inmcastpkts
        type: u64
      -
        name: outmcastpkts
        type: u64
      -
        name: inbcastpkts
        type: u64
      -
        name: outbcastpkts
        type: u64
      -
        name: inmcastoctets
        type: u64
      -
        name: outmcastoctets
        type: u64
      -
        name: inbcastoctets
        type: u64
      -
        name: outbcastoctets
        type: u64
      -
        name: csumerrors
        type: u64
      -
        name: noectpkts
        type: u64
      -
        name: ect1-pkts
        type: u64
      -
        name: ect0-pkts
        type: u64
      -
        name: cepkts
        type: u64
      -
        name: reasm-overlaps
        type: u64
  - name: br-boolopt-multi
    type: struct
    members:
@@ -2180,7 +2055,8 @@ attribute-sets:
      -
        name: conf
        type: binary
        struct: ipv4-devconf
        sub-type: u32
        doc: u32 indexed by ipv4-devconf - 1 on output, on input it's a nest
  -
    name: ifla6-attrs
    name-prefix: ifla-inet6-
@@ -2191,11 +2067,12 @@ attribute-sets:
      -
        name: conf
        type: binary
        struct: ipv6-devconf
        sub-type: u32
        doc: u32 indexed by ipv6-devconf - 1 on output, on input it's a nest
      -
        name: stats
        type: binary
        struct: ifla-inet6-stats
        sub-type: u64
      -
        name: mcast
        type: binary
@@ -2206,7 +2083,7 @@ attribute-sets:
      -
        name: icmp6stats
        type: binary
        struct: ifla-icmp6-stats
        sub-type: u64
      -
        name: token
        type: binary