[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240628110559.3893562-4-amorenoz@redhat.com>
Date: Fri, 28 Jun 2024 13:05:39 +0200
From: Adrian Moreno <amorenoz@...hat.com>
To: netdev@...r.kernel.org
Cc: aconole@...hat.com,
echaudro@...hat.com,
horms@...nel.org,
i.maximets@....org,
dev@...nvswitch.org,
Adrian Moreno <amorenoz@...hat.com>,
Ido Schimmel <idosch@...dia.com>,
Yotam Gigi <yotam.gi@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH net-next v6 03/10] net: psample: skip packet copy if no listeners
If nobody is listening on the multicast group, generating the sample,
which involves copying packet data, seems completely unnecessary.
Return fast in this case.
Acked-by: Eelco Chaudron <echaudro@...hat.com>
Reviewed-by: Ido Schimmel <idosch@...dia.com>
Reviewed-by: Simon Horman <horms@...nel.org>
Signed-off-by: Adrian Moreno <amorenoz@...hat.com>
---
net/psample/psample.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/psample/psample.c b/net/psample/psample.c
index b37488f426bc..1c76f3e48dcd 100644
--- a/net/psample/psample.c
+++ b/net/psample/psample.c
@@ -376,6 +376,10 @@ void psample_sample_packet(struct psample_group *group, struct sk_buff *skb,
void *data;
int ret;
+ if (!genl_has_listeners(&psample_nl_family, group->net,
+ PSAMPLE_NL_MCGRP_SAMPLE))
+ return;
+
meta_len = (in_ifindex ? nla_total_size(sizeof(u16)) : 0) +
(out_ifindex ? nla_total_size(sizeof(u16)) : 0) +
(md->out_tc_valid ? nla_total_size(sizeof(u16)) : 0) +
--
2.45.2
Powered by blists - more mailing lists