Message ID | 20240630195740.1469727-4-amorenoz@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: openvswitch: Add sample multicasting. | expand |
Adrian Moreno <amorenoz@redhat.com> writes: > 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@redhat.com> > Reviewed-by: Ido Schimmel <idosch@nvidia.com> > Reviewed-by: Simon Horman <horms@kernel.org> > Signed-off-by: Adrian Moreno <amorenoz@redhat.com> > --- Reviewed-by: Aaron Conole <aconole@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) +
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) +