RE: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition

2023-10-24 Thread Zhang, Qi Z
> -Original Message- > From: Radu Nicolau > Sent: Tuesday, October 24, 2023 5:13 PM > To: Wu, Jingjing ; Xing, Beilei > Cc: dev@dpdk.org; Nicolau, Radu ; > sta...@dpdk.org > Subject: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition > > IAVF_TX_OFFLOAD_MASK definition contained >

Re: [PATCH 0/4] add telemetry commands for TM capabilities

2023-10-24 Thread Jie Hai
Hi, all maintainers, Kindly ping for review. Thanks, Jie Hai On 2023/10/18 9:39, Jie Hai wrote: This patch adds telemetry commands for TM capabilities and make some bufix for hns3 driver. Jie Hai (4): net/hns3: fix a typo ethdev: add telemetry command for TM capabilities ethdev: add

Re: [PATCH v7 0/3] add telemetry cmds for ring

2023-10-24 Thread Jie Hai
Hi, Thomas, Kindly ping for review. Thanks, Jie Hai On 2023/7/4 17:04, Jie Hai wrote: This patch set supports telemetry cmd to list rings and dump information of a ring by its name. v1->v2: 1. Add space after "switch". 2. Fix wrong strlen parameter. v2->v3: 1. Remove prefix "rte_" for stati

RE: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition

2023-10-24 Thread Zhang, Qi Z
> -Original Message- > From: Nicolau, Radu > Sent: Tuesday, October 24, 2023 10:49 PM > To: Zhang, Qi Z ; Marchand, David > > Cc: Wu, Jingjing ; Xing, Beilei > ; > dev@dpdk.org; sta...@dpdk.org > Subject: Re: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition > > > On 24-Oct-23 12

[PATCH] remove unnecessary null check before free/rte_free

2023-10-24 Thread Stephen Hemminger
This is the latest round of places that are checking for NULL pointer before calling free or rte_free. It is result of applying the nullfree.cocci script. Signed-off-by: Stephen Hemminger --- app/test/test_cryptodev_asym.c | 3 +-- app/test/test_reassembly_perf.c | 3 +-- drivers/net/bnxt/bnx

[PATCH v3 7/7] net/mlx5/hws: fix integrity bits level

2023-10-24 Thread Alexander Kozyrev
The level field in the integrity item is not taken into account in the current implementation of hardware steering. Use this value instead of trying to find out the encapsulation level according to the protocol items involved. Fixes: c55c2bf35333 ("net/mlx5/hws: add definer layer") Signed-off-by:

[PATCH v3 4/7] doc: add PMD ptype item limitations

2023-10-24 Thread Alexander Kozyrev
From: Michael Baum Add limitations for ptype item support in "mlx5.rst" file. Signed-off-by: Michael Baum --- doc/guides/nics/features/mlx5.ini | 1 + doc/guides/nics/mlx5.rst | 15 +++ 2 files changed, 16 insertions(+) diff --git a/doc/guides/nics/features/mlx5.ini b/d

[PATCH v3 6/7] net/mlx5/hws: remove csum check from L3 ok check

2023-10-24 Thread Alexander Kozyrev
From: Michael Baum This patch changes the integrity item behavior for HW steering. Old behavior: the "ipv4_csum_ok" checks only IPv4 checksum and "l3_ok" checks everything is ok including IPv4 checksum. New behavior: the "l3_ok" checks everything is ok excluding IPv4 checksum. This change enab

[PATCH v3 5/7] doc: add packet type matching item to release notes

2023-10-24 Thread Alexander Kozyrev
Document new RTE_FLOW_ITEM_TYPE_PTYPE in the release notes. Signed-off-by: Alexander Kozyrev --- doc/guides/rel_notes/release_23_11.rst | 4 1 file changed, 4 insertions(+) diff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst index 0a6fc76a9d..548e3

[PATCH v3 2/7] net/mlx5: add support for ptype match in hardware steering

