From 3dd3eace3f21c53ac59e717624eae12d37554895 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 26 Sep 2012 09:59:21 -0700 Subject: [PATCH] ofproto-dpif: Report in trace "output" if an "output" action is ignored. This would have saved some time and puzzlement earlier today. Reported-by: Paul Ingram Signed-off-by: Ben Pfaff Acked-by: Ethan Jackson --- ofproto/ofproto-dpif.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 9f7acd1d..dcdd8f22 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -4957,8 +4957,11 @@ compose_output_action__(struct action_xlate_ctx *ctx, uint16_t ofp_port, if (ofport) { struct priority_to_dscp *pdscp; - if (ofport->up.pp.config & OFPUTIL_PC_NO_FWD - || (check_stp && !stp_forward_in_state(ofport->stp_state))) { + if (ofport->up.pp.config & OFPUTIL_PC_NO_FWD) { + xlate_report(ctx, "OFPPC_NO_FWD set, skipping output"); + return; + } else if (check_stp && !stp_forward_in_state(ofport->stp_state)) { + xlate_report(ctx, "STP not in forwarding state, skipping output"); return; } @@ -5232,6 +5235,8 @@ xlate_output_action(struct action_xlate_ctx *ctx, default: if (port != ctx->flow.in_port) { compose_output_action(ctx, port); + } else { + xlate_report(ctx, "skipping output to input port"); } break; } -- 2.30.2