On 01/22, Xing, Beilei wrote:
>
>
>> -Original Message-
>> From: Ye, Xiaolong
>> Sent: Wednesday, January 22, 2020 11:58 AM
>> To: Xing, Beilei ; Zhang, Qi Z
>> Cc: dev@dpdk.org; Ye, Xiaolong
>> Subject: [PATCH] net/i40e/base: skip further adminq init for VF
>>
>> Since VF has no need of
On Thu, 12 Dec 2019 18:43:02 +0530
wrote:
> From: Jerin Jacob
>
> Based on the techboard meeting held on 2019-11-06,
> It's been decided to disable all kmods by default from v20.02.
>
> http://mails.dpdk.org/archives/dev/2019-November/151763.html
>
> Signed-off-by: Jerin Jacob
> ---
> confi
Luca,
Update the regression test result of Intel part. See the details as below.
* Intel(R) Testing
# Basic Intel(R) NIC testing
* PF(i40e): one compile issue is found and we fix it with attached patch to go
ahead the test. All passed.
1. Bugs:make -j 110 -C test Compile failed
* PF(ixgbe): th
The patch distinguish fdir rules for GTPU with or without
extend header, so flow to match below patterns can be created
correctly.
1. eth / ipv4 / udp / gtpu teid is 10 / ...
2. eth / ipv4 / udp / gtpu teid is 10 / gtp_psc / ...
3. eth / ipv4 / udp / gtpu / gtp_psc qfi is 10 / ...
4. eth / ipv4 /
VMware Workstation 15.5.1 doesn't correctly emulate the PHY_ID_R2 register,
so assume that it has the correct value.
Signed-off-by: Dominic Chen
---
drivers/net/e1000/base/e1000_82571.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/e1000/base/e1000_82571.c
b/drivers/net
Check the lpbk_mode field of struct rte_eth_conf to determine if
loopback should be enabled. Works with 82540EM and 82574L in
QEMU 4.0.0.
Signed-off-by: Dominic Chen
---
drivers/net/e1000/base/e1000_api.c | 42 +++
drivers/net/e1000/base/e1000_api.h | 1 +
drivers/net/e1000/base/e
> Subject: [PATCH] event/dsw: use custom element size ring for control
>
> Replace DSW's use of regular DPDK rings (and code for packing/unpacking
> control messages into void pointers) with custom size rings.
>
> In addition to cleaner code, this change allows DSW to support up to the
> eventd
> -Original Message-
> From: Ye, Xiaolong
> Sent: Wednesday, January 22, 2020 11:58 AM
> To: Xing, Beilei ; Zhang, Qi Z
> Cc: dev@dpdk.org; Ye, Xiaolong
> Subject: [PATCH] net/i40e/base: skip further adminq init for VF
>
> Since VF has no need of firmware, we can skip further adminq i
Since VF has no need of firmware, we can skip further adminq init which
involves firmware operation, this patch fixes the testpmd segfault issue
when starting with i40e VF.
Fixes: d5e1a149362e ("net/i40e/base: check MAC type")
Signed-off-by: Xiaolong Ye
---
drivers/net/i40e/base/i40e_adminq.c |
From: Kiran Kumar K
Extend RSS offload types for octeontx2. Add support to select
L3 SRC, L3 DST, L4 SRC and L4 DST for RSS calculation.
Add support to select L3 SRC or DST only, L4 SRC or DST only for RSS
calculation.
With this requirement there will be following combinations,
IPV[4,6]_SRC_ONL
When the VLAN is stripped from the packet on receive the
driver must set the PKT_RX_VLAN_STRIPPED flag in the mbuf.
This is done correctly for normal receive in the bnxt driver
but was not being handled correctly in the new SSE code.
Fixes: bc4a000f2f53 ("net/bnxt: implement SSE vector mode")
Cc:
> -Original Message-
> From: Ananyev, Konstantin
> Sent: Tuesday, January 21, 2020 3:23 PM
> To: De Lara Guarch, Pablo ; Smoczynski,
> MarcinX ; akhil.go...@nxp.com; Zhang, Roy
> Fan ; Doherty, Declan ;
> Nicolau, Radu
> Cc: dev@dpdk.org; Smoczynski, MarcinX
> Subject: RE: [dpdk-dev]
Use the RTE_MIN and RTE_MAX macros instead of private macros.
Signed-off-by: John Daley
Reviewed-by: Hyong Youb Kim
---
v2 - remove the min_t and max_t macros all together
drivers/net/enic/enic_compat.h | 10 --
drivers/net/enic/enic_res.c| 20
2 files changed
You are right, just need to cast #define parameters, then can use the RTE_MIN
and MAX.
Will do a patch.
Thanks,
john
> -Original Message-
> From: Thomas Monjalon
> Sent: Sunday, January 19, 2020 12:24 PM
> To: John Daley (johndale) ; Hyong Youb Kim
> (hyonkim)
> Cc: ferruh.yi...@intel.c
14/01/2020 11:06, Bruce Richardson:
> On Mon, Jan 13, 2020 at 11:35:34AM -0800, Ranjit Menon wrote:
> > Since Anand is no longer with Intel, Pallavi will replace him
> > as maintainer.
> >
> > Signed-off-by: Ranjit Menon
> Acked-by: Bruce Richardson
Applied, thanks
09/01/2020 08:42, Ori Kam:
> From: Adrien Mazarguil
> >
> > Unfortunately due to lack of time, I've been unable to even participate to
> > flow API discussions for several months. Better make it official since this
> > is not going to improve anytime soon.
> >
> > This doesn't mean I won't contri
08/01/2020 15:13, Gaetan Rivet:
> My email address has changed, gaetan.ri...@6wind.com is no longer valid.
>
> Signed-off-by: Gaetan Rivet
> ---
>
> Sorry, I did not take the time to change it while I controlled it.
Applied
The client script for use with the telemetry library did not support
Python3, as the data being sent over the socket was in string format.
Python3 requires the data be explicitly converted to bytes before being
sent. Similarily, the received bytes need to be decoded into string
format.
Fixes: 53f2
On 1/10/2020 3:00 AM, alvinx.zh...@intel.com wrote:
> From: Alvin Zhang
>
> Add make files to igc PMD.
>
> Signed-off-by: Alvin Zhang
> ---
> drivers/net/Makefile | 1 +
> drivers/net/igc/Makefile | 83
>
> 2 files changed, 84 insertions(+
Nack - if statement should look like this:
else if (pctype == I40E_FILTER_PCTYPE_NONF_IPV4_TCP ||
pctype == I40E_FILTER_PCTYPE_NONF_IPV4_UDP ||
pctype == I40E_FILTER_PCTYPE_NONF_IPV4_SCTP ||
pctype == I40E_FILTER_PCTYPE_NONF_IPV4_OTHER ||
Remove one AES GCM scatter-gather unit test repetition
and enable this test on QAT (after a fix included in the commit
b26ef1a11f21).
Fixes: 280dce9a0f6d ("test/crypto: add capability checks")
Fixes: b26ef1a11f21 ("test/crypto: fix missing operation status check")
Signed-off-by: Adam Dybkowski
-
> -Original Message-
> From: Iremonger, Bernard
> Sent: Tuesday, January 21, 2020 4:02 PM
> To: dev@dpdk.org; Xing, Beilei ; Zhang, Qi Z
> ; Yigit, Ferruh ; Sexton, Rory
>
> Cc: Iremonger, Bernard
> Subject: [PATCH] net/i40e: fix i40e flow director merge
>
> Merge of i40e_fdir.c adde
On 1/10/2020 3:00 AM, alvinx.zh...@intel.com wrote:
> From: Alvin Zhang
>
> Add shared code source files to support basic operations to be
> called in poll mode driver.
>
> Signed-off-by: Alvin Zhang
Hi Alvin,
I would suggest a different organization of the patches.
Currently first patch dum
On Tue, 21 Jan 2020 15:01:57 +0100
Olivier Matz wrote:
> > I've checked the rte_mempool_get_priv() usage - in all header files there
> > are the type casts. The "rte_mbuf.h" contains the rte_pktmbuf_priv_size()
> > and
> > rte_pktmbuf_data_room_size(), both provide the cast. What is the reason?
On 1/21/2020 2:12 AM, Yunjian Wang wrote:
> The return check of function tap_lsc_intr_handle_set() is wrong, it should
> be 0 or a positive number if success. So the intr_handle->intr_vec was not
> been freed when tap_lsc_intr_handle_set() returned a positive number.
>
> Fixes: 4870a8cdd968 ("net/
On 1/21/2020 5:40 AM, Anoob Joseph wrote:
> Hi Ferruh,
>
> Can you review this patch?
Hi Anoob,
What is the difference between "Inline crypto" in that document and this "Inline
protocol"? Both seems providing same outpout.
Is there a way to differentiate them more clearly?
>
> Thanks,
> Anoob
Hi Ferruh,
> -Original Message-
> From: Yigit, Ferruh
> Sent: Thursday, January 16, 2020 5:43 PM
> To: Iremonger, Bernard ; dev@dpdk.org;
> Xing, Beilei ; Zhang, Qi Z ;
> Doherty, Declan
> Cc: Ananyev, Konstantin ; Byrne, Stephen1
> ; Zhang, Helin
> Subject: Re: [dpdk-dev] [PATCH v7 00/
Merge of i40e_fdir.c added checks on cus_pctype->index which are not
necessary and caused flow creation for ESP to fail.
Removed the added lines to fix the issue.
Fixes: c5f8365bc85d ("net/i40e: support flow director for L2TPv3 over IP")
Signed-off-by: Bernard Iremonger
---
drivers/net/i40e/i40
On 1/21/2020 2:35 PM, Thomas Monjalon wrote:
> Three warnings are commonly disabled in DPDK with make and meson:
> * address-of-packed-member
> always disabled
> * missing-field-initializers
> disabled with meson
> disabled with make + clang or
> > > > Add support for CPU crypto mode by introducing required handler.
> > > > Crypto mode (sync/async) is chosen during sym session create if an
> > > > appropriate flag is set in an xform type number.
> > > >
> > > > Authenticated encryption and decryption are supported with tag
> > > > gene
This commit fixes possible integer overflow for
prev_idx in build_common_root() CID 350596
and
tbl8_idx in write_edge() CID 350597
Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
overflow_before_widen: Potentially overflowing expression tbl8_idx * 256
with type int (32 bits, signed) is eval
> -Original Message-
> From: Ananyev, Konstantin
> Sent: Tuesday, January 21, 2020 2:29 PM
> To: De Lara Guarch, Pablo ; Smoczynski,
> MarcinX ; akhil.go...@nxp.com; Zhang, Roy
> Fan ; Doherty, Declan ;
> Nicolau, Radu
> Cc: dev@dpdk.org; Smoczynski, MarcinX
> Subject: RE: [dpdk-dev]
Hi Konstantin,
>
> Hi Akhil,
>
> > Hi Vladimir,
> > The SA lookup logic and management is purely requirement based for the
> application.
> >The application may only cater to <128 SAs which can
> > be handled based on the current logic.
>
> Not always, current implementation can handle < 128 SA,
Three warnings are commonly disabled in DPDK with make and meson:
* address-of-packed-member
always disabled
* missing-field-initializers
disabled with meson
disabled with make + clang or make + gcc < 4.7
disabled with
>
> SNOW3G documentation was updated recently,
> but the new table created has a duplicated name
> (same as ZUC documentation).
>
> Fixes: 912cd327ab1f ("crypto/snow3g: use IPSec library")
>
> Signed-off-by: Pablo de Lara
> Reported-by: Adam Dybkowski
> ---
Squashed with original commit.
T
Hi Pablo,
> > Add support for CPU crypto mode by introducing required handler.
> > Crypto mode (sync/async) is chosen during sym session create if an
> > appropriate
> > flag is set in an xform type number.
> >
> > Authenticated encryption and decryption are supported with tag
> > generation/v
On Tue, Jan 21, 2020 at 09:13:48AM +, Slava Ovsiienko wrote:
> > -Original Message-
> > From: dev On Behalf Of Slava Ovsiienko
> > Sent: Tuesday, January 21, 2020 10:24
> > To: Olivier Matz
> > Cc: Stephen Hemminger ; dev@dpdk.org;
> > Matan Azrad ; Raslan Darawsheh
> > ; Ori Kam ; Sh
On 2020-01-21 13:04, Morten Brørup wrote:
>> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Mattias Rönnblom
>> Sent: Monday, January 20, 2020 4:03 PM
>>
>> Replace DSW's use of regular DPDK rings (and code for
>> packing/unpacking control messages into void pointers) with custom
>> size ring
Hi Marcin,
> -Original Message-
> From: dev On Behalf Of Marcin Smoczynski
> Sent: Wednesday, January 15, 2020 6:28 PM
> To: akhil.go...@nxp.com; Ananyev, Konstantin
> ; Zhang, Roy Fan ;
> Doherty, Declan ; Nicolau, Radu
>
> Cc: dev@dpdk.org; Smoczynski, MarcinX
> Subject: [dpdk-dev] [P
2020-01-21, Bruce Richardson:
> > > +from glob import iglob # glob iterator
> >
> > No need to make it explicit. People can read the description in the
> > official docs.
>
> Except the fact that you yourself mistook it for a case-insensitive glob
> implies that a comment is needed! :-)
The fact
If only gtpu teid is specified, FDIR will always match the gtpu teid no
matter there is gtp extension header appended or not.
So forbid pattern in which gtp_psc without qfi value follows gtpu with
teid value like:
pattern eth / ipv4 / udp / gtpu teid is XXX / gtp_psc / end
Fixes: efc16c621415 ("ne
21/01/2020 11:01, Alfredo Cardigliano:
>
> > On 21 Jan 2020, at 10:58, Ferruh Yigit wrote:
> >
> > The compiler warning is:
> > from .../drivers/net/ionic/ionic_dev.c:7:
> > .../drivers/net/ionic/ionic_if.h:202:5: note: ‘rsvd’ declared here
> > u8 rsvd[62];
> > ^
> >
> > This has been ob
On Tue, Jan 21, 2020 at 02:22:38PM +0100, Robin Jarry wrote:
> 2020-01-21, Bruce Richardson:
> > Rather than having to explicitly list each and every driver to disable in a
> > build, we can use a small python script and the python glob library to
> > expand out the wildcards. This means that we ca
SNOW3G documentation was updated recently,
but the new table created has a duplicated name
(same as ZUC documentation).
Fixes: 912cd327ab1f ("crypto/snow3g: use IPSec library")
Signed-off-by: Pablo de Lara
Reported-by: Adam Dybkowski
---
doc/guides/cryptodevs/snow3g.rst | 2 +-
1 file changed,
2020-01-21, Bruce Richardson:
> Rather than having to explicitly list each and every driver to disable in a
> build, we can use a small python script and the python glob library to
> expand out the wildcards. This means that we can configure meson using e.g.
>
> meson -Ddisable_drivers=crypto/
From: Sardar Shamsher Singh
test application to test Cipher/Authentication/AEAD in AMD CCP
a crypto controller. This test application can be used as
reference to develop/test crypto algo.
Signed-off-by: Sardar Shamsher Singh
---
doc/guides/sample_app_ug/ccp_crypto.rst | 114 +++
examples/crypt
From: Sardar Shamsher Singh
sha3 support enabled in AMD-CCP crypto controller
Signed-off-by: Sardar Shamsher Singh
---
lib/librte_cryptodev/rte_cryptodev.c | 11 ++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/lib/librte_cryptodev/rte_cryptodev.c
b/lib/librte_cryptod
> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Mattias Rönnblom
> Sent: Monday, January 20, 2020 4:03 PM
>
> Replace DSW's use of regular DPDK rings (and code for
> packing/unpacking control messages into void pointers) with custom
> size rings.
>
> In addition to cleaner code, this chang
From: "Wei Hu (Xavier)"
Currently, Rx offload capabilities and max_rx_pkt_len in the struct
variable named rte_port are not updated after setting mtu successfully
in port_mtu_set function by 'port config mtu ' command.
This may lead to reconfig mtu to the initial value in the driver when
recalli
From: "Wei Hu (Xavier)"
Currently, the initial values of the local structure variable named
rx_tx_onoff_2_lfc_mode and rx_tx_onoff_2_pfc_mode are different in the
similar part of these two following functions:
cmd_link_flow_ctrl_set_parsed
cmd_priority_flow_ctrl_set_parsed
1) The
From: "Wei Hu (Xavier)"
Only a part of members in the local structure variable named pfc_conf are
initialized in the function named cmd_priority_flow_ctrl_set_parsed when
typing "set pfc_ctrl..." command, and others are random values. However,
those uninitialized members may cause failure.
This
These patchset are fixes for testpmd application.
Wei Hu (Xavier) (3):
app/testpmd: update Rx offload after setting MTU sccessfully
app/testpmd: fix the initial value when setting PFC
app/testpmd: fix uninitialized members when setting PFC
app/test-pmd/cmdline.c | 3 ++-
app/test-pmd/conf
Rather than having to explicitly list each and every driver to disable in a
build, we can use a small python script and the python glob library to
expand out the wildcards. This means that we can configure meson using e.g.
meson -Ddisable_drivers=crypto/*,event/* build
to do a build omitting
This patch reorganize the members of a structure
used by driver in its data-path to improve
performance.
Signed-off-by: Gagandeep Singh
---
drivers/crypto/dpaa_sec/dpaa_sec.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.h
b/drivers
DPAA sec driver is using virtual to physical address
translation in its data path and driver is using
dpaax_iova_table_update() API in every address translation
which is very costly.
This patch moves dpaax_iova_table_update() calling to rte_dpaa_mem_ptov(),
only if it fails to found translation fro
>
>
> >
> > This patch set is a first step to refactor the overly complex symmetric
> > crypto unit tests. It merges many separate arrays of the tests
> > for these PMDs: null, aesni_mb, aesni_gcm, openssl, qat, sw_snow3g,
> > sw_kasumi, sw_zuc into one big array that's then used when running
> >
> The three Intel SW Crypto PMDs supporting SNOW3G, ZUC and KASUMI link
> against libSSO libraries.
> The Intel IPSec Multi-buffer library recently integrated the code from these
> libraries, in version v0.53.
> This library can be downloaded from
> https://eur01.safelinks.protection.outlook.com/?u
On Tue, Jan 21, 2020 at 10:11:33AM +0100, Robin Jarry wrote:
> 2020-01-20, Bruce Richardson:
> > Rather than having to explicitly list each and every driver to disable in a
> > build, we can use a small python script and the python glob library to
> > expand out the wildcards. This means that we ca
On Mon, Jan 20, 2020 at 07:59:13PM +0100, Thomas Monjalon wrote:
> 20/01/2020 18:37, Bruce Richardson:
> > Rather than having to explicitly list each and every driver to disable in a
> > build, we can use a small python script and the python glob library to
> > expand out the wildcards. This means
> On 21 Jan 2020, at 10:58, Ferruh Yigit wrote:
>
> The compiler warning is:
> from .../drivers/net/ionic/ionic_dev.c:7:
> .../drivers/net/ionic/ionic_if.h:202:5: note: ‘rsvd’ declared here
> u8 rsvd[62];
> ^
>
> This has been observed with gcc 4.8.5, newer 9+ compiler are not giving
>
The compiler warning is:
from .../drivers/net/ionic/ionic_dev.c:7:
.../drivers/net/ionic/ionic_if.h:202:5: note: ‘rsvd’ declared here
u8 rsvd[62];
^
This has been observed with gcc 4.8.5, newer 9+ compiler are not giving
this warning.
Warning is a reminder to the user that there are som
> -Original Message-
> From: Akhil Goyal
> Sent: Tuesday, January 21, 2020 15:09
> To: Ruifeng Wang ; Gavin Hu
>
> Cc: dev@dpdk.org; jer...@marvell.com; Honnappa Nagarahalli
> ; nd
> Subject: RE: [PATCH v2 0/3] armv8 crypto PMD update
>
> Hi,
>
> Please also enable meson build for ar
The compiler warning is:
from .../drivers/net/ionic/ionic_dev.c:7:
.../drivers/net/ionic/ionic_if.h:202:5: note: ‘rsvd’ declared here
u8 rsvd[62];
^
This has been observed with gcc 4.8.5, newer 9+ compiler are not giving
this warning.
Warning is to reminder to the user that there are so
> -Original Message-
> From: dev On Behalf Of Slava Ovsiienko
> Sent: Tuesday, January 21, 2020 10:24
> To: Olivier Matz
> Cc: Stephen Hemminger ; dev@dpdk.org;
> Matan Azrad ; Raslan Darawsheh
> ; Ori Kam ; Shahaf Shuler
> ; tho...@mellanox.net
> Subject: Re: [dpdk-dev] [PATCH v5 1/5] mb
2020-01-20, Bruce Richardson:
> Rather than having to explicitly list each and every driver to disable in a
> build, we can use a small python script and the python glob library to
> expand out the wildcards. This means that we can configure meson using e.g.
>
> meson -Ddisable_drivers=crypto/
Hi Suanming
When I try to offload decapsulation + meter action, there is an error.
So one question, mlx5 support that actions ?
"Flow can't be created 1 message: hardware refuses to create flow"
OFED: 4.7-3.2.9
FW: 16.26.4012
DPDK 19.11
ConnectX-5
On Sat, Jan 11, 2020 at 7:18 PM wrote:
>
> From: Pavan Nikhilesh
>
> Add event device configuration based on the capabilities of the
> probed event device.
>
> Signed-off-by: Pavan Nikhilesh
Looks like it has a similar bug[1] that has been found in l2fwd-event.
If so, please fix it.
[1]
commit
On Sat, Jan 11, 2020 at 7:17 PM wrote:
>
> From: Sunil Kumar Kori
>
> Add infra to split eventdev framework based on event Tx adapter
> capability.
> If event Tx adapter has internal port capability then we use
> `rte_event_eth_tx_adapter_enqueue` to transmitting packets else
> we use a SINGLE_LI
On Sat, Jan 11, 2020 at 7:17 PM wrote:
>
> From: Sunil Kumar Kori
>
> Add framework to enable event device as a producer of packets.
> To switch between event mode and poll mode the following options
> have been added:
> `--mode="eventdev"` or `--mode="poll"`
> Also, allow the user to sel
Hello Stephen,
Any suggestions ?
Regards
Sunil Kumar Kori
>-Original Message-
>From: dev On Behalf Of Sunil Kumar Kori
>Sent: Tuesday, December 17, 2019 4:30 PM
>To: Stephen Hemminger
>Cc: dev@dpdk.org
>Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] bus/pci: restricted bus scanning to
>allo
Hello Thomas,
I have uploaded next version after handling Jerin's comments.
Can you please look into the series so that It can be applied if there is no
more comments ?
Thanks.
Regards
Sunil Kumar Kori
>-Original Message-
>From: Sunil Kumar Kori
>Sent: Tuesday, January 14, 2020 2:35 P
> -Original Message-
> From: Olivier Matz
> Sent: Tuesday, January 21, 2020 10:14
> To: Slava Ovsiienko
> Cc: Stephen Hemminger ; dev@dpdk.org;
> Matan Azrad ; Raslan Darawsheh
> ; Ori Kam ; Shahaf Shuler
> ; tho...@mellanox.net
> Subject: Re: [PATCH v5 1/5] mbuf: introduce routine to get
On Tue, Jan 21, 2020 at 08:00:17AM +, Slava Ovsiienko wrote:
> > -Original Message-
> > From: Stephen Hemminger
> > Sent: Monday, January 20, 2020 22:44
> > To: Slava Ovsiienko
> > Cc: dev@dpdk.org; Matan Azrad ; Raslan Darawsheh
> > ; Ori Kam ; Shahaf Shuler
> > ; olivier.m...@6wind.
From: Jerin Jacob
Some machines may have a lot of PCI devices, logs from PCI probe
creates a lot of clutter on boot-up, typically one needs
to scroll the screen to find other issues in boot-up.
This patch changes the loglevel of PCI probes to `debug`
to reduce the clutter on default boot-up logs
> -Original Message-
> From: Stephen Hemminger
> Sent: Monday, January 20, 2020 22:44
> To: Slava Ovsiienko
> Cc: dev@dpdk.org; Matan Azrad ; Raslan Darawsheh
> ; Ori Kam ; Shahaf Shuler
> ; olivier.m...@6wind.com; tho...@mellanox.net
> Subject: Re: [PATCH v5 1/5] mbuf: introduce routine
75 matches
Mail list logo