[ovs-dev] [PATCH 2/2] ofproto-dpif-upcall: Add VLOG_WARN_RL logs for upcall_cb() error.
Alex Wang
alexw at nicira.com
Tue Aug 11 02:47:04 UTC 2015
Signed-off-by: Alex Wang <alexw at nicira.com>
---
ofproto/ofproto-dpif-upcall.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
index 6385abc..4fed956 100644
--- a/ofproto/ofproto-dpif-upcall.c
+++ b/ofproto/ofproto-dpif-upcall.c
@@ -1060,6 +1060,7 @@ upcall_cb(const struct dp_packet *packet, const struct flow *flow, ovs_u128 *ufi
const struct nlattr *userdata, struct ofpbuf *actions,
struct flow_wildcards *wc, struct ofpbuf *put_actions, void *aux)
{
+ static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 1);
struct udpif *udpif = aux;
unsigned int flow_limit;
struct upcall upcall;
@@ -1090,6 +1091,7 @@ upcall_cb(const struct dp_packet *packet, const struct flow *flow, ovs_u128 *ufi
}
if (udpif_get_n_flows(udpif) >= flow_limit) {
+ VLOG_WARN_RL(&rl, "upcall_cb failure: datapath flow limit reached");
error = ENOSPC;
goto out;
}
@@ -1097,11 +1099,13 @@ upcall_cb(const struct dp_packet *packet, const struct flow *flow, ovs_u128 *ufi
/* Prevent miss flow installation if the key has recirculation ID but we
* were not able to get a reference on it. */
if (type == DPIF_UC_MISS && upcall.recirc && !upcall.have_recirc_ref) {
+ VLOG_WARN_RL(&rl, "upcall_cb failure: no reference for recirc flow");
error = ENOSPC;
goto out;
}
if (upcall.ukey && !ukey_install(udpif, upcall.ukey)) {
+ VLOG_WARN_RL(&rl, "upcall_cb failure: ukey installation fails");
error = ENOSPC;
}
out:
--
1.7.9.5
More information about the dev
mailing list