On 04/30/2015 02:48 AM, Ben Pfaff wrote: > Signed-off-by: Ben Pfaff <b...@nicira.com> > --- > ovn/controller/automake.mk | 4 +- > ovn/controller/ovn-controller.c | 4 + > ovn/controller/pipeline.c | 373 > ++++++++++++++++++++++++++++++++++++++++ > ovn/controller/pipeline.h | 26 +++ > ovn/ovn-sb.ovsschema | 2 +- > 5 files changed, 407 insertions(+), 2 deletions(-) > create mode 100644 ovn/controller/pipeline.c > create mode 100644 ovn/controller/pipeline.h >
> +/* Translates logical flows in the Pipeline table in the OVN_SB database > + * into OpenFlow flows. */ > +void > +pipeline_run(struct controller_ctx *ctx) > +{ > + struct hmap flows = HMAP_INITIALIZER(&flows); > + uint32_t conj_id_ofs = 1; > + > + ldp_run(ctx); > + > + VLOG_INFO("starting run..."); > + const struct sbrec_pipeline *pipeline; > + SBREC_PIPELINE_FOR_EACH (pipeline, ctx->ovnsb_idl) { > + /* Find the "struct logical_datapath" asssociated with this Pipeline > + * row. If there's no such struct, that must be because no logical > + * ports are bound to that logical datapath, so there's no point in > + * maintaining any flows for it anyway, so skip it. */ > + const struct logical_datapath *ldp; > + ldp = ldp_lookup(&pipeline->logical_datapath); > + if (!ldp) { > + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 1); > + VLOG_INFO_RL(&rl, > + "logical flow for unknown logical datapath > "UUID_FMT, > + UUID_ARGS(&pipeline->logical_datapath)); > + continue; > + } It looks like I'm getting this message when deleting a logical datapath. It's pretty easy to replicate. $ ovn-nbctl lswitch-add foo $ ovn-nbctl lswitch-del foo 2015-05-01T19:25:23.282Z|00008|pipeline|INFO|logical flow for unknown logical datapath 5fe86814-9c7d-408b-82f9-0f2f13eacff1 It looks like an expected condition, so perhaps it should just be dropped? Or maybe debug .. -- Russell Bryant _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev