From: Jesse Gross Date: Mon, 28 Feb 2011 22:26:39 +0000 (-0800) Subject: datapath: Record upcall errors as lost packets. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d76195db5a0780626e2742b184b86aeae60972bc;p=openvswitch datapath: Record upcall errors as lost packets. It's possible to encounter a few different errors when preparing to send a packet to userspace in queue_control_packet(). This ensures that if we encounter one of these problems, the issue is properly recorded as a lost packet. Signed-off-by: Jesse Gross Acked-by: Ben Pfaff --- diff --git a/datapath/datapath.c b/datapath/datapath.c index 733acad7..69b524c5 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -441,7 +441,11 @@ int dp_upcall(struct datapath *dp, struct sk_buff *skb, const struct dp_upcall_i } } - return queue_control_packets(dp, skb, upcall_info); + err = queue_control_packets(dp, skb, upcall_info); + if (err) + goto err; + + return 0; err_kfree_skb: kfree_skb(skb);