2023-10-24 Thread Alexander Kozyrev
The packet type matching provides quick way of finding out L2/L3/L4 protocols in a given packet. That helps with optimized flow rules matching, eliminating the need of stacking all the packet headers in the matching criteria. Signed-off-by: Alexander Kozyrev --- drivers/net/mlx5/hws/mlx5dr_defin

[PATCH v3 3/7] net/mlx5/hws: add support for fragmented ptype match

2023-10-24 Thread Alexander Kozyrev
Expand packet type matching with support of the Fragmented IP (Internet Protocol) packet type. Signed-off-by: Alexander Kozyrev --- drivers/net/mlx5/hws/mlx5dr_definer.c | 54 ++- drivers/net/mlx5/hws/mlx5dr_definer.h | 2 + 2 files changed, 46 insertions(+), 10 deletion

[PATCH v3 1/7] ethdev: fix ESP packet type description

2023-10-24 Thread Alexander Kozyrev
The correct protocol number for ESP (IP Encapsulating Security Payload) packet type is 50. 51 is IPSec AH (Authentication Header). Fixes: 1e84afd3906b ("mbuf: add security crypto flags and fields") Signed-off-by: Alexander Kozyrev --- lib/mbuf/rte_mbuf_ptype.h | 4 ++-- 1 file changed, 2 inserti

[PATCH v3 0/7] ptype matching support in mlx5

2023-10-24 Thread Alexander Kozyrev
Add support for RTE_FLOW_ITEM_TYPE_PTYPE in mlx5 PMD. Alexander Kozyrev (5): ethdev: fix ESP packet type description net/mlx5: add support for ptype match in hardware steering net/mlx5/hws: add support for fragmented ptype match doc: add packet type matching item to release notes net/mlx

[PATCH v3] eal/linux: verify mmu type for DPDK support (ppc64le)

2023-10-24 Thread David Christensen
IBM POWER systems support more than one type of memory management unit (MMU). The Power ISA 3.0 specification, which applies to P9 and later CPUs, defined a new Radix MMU which, among other things, allows an anonymous memory page mapping to be converted into a hugepage mapping at a specific addres

RE: [PATCH v2 19/19] ring: use rte optional stdatomic API

2023-10-24 Thread Morten Brørup
> From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > Sent: Tuesday, 24 October 2023 17.59 > > On Tue, Oct 24, 2023 at 11:56:11AM +0200, Morten Brørup wrote: > > > From: Konstantin Ananyev [mailto:konstantin.v.anan...@yandex.ru] > > > Sent: Tuesday, 24 October 2023 10.43 > > > > > > 17.10

[PATCH] vhost: make experimental API's stable

2023-10-24 Thread Stephen Hemminger
Transistion API's added from 2008 to 2022 to stable; except for async API's that are planned to be deprecated. Signed-off-by: Stephen Hemminger --- lib/vhost/rte_vhost.h| 5 - lib/vhost/rte_vhost_async.h | 4 lib/vhost/rte_vhost_crypto.h | 1 - lib/vhost/version.map|

Re: [PATCH v2 19/19] ring: use rte optional stdatomic API

2023-10-24 Thread Tyler Retzlaff
On Tue, Oct 24, 2023 at 09:43:13AM +0100, Konstantin Ananyev wrote: > 17.10.2023 21:31, Tyler Retzlaff пишет: > >Replace the use of gcc builtin __atomic_xxx intrinsics with > >corresponding rte_atomic_xxx optional stdatomic API > > > >Signed-off-by: Tyler Retzlaff > >--- > > drivers/net/mlx5/mlx5

Re: [PATCH v2 1/2] build: fix list_dir_globs failure in MSYS2

2023-10-24 Thread Ric Li
On 2023/10/11 23:34, Bruce Richardson wrote: > On Wed, Oct 11, 2023 at 05:27:22PM +0200, Thomas Monjalon wrote: >> 20/09/2023 16:18, Ric Li: >>> When running 'meson setup' on Windows with MSYS2, >>> "list-dir-globs.py * failed with status 1". >> >> We don't know why it is failing? >> What about

