Merge tag 'trace-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.git] / net / openvswitch / actions.c
index ef15d9e..0767740 100644 (file)
@@ -924,7 +924,13 @@ static int output_userspace(struct datapath *dp, struct sk_buff *skb,
                        break;
 
                case OVS_USERSPACE_ATTR_PID:
-                       upcall.portid = nla_get_u32(a);
+                       if (dp->user_features &
+                           OVS_DP_F_DISPATCH_UPCALL_PER_CPU)
+                               upcall.portid =
+                                 ovs_dp_get_upcall_portid(dp,
+                                                          smp_processor_id());
+                       else
+                               upcall.portid = nla_get_u32(a);
                        break;
 
                case OVS_USERSPACE_ATTR_EGRESS_TUN_PORT: {