netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v1 0/2] netlink: specs: Add neigh and rule YNL specs
@ 2024-11-04 16:53 Donald Hunter
  2024-11-04 16:53 ` [PATCH net-next v1 1/2] netlink: specs: Add a spec for neighbor tables in rtnetlink Donald Hunter
  2024-11-04 16:53 ` [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management Donald Hunter
  0 siblings, 2 replies; 7+ messages in thread
From: Donald Hunter @ 2024-11-04 16:53 UTC (permalink / raw)
  To: netdev, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman
  Cc: donald.hunter, Donald Hunter

Add YNL specs for the FDB neighbour tables and FIB rules from the
rtnelink families.

Example usage:

./tools/net/ynl/cli.py \
    --spec Documentation/netlink/specs/rt_neigh.yaml \
    --dump getneigh
[{'cacheinfo': {'confirmed': 122664055,
                'refcnt': 0,
                'updated': 122658055,
                'used': 122658055},
  'dst': '0.0.0.0',
  'family': 2,
  'flags': set(),
  'ifindex': 5,
  'lladr': '',
  'probes': 0,
  'state': {'noarp'},
  'type': 'broadcast'},
  ...]

./tools/net/ynl/cli.py \
    --spec Documentation/netlink/specs/rt_rule.yaml \
    --dump getrule --json '{"family": 2}'

[{'action': 'to-tbl',
  'dst-len': 0,
  'family': 2,
  'flags': 0,
  'protocol': 2,
  'src-len': 0,
  'suppress-prefixlen': '0xffffffff',
  'table': 255,
  'tos': 0},
  ... ]

Donald Hunter (2):
  netlink: specs: Add a spec for neighbor tables in rtnetlink
  netlink: specs: Add a spec for FIB rule management

 Documentation/netlink/specs/rt_neigh.yaml | 442 ++++++++++++++++++++++
 Documentation/netlink/specs/rt_rule.yaml  | 240 ++++++++++++
 2 files changed, 682 insertions(+)
 create mode 100644 Documentation/netlink/specs/rt_neigh.yaml
 create mode 100644 Documentation/netlink/specs/rt_rule.yaml

-- 
2.47.0


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

* [PATCH net-next v1 1/2] netlink: specs: Add a spec for neighbor tables in rtnetlink
  2024-11-04 16:53 [PATCH net-next v1 0/2] netlink: specs: Add neigh and rule YNL specs Donald Hunter
@ 2024-11-04 16:53 ` Donald Hunter
  2024-11-04 16:53 ` [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management Donald Hunter
  1 sibling, 0 replies; 7+ messages in thread
From: Donald Hunter @ 2024-11-04 16:53 UTC (permalink / raw)
  To: netdev, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman
  Cc: donald.hunter, Donald Hunter

Add a YNL spec for neighbour tables and neighbour entries in rtnetlink.

./tools/net/ynl/cli.py \
    --spec Documentation/netlink/specs/rt_neigh.yaml \
    --dump getneigh
[{'cacheinfo': {'confirmed': 122664055,
                'refcnt': 0,
                'updated': 122658055,
                'used': 122658055},
  'dst': '0.0.0.0',
  'family': 2,
  'flags': set(),
  'ifindex': 5,
  'lladr': '',
  'probes': 0,
  'state': {'noarp'},
  'type': 'broadcast'},
  ...]

Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
---
 Documentation/netlink/specs/rt_neigh.yaml | 442 ++++++++++++++++++++++
 1 file changed, 442 insertions(+)
 create mode 100644 Documentation/netlink/specs/rt_neigh.yaml

diff --git a/Documentation/netlink/specs/rt_neigh.yaml b/Documentation/netlink/specs/rt_neigh.yaml
new file mode 100644
index 000000000000..e670b6dc07be
--- /dev/null
+++ b/Documentation/netlink/specs/rt_neigh.yaml
@@ -0,0 +1,442 @@
+# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
+
+name: rt-neigh
+protocol: netlink-raw
+protonum: 0
+
+doc:
+  IP neighbour management over rtnetlink.
+
+definitions:
+  -
+    name: ndmsg
+    type: struct
+    members:
+      -
+        name: family
+        type: u8
+      -
+        name: pad
+        type: pad
+        len: 3
+      -
+        name: ifindex
+        type: s32
+      -
+        name: state
+        type: u16
+        enum: nud-state
+      -
+        name: flags
+        type: u8
+        enum: ntf-flags
+      -
+        name: type
+        type: u8
+        enum: rtm-type
+  -
+    name: ndtmsg
+    type: struct
+    members:
+      -
+        name: family
+        type: u8
+      -
+        name: pad
+        type: pad
+        len: 3
+  -
+    name: nud-state
+    type: flags
+    entries:
+      - incomplete
+      - reachable
+      - stale
+      - delay
+      - probe
+      - failed
+      - noarp
+      - permanent
+  -
+    name: ntf-flags
+    type: flags
+    entries:
+      - use
+      - self
+      - master
+      - proxy
+      - ext-learned
+      - offloaded
+      - sticky
+      - router
+  -
+    name: ntf-ext-flags
+    type: flags
+    entries:
+      - managed
+      - locked
+  -
+    name: rtm-type
+    type: enum
+    entries:
+      - unspec
+      - unicast
+      - local
+      - broadcast
+      - anycast
+      - multicast
+      - blackhole
+      - unreachable
+      - prohibit
+      - throw
+      - nat
+      - xresolve
+  -
+    name: nda-cacheinfo
+    type: struct
+    members:
+      -
+        name: confirmed
+        type: u32
+      -
+        name: used
+        type: u32
+      -
+        name: updated
+        type: u32
+      -
+        name: refcnt
+        type: u32
+  -
+    name: ndt-config
+    type: struct
+    members:
+      -
+        name: key-len
+        type: u16
+      -
+        name: entry-size
+        type: u16
+      -
+        name: entries
+        type: u32
+      -
+        name: last-flush
+        type: u32
+      -
+        name: last-rand
+        type: u32
+      -
+        name: hash-rnd
+        type: u32
+      -
+        name: hash-mask
+        type: u32
+      -
+        name: hash-chain-gc
+        type: u32
+      -
+        name: proxy-qlen
+        type: u32
+  -
+    name: ndt-stats
+    type: struct
+    members:
+      -
+        name: allocs
+        type: u64
+      -
+        name: destroys
+        type: u64
+      -
+        name: hash-grows
+        type: u64
+      -
+        name: res-failed
+        type: u64
+      -
+        name: lookups
+        type: u64
+      -
+        name: hits
+        type: u64
+      -
+        name: rcv-probes-mcast
+        type: u64
+      -
+        name: rcv-probes-ucast
+        type: u64
+      -
+        name: periodic-gc-runs
+        type: u64
+      -
+        name: forced-gc-runs
+        type: u64
+      -
+        name: table-fulls
+        type: u64
+
+attribute-sets:
+  -
+    name: neighbour-attrs
+    attributes:
+      -
+        name: unspec
+        type: binary
+        value: 0
+      -
+        name: dst
+        type: binary
+        display-hint: ipv4
+      -
+        name: lladr
+        type: binary
+        display-hint: mac
+      -
+        name: cacheinfo
+        type: binary
+        struct: nda-cacheinfo
+      -
+        name: probes
+        type: u32
+      -
+        name: vlan
+        type: u16
+      -
+        name: port
+        type: u16
+      -
+        name: vni
+        type: u32
+      -
+        name: ifindex
+        type: u32
+      -
+        name: master
+        type: u32
+      -
+        name: link-netnsid
+        type: s32
+      -
+        name: src-vni
+        type: u32
+      -
+        name: protocol
+        type: u8
+      -
+        name: nh-id
+        type: u32
+      -
+        name: fdb-ext-attrs
+        type: binary
+      -
+        name: flags-ext
+        type: u32
+        enum: ntf-ext-flags
+      -
+        name: ndm-state-mask
+        type: u16
+      -
+        name: ndm-flags-mask
+        type: u8
+  -
+    name: ndt-attrs
+    attributes:
+      -
+        name: name
+        type: string
+      -
+        name: thresh1
+        type: u32
+      -
+        name: thresh2
+        type: u32
+      -
+        name: thresh3
+        type: u32
+      -
+        name: config
+        type: binary
+        struct: ndt-config
+      -
+        name: parms
+        type: nest
+        nested-attributes: ndtpa-attrs
+      -
+        name: stats
+        type: binary
+        struct: ndt-stats
+      -
+        name: gc-interval
+        type: u64
+      -
+        name: pad
+        type: pad
+  -
+    name: ndtpa-attrs
+    attributes:
+      -
+        name: ifindex
+        type: u32
+      -
+        name: refcnt
+        type: u32
+      -
+        name: reachable-time
+        type: u64
+      -
+        name: base-reachable-time
+        type: u64
+      -
+        name: retrans-time
+        type: u64
+      -
+        name: gc-staletime
+        type: u64
+      -
+        name: delay-probe-time
+        type: u64
+      -
+        name: queue-len
+        type: u32
+      -
+        name: app-probes
+        type: u32
+      -
+        name: ucast-probes
+        type: u32
+      -
+        name: mcast-probes
+        type: u32
+      -
+        name: anycast-delay
+        type: u64
+      -
+        name: proxy-delay
+        type: u64
+      -
+        name: proxy-qlen
+        type: u32
+      -
+        name: locktime
+        type: u64
+      -
+        name: queue-lenbytes
+        type: u32
+      -
+        name: mcast-reprobes
+        type: u32
+      -
+        name: pad
+        type: pad
+      -
+        name: interval-probe-time-ms
+        type: u64
+
+operations:
+  enum-model: directional
+  list:
+    -
+      name: newneigh
+      doc: Add new neighbour entry
+      fixed-header: ndmsg
+      attribute-set: neighbour-attrs
+      do:
+        request:
+          value: 28
+          attributes: &neighbour-all
+            - dst
+            - lladdr
+            - probes
+            - vlan
+            - port
+            - vni
+            - ifindex
+            - master
+            - protocol
+            - nh-id
+            - flags-ext
+            - fdb-ext-attrs
+    -
+      name: delneigh
+      doc: Remove an existing neighbour entry
+      fixed-header: ndmsg
+      attribute-set: neighbour-attrs
+      do:
+        request:
+          value: 29
+          attributes:
+            - dst
+            - ifindex
+    -
+      name: delneigh-ntf
+      doc: Notify a neighbour deletion
+      value: 29
+      notify: delneigh
+      fixed-header: ndmsg
+    -
+      name: getneigh
+      doc: Get or dump neighbour entries
+      fixed-header: ndmsg
+      attribute-set: neighbour-attrs
+      do:
+        request:
+          value: 30
+          attributes:
+            - dst
+        reply:
+          value: 28
+          attributes: *neighbour-all
+      dump:
+        request:
+          attributes:
+            - ifindex
+            - master
+        reply:
+          attributes: *neighbour-all
+    -
+      name: newneigh-ntf
+      doc: Notify a neighbour creation
+      value: 28
+      notify: getneigh
+      fixed-header: ndmsg
+    -
+      name: getneightbl
+      doc: Get or dump neighbour tables
+      fixed-header: ndtmsg
+      attribute-set: ndt-attrs
+      dump:
+        request:
+          value: 66
+        reply:
+          value: 64
+          attributes:
+            - name
+            - thresh1
+            - thresh2
+            - thresh3
+            - config
+            - parms
+            - stats
+            - gc-interval
+    -
+      name: setneightbl
+      doc: Set neighbour tables
+      fixed-header: ndtmsg
+      attribute-set: ndt-attrs
+      do:
+        request:
+          value: 67
+          attributes:
+            - name
+            - thresh1
+            - thresh2
+            - thresh3
+            - parms
+            - gc-interval
+
+mcast-groups:
+  list:
+    -
+      name: rtnlgrp-neigh
+      value: 3
-- 
2.47.0


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

* [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management
  2024-11-04 16:53 [PATCH net-next v1 0/2] netlink: specs: Add neigh and rule YNL specs Donald Hunter
  2024-11-04 16:53 ` [PATCH net-next v1 1/2] netlink: specs: Add a spec for neighbor tables in rtnetlink Donald Hunter
@ 2024-11-04 16:53 ` Donald Hunter
  2024-11-04 18:24   ` Ido Schimmel
  2024-11-04 18:45   ` Stanislav Fomichev
  1 sibling, 2 replies; 7+ messages in thread
From: Donald Hunter @ 2024-11-04 16:53 UTC (permalink / raw)
  To: netdev, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman
  Cc: donald.hunter, Donald Hunter

Add a YNL spec for FIB rules:

./tools/net/ynl/cli.py \
    --spec Documentation/netlink/specs/rt_rule.yaml \
    --dump getrule --json '{"family": 2}'

[{'action': 'to-tbl',
  'dst-len': 0,
  'family': 2,
  'flags': 0,
  'protocol': 2,
  'src-len': 0,
  'suppress-prefixlen': '0xffffffff',
  'table': 255,
  'tos': 0},
  ... ]

Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
---
 Documentation/netlink/specs/rt_rule.yaml | 240 +++++++++++++++++++++++
 1 file changed, 240 insertions(+)
 create mode 100644 Documentation/netlink/specs/rt_rule.yaml

diff --git a/Documentation/netlink/specs/rt_rule.yaml b/Documentation/netlink/specs/rt_rule.yaml
new file mode 100644
index 000000000000..736bcdb25738
--- /dev/null
+++ b/Documentation/netlink/specs/rt_rule.yaml
@@ -0,0 +1,240 @@
+# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
+
+name: rt-rule
+protocol: netlink-raw
+protonum: 0
+
+doc:
+  FIB rule management over rtnetlink.
+
+definitions:
+  -
+    name: rtgenmsg
+    type: struct
+    members:
+      -
+        name: family
+        type: u8
+      -
+        name: pad
+        type: pad
+        len: 3
+  -
+    name: fib-rule-hdr
+    type: struct
+    members:
+      -
+        name: family
+        type: u8
+      -
+        name: dst-len
+        type: u8
+      -
+        name: src-len
+        type: u8
+      -
+        name: tos
+        type: u8
+      -
+        name: table
+        type: u8
+      -
+        name: res1
+        type: pad
+        len: 1
+      -
+        name: res2
+        type: pad
+        len: 1
+      -
+        name: action
+        type: u8
+        enum: fr-act
+      -
+        name: flags
+        type: u32
+  -
+    name: fr-act
+    type: enum
+    entries:
+      - unspec
+      - to-tbl
+      - goto
+      - nop
+      - res3
+      - res4
+      - blackhole
+      - unreachable
+      - prohibit
+  -
+    name: fib-rule-port-range
+    type: struct
+    members:
+      -
+        name: start
+        type: u16
+      -
+        name: end
+        type: u16
+  -
+    name: fib-rule-uid-range
+    type: struct
+    members:
+      -
+        name: start
+        type: u16
+      -
+        name: end
+        type: u16
+
+attribute-sets:
+  -
+    name: fib-rule-attrs
+    attributes:
+      -
+        name: dst
+        type: u32
+      -
+        name: src
+        type: u32
+      -
+        name: iifname
+        type: string
+      -
+        name: goto
+        type: u32
+      -
+        name: unused2
+        type: pad
+      -
+        name: priority
+        type: u32
+      -
+        name: unused3
+        type: pad
+      -
+        name: unused4
+        type: pad
+      -
+        name: unused5
+        type: pad
+      -
+        name: fwmark
+        type: u32
+        display-hint: hex
+      -
+        name: flow
+        type: u32
+      -
+        name: tun-id
+        type: u64
+      -
+        name: suppress-ifgroup
+        type: u32
+      -
+        name: suppress-prefixlen
+        type: u32
+        display-hint: hex
+      -
+        name: table
+        type: u32
+      -
+        name: fwmask
+        type: u32
+        display-hint: hex
+      -
+        name: oifname
+        type: string
+      -
+        name: pad
+        type: pad
+      -
+        name: l3mdev
+        type: u8
+      -
+        name: uid-range
+        type: binary
+        struct: fib-rule-uid-range
+      -
+        name: protocol
+        type: u8
+      -
+        name: ip-proto
+        type: u8
+      -
+        name: sport-range
+        type: binary
+        struct: fib-rule-port-range
+      -
+        name: dport-range
+        type: binary
+        struct: fib-rule-port-range
+
+operations:
+  enum-model: directional
+  fixed-header: fib-rule-hdr
+  list:
+    -
+      name: newrule
+      doc: Add new FIB rule
+      attribute-set: fib-rule-attrs
+      do:
+        request:
+          value: 32
+          attributes: &fib-rule-all
+            - iifname
+            - oifname
+            - priority
+            - fwmark
+            - flow
+            - tun-id
+            - fwmask
+            - table
+            - suppress-prefixlen
+            - suppress-ifgroup
+            - goto
+            - l3mdev
+            - uid-range
+            - protocol
+            - ip-proto
+            - sport-range
+            - dport-range
+    -
+      name: newrule-ntf
+      doc: Notify a rule creation
+      value: 32
+      notify: newrule
+    -
+      name: delrule
+      doc: Remove an existing FIB rule
+      attribute-set: fib-rule-attrs
+      do:
+        request:
+          value: 33
+          attributes: *fib-rule-all
+    -
+      name: delrule-ntf
+      doc: Notify a rule deletion
+      value: 33
+      notify: delrule
+    -
+      name: getrule
+      doc: Dump all FIB rules
+      attribute-set: fib-rule-attrs
+      dump:
+        request:
+          value: 34
+          attributes:
+            - nsid
+        reply:
+          value: 32
+          attributes: *fib-rule-all
+
+mcast-groups:
+  list:
+    -
+      name: rtnlgrp-ipv4-rule
+      value: 8
+    -
+      name: rtnlgrp-ipv6-rule
+      value: 19
-- 
2.47.0


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

* Re: [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management
  2024-11-04 16:53 ` [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management Donald Hunter
@ 2024-11-04 18:24   ` Ido Schimmel
  2024-11-05 11:06     ` Donald Hunter
  2024-11-04 18:45   ` Stanislav Fomichev
  1 sibling, 1 reply; 7+ messages in thread
From: Ido Schimmel @ 2024-11-04 18:24 UTC (permalink / raw)
  To: Donald Hunter
  Cc: netdev, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman, donald.hunter, gnault

On Mon, Nov 04, 2024 at 04:53:52PM +0000, Donald Hunter wrote:
> Add a YNL spec for FIB rules:
> 
> ./tools/net/ynl/cli.py \
>     --spec Documentation/netlink/specs/rt_rule.yaml \
>     --dump getrule --json '{"family": 2}'
> 
> [{'action': 'to-tbl',
>   'dst-len': 0,
>   'family': 2,
>   'flags': 0,
>   'protocol': 2,
>   'src-len': 0,
>   'suppress-prefixlen': '0xffffffff',
>   'table': 255,
>   'tos': 0},
>   ... ]
> 
> Signed-off-by: Donald Hunter <donald.hunter@gmail.com>

[...]

> +attribute-sets:
> +  -
> +    name: fib-rule-attrs
> +    attributes:
> +      -
> +        name: dst
> +        type: u32
> +      -
> +        name: src
> +        type: u32
> +      -
> +        name: iifname
> +        type: string
> +      -
> +        name: goto
> +        type: u32
> +      -
> +        name: unused2
> +        type: pad
> +      -
> +        name: priority
> +        type: u32
> +      -
> +        name: unused3
> +        type: pad
> +      -
> +        name: unused4
> +        type: pad
> +      -
> +        name: unused5
> +        type: pad
> +      -
> +        name: fwmark
> +        type: u32
> +        display-hint: hex
> +      -
> +        name: flow
> +        type: u32
> +      -
> +        name: tun-id
> +        type: u64
> +      -
> +        name: suppress-ifgroup
> +        type: u32
> +      -
> +        name: suppress-prefixlen
> +        type: u32
> +        display-hint: hex
> +      -
> +        name: table
> +        type: u32
> +      -
> +        name: fwmask
> +        type: u32
> +        display-hint: hex
> +      -
> +        name: oifname
> +        type: string
> +      -
> +        name: pad
> +        type: pad
> +      -
> +        name: l3mdev
> +        type: u8
> +      -
> +        name: uid-range
> +        type: binary
> +        struct: fib-rule-uid-range
> +      -
> +        name: protocol
> +        type: u8
> +      -
> +        name: ip-proto
> +        type: u8
> +      -
> +        name: sport-range
> +        type: binary
> +        struct: fib-rule-port-range
> +      -
> +        name: dport-range
> +        type: binary
> +        struct: fib-rule-port-range

Donald,

We added a new DSCP attribute in the last release. Can you please
include it in the spec? Tested the following diff [1].

Thanks!

[1]
diff --git a/Documentation/netlink/specs/rt_rule.yaml b/Documentation/netlink/specs/rt_rule.yaml
index 736bcdb25738..8d1a594e851d 100644
--- a/Documentation/netlink/specs/rt_rule.yaml
+++ b/Documentation/netlink/specs/rt_rule.yaml
@@ -169,6 +169,9 @@ attribute-sets:
         name: dport-range
         type: binary
         struct: fib-rule-port-range
+      -
+        name: dscp
+        type: u8
 
 operations:
   enum-model: directional
@@ -199,6 +202,7 @@ operations:
             - ip-proto
             - sport-range
             - dport-range
+            - dscp
     -
       name: newrule-ntf
       doc: Notify a rule creation

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

* Re: [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management
  2024-11-04 16:53 ` [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management Donald Hunter
  2024-11-04 18:24   ` Ido Schimmel
@ 2024-11-04 18:45   ` Stanislav Fomichev
  2024-11-05 11:10     ` Donald Hunter
  1 sibling, 1 reply; 7+ messages in thread
From: Stanislav Fomichev @ 2024-11-04 18:45 UTC (permalink / raw)
  To: Donald Hunter
  Cc: netdev, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman, donald.hunter

On 11/04, Donald Hunter wrote:
> Add a YNL spec for FIB rules:
> 
> ./tools/net/ynl/cli.py \
>     --spec Documentation/netlink/specs/rt_rule.yaml \
>     --dump getrule --json '{"family": 2}'
> 
> [{'action': 'to-tbl',
>   'dst-len': 0,
>   'family': 2,
>   'flags': 0,
>   'protocol': 2,
>   'src-len': 0,
>   'suppress-prefixlen': '0xffffffff',
>   'table': 255,
>   'tos': 0},
>   ... ]
> 
> Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
> ---
>  Documentation/netlink/specs/rt_rule.yaml | 240 +++++++++++++++++++++++
>  1 file changed, 240 insertions(+)
>  create mode 100644 Documentation/netlink/specs/rt_rule.yaml
> 
> diff --git a/Documentation/netlink/specs/rt_rule.yaml b/Documentation/netlink/specs/rt_rule.yaml
> new file mode 100644
> index 000000000000..736bcdb25738
> --- /dev/null
> +++ b/Documentation/netlink/specs/rt_rule.yaml
> @@ -0,0 +1,240 @@
> +# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
> +
> +name: rt-rule
> +protocol: netlink-raw
> +protonum: 0
> +
> +doc:
> +  FIB rule management over rtnetlink.
> +
> +definitions:
> +  -
> +    name: rtgenmsg
> +    type: struct
> +    members:
> +      -
> +        name: family
> +        type: u8
> +      -
> +        name: pad
> +        type: pad
> +        len: 3
> +  -
> +    name: fib-rule-hdr
> +    type: struct
> +    members:
> +      -
> +        name: family
> +        type: u8
> +      -
> +        name: dst-len
> +        type: u8
> +      -
> +        name: src-len
> +        type: u8
> +      -
> +        name: tos
> +        type: u8
> +      -
> +        name: table
> +        type: u8
> +      -
> +        name: res1
> +        type: pad
> +        len: 1
> +      -
> +        name: res2
> +        type: pad
> +        len: 1
> +      -
> +        name: action
> +        type: u8
> +        enum: fr-act
> +      -
> +        name: flags
> +        type: u32
> +  -
> +    name: fr-act
> +    type: enum
> +    entries:
> +      - unspec
> +      - to-tbl
> +      - goto
> +      - nop
> +      - res3
> +      - res4
> +      - blackhole
> +      - unreachable
> +      - prohibit
> +  -
> +    name: fib-rule-port-range
> +    type: struct
> +    members:
> +      -
> +        name: start
> +        type: u16
> +      -
> +        name: end
> +        type: u16
> +  -

[..]

> +    name: fib-rule-uid-range
> +    type: struct
> +    members:
> +      -
> +        name: start
> +        type: u16
> +      -
> +        name: end
> +        type: u16

Should be u32?

struct fib_rule_uid_range {
        __u32           start;
        __u32           end;
};

Otherwise, both patches look good:

Acked-by: Stanislav Fomichev <sdf@fomichev.me>

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

* Re: [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management
  2024-11-04 18:24   ` Ido Schimmel
@ 2024-11-05 11:06     ` Donald Hunter
  0 siblings, 0 replies; 7+ messages in thread
From: Donald Hunter @ 2024-11-05 11:06 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: netdev, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman, donald.hunter, gnault

Ido Schimmel <idosch@idosch.org> writes:

>
> Donald,
>
> We added a new DSCP attribute in the last release. Can you please
> include it in the spec? Tested the following diff [1].
>
> Thanks!
>
> [1]

Good catch, thanks! Diff applied for v2.

> diff --git a/Documentation/netlink/specs/rt_rule.yaml b/Documentation/netlink/specs/rt_rule.yaml
> index 736bcdb25738..8d1a594e851d 100644
> --- a/Documentation/netlink/specs/rt_rule.yaml
> +++ b/Documentation/netlink/specs/rt_rule.yaml
> @@ -169,6 +169,9 @@ attribute-sets:
>          name: dport-range
>          type: binary
>          struct: fib-rule-port-range
> +      -
> +        name: dscp
> +        type: u8
>  
>  operations:
>    enum-model: directional
> @@ -199,6 +202,7 @@ operations:
>              - ip-proto
>              - sport-range
>              - dport-range
> +            - dscp
>      -
>        name: newrule-ntf
>        doc: Notify a rule creation

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

* Re: [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management
  2024-11-04 18:45   ` Stanislav Fomichev
@ 2024-11-05 11:10     ` Donald Hunter
  0 siblings, 0 replies; 7+ messages in thread
From: Donald Hunter @ 2024-11-05 11:10 UTC (permalink / raw)
  To: Stanislav Fomichev
  Cc: netdev, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman, donald.hunter

Stanislav Fomichev <stfomichev@gmail.com> writes:

>> +    name: fib-rule-uid-range
>> +    type: struct
>> +    members:
>> +      -
>> +        name: start
>> +        type: u16
>> +      -
>> +        name: end
>> +        type: u16
>
> Should be u32?
>
> struct fib_rule_uid_range {
>         __u32           start;
>         __u32           end;
> };

Ah, well spotted. Looks like I didn't fix up a copy-paste from
fib-rule-port-range.

Thanks!

> Otherwise, both patches look good:
>
> Acked-by: Stanislav Fomichev <sdf@fomichev.me>

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

end of thread, other threads:[~2024-11-05 11:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-04 16:53 [PATCH net-next v1 0/2] netlink: specs: Add neigh and rule YNL specs Donald Hunter
2024-11-04 16:53 ` [PATCH net-next v1 1/2] netlink: specs: Add a spec for neighbor tables in rtnetlink Donald Hunter
2024-11-04 16:53 ` [PATCH net-next v1 2/2] netlink: specs: Add a spec for FIB rule management Donald Hunter
2024-11-04 18:24   ` Ido Schimmel
2024-11-05 11:06     ` Donald Hunter
2024-11-04 18:45   ` Stanislav Fomichev
2024-11-05 11:10     ` Donald Hunter

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).