Message ID | 20240307151849.394962-4-amorenoz@redhat.com (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: openvswitch: Add sample multicasting. | expand |
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 5a2c0b3b4112..5171aefa6a7c 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c @@ -455,6 +455,10 @@ static int queue_userspace_packet(struct datapath *dp, struct sk_buff *skb, if (!dp_ifindex) return -ENODEV; + if (upcall_info->portid == MCAST_PID && + !genl_has_listeners(&dp_packet_genl_family, ovs_dp_get_net(dp), 0)) + return 0; + if (skb_vlan_tag_present(skb)) { nskb = skb_clone(skb, GFP_ATOMIC); if (!nskb)
If there are no listeneres in the multicast group, there is no need for building the upcall packet. Exit early in that case. Signed-off-by: Adrian Moreno <amorenoz@redhat.com> --- net/openvswitch/datapath.c | 4 ++++ 1 file changed, 4 insertions(+)