Re: [PATCH 00/20] remove experimental flag from some API's

2023-10-24 Thread Stephen Hemminger
On Tue, 24 Oct 2023 09:20:05 +0200 Maxime Coquelin wrote: > You removed Vhost changes altogether, but I only asked for the Vhost > Async API changes to be removed, i.e. the APIs in rte_vhost_async.h. > > Maxime Will get back to vhost, just moved it to the end of the TODO list.

Re: [PATCH] eal/unix: allow creating thread with real-time priority

2023-10-24 Thread Stephen Hemminger
On Tue, 24 Oct 2023 15:55:13 +0200 Morten Brørup wrote: > > > >4. It MAY be used by preemptible multi-producer and/or preemptible multi- > > consumer pthreads whose scheduling policy are all SCHED_OTHER(cfs), > > SCHED_IDLE > > or SCHED_BATCH. User SHOULD be aware of the performance penalty

Re: [PATCH v2 19/19] ring: use rte optional stdatomic API

2023-10-24 Thread Tyler Retzlaff
On Tue, Oct 24, 2023 at 11:56:11AM +0200, Morten Brørup wrote: > > From: Konstantin Ananyev [mailto:konstantin.v.anan...@yandex.ru] > > Sent: Tuesday, 24 October 2023 10.43 > > > > 17.10.2023 21:31, Tyler Retzlaff пишет: > > > Replace the use of gcc builtin __atomic_xxx intrinsics with > > > corre

RE: [PATCH 4/5] net/ena: add support for ena-express metrics

