If nobody is listening on the multicast group, generating the sample,
which involves copying packet data, seems completely unnecessary.

Return fast in this case.

Signed-off-by: Adrian Moreno <amore...@redhat.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.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to