Debug log output for execute operations is missing the packet metadata, which can be instrumental in tracing what the datapath should be executing. No reason to have the metadata on the debug output, so add it there.
Signed-off-by: Jarno Rajahalme <[email protected]> --- lib/dpif.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/dpif.c b/lib/dpif.c index 1760de8..4066f9c 100644 --- a/lib/dpif.c +++ b/lib/dpif.c @@ -1760,9 +1760,13 @@ log_execute_message(struct dpif *dpif, const struct dpif_execute *execute, && !execute->probe) { struct ds ds = DS_EMPTY_INITIALIZER; char *packet; + uint64_t stub[1024 / 8]; + struct ofpbuf md = OFPBUF_STUB_INITIALIZER(stub); packet = ofp_packet_to_string(dp_packet_data(execute->packet), dp_packet_size(execute->packet)); + odp_key_from_pkt_metadata(&md, &execute->packet->md); + ds_put_format(&ds, "%s: %sexecute ", dpif_name(dpif), (subexecute ? "sub-" @@ -1773,10 +1777,13 @@ log_execute_message(struct dpif *dpif, const struct dpif_execute *execute, ds_put_format(&ds, " failed (%s)", ovs_strerror(error)); } ds_put_format(&ds, " on packet %s", packet); + ds_put_format(&ds, " with metadata "); + odp_flow_format(md.data, md.size, NULL, 0, NULL, &ds, true); ds_put_format(&ds, " mtu %d", execute->mtu); vlog(&this_module, error ? VLL_WARN : VLL_DBG, "%s", ds_cstr(&ds)); ds_destroy(&ds); free(packet); + ofpbuf_uninit(&md); } } -- 2.1.4 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