2023-10-24 Thread Brandes, Shai
On Tue, 24 Oct 2023 13:21:27 +0300 wrote: >> struct ena_offloads { >> uint32_t tx_offloads; >> uint32_t rx_offloads; >> @@ -329,6 +346,7 @@ struct ena_adapter { >>*/ >> uint64_t metrics_stats[ENA_MAX_CUSTOMER_METRICS] __rte_cache_aligned; >> uint16_t metrics_num

Re: [PATCH 4/5] net/ena: add support for ena-express metrics

2023-10-24 Thread Stephen Hemminger
On Tue, 24 Oct 2023 13:21:27 +0300 wrote: > struct ena_offloads { > uint32_t tx_offloads; > uint32_t rx_offloads; > @@ -329,6 +346,7 @@ struct ena_adapter { >*/ > uint64_t metrics_stats[ENA_MAX_CUSTOMER_METRICS] __rte_cache_aligned; > uint16_t metrics_num; > +

Re: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition

2023-10-24 Thread Radu Nicolau
On 24-Oct-23 12:24 PM, Zhang, Qi Z wrote: -Original Message- From: Radu Nicolau Sent: Tuesday, October 24, 2023 6:23 PM To: Marchand, David Cc: Wu, Jingjing ; Xing, Beilei ; dev@dpdk.org; sta...@dpdk.org Subject: Re: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition On 24-Oct-

RE: [PATCH] eal/unix: allow creating thread with real-time priority

2023-10-24 Thread Morten Brørup
> From: Thomas Monjalon [mailto:tho...@monjalon.net] > Sent: Tuesday, 24 October 2023 14.54 > > When adding an API for creating threads, > the real-time priority has been forbidden on Unix. > > There is a known issue with ring behaviour, > but it should not be completely forbidden. > > Fixes: ca

Re: [PATCH v5 00/40] support setting and querying RSS algorithms

2023-10-24 Thread lihuisong (C)
在 2023/10/17 22:26, Ferruh Yigit 写道: On 10/17/2023 3:06 PM, Thomas Monjalon wrote: Hello, 11/10/2023 11:27, Jie Hai: app/proc-info/main.c | 32 ++- app/test-pmd/cmdline.c | 29 ++--- app/test-pmd/config.c | 38 +++

[PATCH] eal/unix: allow creating thread with real-time priority

2023-10-24 Thread Thomas Monjalon
When adding an API for creating threads, the real-time priority has been forbidden on Unix. There is a known issue with ring behaviour, but it should not be completely forbidden. Fixes: ca04c78b6262 ("eal: get/set thread priority per thread identifier") Fixes: ce6e911d20f6 ("eal: add thread lifet

Re: [PATCH v5 02/40] ethdev: support setting and querying RSS algorithm

2023-10-24 Thread Jie Hai
On 2023/10/12 10:21, fengchengwen wrote: On 2023/10/12 1:39, Stephen Hemminger wrote: On Wed, 11 Oct 2023 17:27:27 +0800 Jie Hai wrote: Currently, rte_eth_rss_conf supports configuring and querying RSS hash functions, rss key and it's length, but not RSS hash algorithm. The structure ``rte

Re: [RFC PATCH v4 1/4] dts: code adjustments for sphinx

2023-10-24 Thread Yoan Picchi
On 10/24/23 07:39, Juraj Linkeš wrote: On Mon, Oct 23, 2023 at 1:52 PM Yoan Picchi wrote: On 10/23/23 07:44, Juraj Linkeš wrote: My only nitpick comment would be on the name of the file common.py that only contain the MesonArgs class. Looks good otherwise Could you elaborate a bit more,

Re: [PATCH v1 1/3] ethdev: introduce maximum Rx buffer size

2023-10-24 Thread lihuisong (C)
Hi Ferruh, Very very sorry for my delay reply. I missed your email.🙁 在 2023/9/28 23:56, Ferruh Yigit 写道: On 8/15/2023 12:10 PM, Huisong Li wrote: The Rx buffer size stands for the size hardware supported to receive packets in one mbuf. The "min_rx_bufsize" is the minimum buffer hardware suppo

RE: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition

2023-10-24 Thread Zhang, Qi Z
> -Original Message- > From: Radu Nicolau > Sent: Tuesday, October 24, 2023 6:23 PM > To: Marchand, David > Cc: Wu, Jingjing ; Xing, Beilei > ; > dev@dpdk.org; sta...@dpdk.org > Subject: Re: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition > > > On 24-Oct-23 10:49 AM, David Marc

Re: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition

2023-10-24 Thread Radu Nicolau
On 24-Oct-23 10:49 AM, David Marchand wrote: On Tue, Oct 24, 2023 at 11:13 AM Radu Nicolau wrote: IAVF_TX_OFFLOAD_MASK definition contained RTE_ETH_TX_OFFLOAD_SECURITY instead of RTE_MBUF_F_TX_SEC_OFFLOAD. Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto") Cc: sta...@dpdk.org Sig

[PATCH 5/5] net/ena: update ena version to 2.8.0

2023-10-24 Thread shaibran
From: Shai Brandes This release introduces: * Upgraded ENA HAL. * Support for connection tracking allowance utilization metric. * Support for reporting rx overrun errors in xstats. * Support for ENA-express metrics. Signed-off-by: Shai Brandes Reviewed-by: Amit Bernstein --- drivers/net/ena/e

[PATCH 4/5] net/ena: add support for ena-express metrics

2023-10-24 Thread shaibran
From: Shai Brandes ENA-express is powered by AWS scalable reliable datagram (SRD) technology. SRD is a high performance network transport protocol that uses dynamic routing to increase throughput and minimize tail latency. The driver expose the following ENA-express metrics via xstats: * ena_srd

[PATCH 3/5] net/ena: report Rx overrun errors in xstats

2023-10-24 Thread shaibran
From: Shai Brandes RX overrun error occur when a packet arrives but there are not enough free buffers in the RX ring to receive it. The driver publishes the extended statistics with the RX buffer overrun errors as reported by the device. Signed-off-by: Shai Brandes Reviewed-by: Amit Bernstein

[PATCH 2/5] net/ena: add support for connection tracking metric

2023-10-24 Thread shaibran
From: Shai Brandes The driver publishes network performance metrics that the application can use to troubleshoot performance issues, monitor the workload, and benchmark applications to determine whether they maximize the performance. This patch adds support for the connection tracking allowance

[PATCH 1/5] net/ena: hal upgrade

2023-10-24 Thread shaibran
From: Shai Brandes ENA maintains a HAL that is shared by all supported host drivers. Main features introduced to the HAL: [1] Reworked the mechanism that queries the performance metrics from the device. [2] Added support for a new metric that allows monitoring the available tracked connec

[PATCH 0/5] net/ena: v2.8.0 driver release

2023-10-24 Thread shaibran
From: Shai Brandes Hi, This patchset contains alignment of the driver to the latest HAL version which adds support for retrieving new metrics from the device and opens a path to use additional device features that are not yet supported by the driver. The new driver features are mostly about add

RE: [PATCH v2 19/19] ring: use rte optional stdatomic API

2023-10-24 Thread Morten Brørup
> From: Konstantin Ananyev [mailto:konstantin.v.anan...@yandex.ru] > Sent: Tuesday, 24 October 2023 10.43 > > 17.10.2023 21:31, Tyler Retzlaff пишет: > > Replace the use of gcc builtin __atomic_xxx intrinsics with > > corresponding rte_atomic_xxx optional stdatomic API > > > > Signed-off-by: Tyler

Re: [PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition

2023-10-24 Thread David Marchand
On Tue, Oct 24, 2023 at 11:13 AM Radu Nicolau wrote: > > IAVF_TX_OFFLOAD_MASK definition contained > RTE_ETH_TX_OFFLOAD_SECURITY instead of > RTE_MBUF_F_TX_SEC_OFFLOAD. > > Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto") > Cc: sta...@dpdk.org > > Signed-off-by: Radu Nicolau Somethi

Re: [PATCH] net/iavf: fix Tx offloading flags check

2023-10-24 Thread David Marchand
On Tue, Oct 24, 2023 at 11:04 AM Radu Nicolau wrote: > On 24-Oct-23 9:44 AM, David Marchand wrote: > > On Tue, Oct 24, 2023 at 10:40 AM Radu Nicolau > > wrote: > >> > >> On 24-Oct-23 6:42 AM, Zhang, Qi Z wrote: > -Original Message- > From: Radu Nicolau > Sent: Tuesday, Oc

[PATCH] net/iavf: fix IAVF_TX_OFFLOAD_MASK definition

2023-10-24 Thread Radu Nicolau
IAVF_TX_OFFLOAD_MASK definition contained RTE_ETH_TX_OFFLOAD_SECURITY instead of RTE_MBUF_F_TX_SEC_OFFLOAD. Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto") Cc: sta...@dpdk.org Signed-off-by: Radu Nicolau --- drivers/net/iavf/iavf_rxtx.h | 2 +- 1 file changed, 1 insertion(+), 1 de

Re: Eventdev dequeue-enqueue event correlation

2023-10-24 Thread Bruce Richardson
On Tue, Oct 24, 2023 at 09:10:30AM +0100, Bruce Richardson wrote: > On Mon, Oct 23, 2023 at 06:10:54PM +0200, Mattias Rönnblom wrote: > > Hi. > > > > Consider an Eventdev app using atomic-type scheduling doing something like: > > > > struct rte_event events[3]; > > > > rte_event_dequeue_

Re: [PATCH] net/iavf: fix Tx offloading flags check

2023-10-24 Thread Radu Nicolau
On 24-Oct-23 9:44 AM, David Marchand wrote: On Tue, Oct 24, 2023 at 10:40 AM Radu Nicolau wrote: On 24-Oct-23 6:42 AM, Zhang, Qi Z wrote: -Original Message- From: Radu Nicolau Sent: Tuesday, October 24, 2023 12:38 AM To: Wu, Jingjing ; Xing, Beilei Cc: dev@dpdk.org; Nicolau, Radu

Re: [PATCH v2 11/19] stack: use rte optional stdatomic API

2023-10-24 Thread Konstantin Ananyev
17.10.2023 21:31, Tyler Retzlaff пишет: Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API Signed-off-by: Tyler Retzlaff --- lib/stack/rte_stack.h| 2 +- lib/stack/rte_stack_lf_c11.h | 24

Re: [PATCH v2 08/19] mempool: use rte optional stdatomic API

2023-10-24 Thread Konstantin Ananyev
17.10.2023 21:31, Tyler Retzlaff пишет: Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API Signed-off-by: Tyler Retzlaff --- lib/mempool/rte_mempool.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/memp

Re: [PATCH v2 07/19] mbuf: use rte optional stdatomic API

2023-10-24 Thread Konstantin Ananyev
17.10.2023 21:31, Tyler Retzlaff пишет: Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API Signed-off-by: Tyler Retzlaff --- lib/mbuf/rte_mbuf.h | 20 ++-- lib/mbuf/rte_mbuf_core.h | 5 +++-- 2 files changed,

Re: [PATCH] net/iavf: fix Tx offloading flags check

2023-10-24 Thread David Marchand
On Tue, Oct 24, 2023 at 10:40 AM Radu Nicolau wrote: > > > On 24-Oct-23 6:42 AM, Zhang, Qi Z wrote: > > > >> -Original Message- > >> From: Radu Nicolau > >> Sent: Tuesday, October 24, 2023 12:38 AM > >> To: Wu, Jingjing ; Xing, Beilei > >> > >> Cc: dev@dpdk.org; Nicolau, Radu ; > >> sta

Re: [PATCH v2 06/19] ipsec: use rte optional stdatomic API

2023-10-24 Thread Konstantin Ananyev
17.10.2023 21:31, Tyler Retzlaff пишет: Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API Signed-off-by: Tyler Retzlaff --- lib/ipsec/ipsec_sqn.h | 2 +- lib/ipsec/sa.h| 2 +- 2 files changed, 2 insertions(+), 2 deletions

Re: [PATCH v2 19/19] ring: use rte optional stdatomic API

2023-10-24 Thread Konstantin Ananyev
17.10.2023 21:31, Tyler Retzlaff пишет: Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API Signed-off-by: Tyler Retzlaff --- drivers/net/mlx5/mlx5_hws_cnt.h | 2 +- lib/ring/rte_ring_c11_pvt.h | 33 +---

Re: [PATCH] net/iavf: fix Tx offloading flags check

2023-10-24 Thread Radu Nicolau
On 24-Oct-23 6:42 AM, Zhang, Qi Z wrote: -Original Message- From: Radu Nicolau Sent: Tuesday, October 24, 2023 12:38 AM To: Wu, Jingjing ; Xing, Beilei Cc: dev@dpdk.org; Nicolau, Radu ; sta...@dpdk.org; Marchand, David Subject: [PATCH] net/iavf: fix Tx offloading flags check Use I

Re: Eventdev dequeue-enqueue event correlation

2023-10-24 Thread Bruce Richardson
On Mon, Oct 23, 2023 at 06:10:54PM +0200, Mattias Rönnblom wrote: > Hi. > > Consider an Eventdev app using atomic-type scheduling doing something like: > > struct rte_event events[3]; > > rte_event_dequeue_burst(dev_id, port_id, events, 3, 0); > > /* Assume three events were dequeue

RE: [PATCH v12 04/16] baseband/acc: introduce PMD for ACC200

2023-10-24 Thread Chautru, Nicolas
Hi Thomas, With regards to your statement "igb_uio is going to be deprecated". Can you please clarify whether this intent is being documented or captured anywhere please? In any technical meeting minutes or any other DPDK doc or communication, as I could not find it? Much appreciated, Nic > -

Re: [PATCH 00/20] remove experimental flag from some API's

2023-10-24 Thread Maxime Coquelin
On 8/8/23 19:35, Stephen Hemminger wrote: Since 23.11 is an LTS release it is time to remove the experimental bandaid off many API's. There are about 850 API's marked with experimental on current main branch. This addresses the easy to remove ones and gets it down to about 690 places. The rul