On Wed, Jun 04, 2014 at 10:30:13AM +1200, Joe Stringer wrote:
> Would this incremental alleviate your concerns?
>
> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
> index e8f3dbf..aa8cea1 100644
> --- a/ofproto/ofproto-dpif-xlate.c
> +++ b/ofproto/ofproto-dpif-xlate.c
> @@ -3000,11 +3000,11 @@ xlate_learn_action(struct xlate_ctx *ctx, const
> struct ofpact_learn *learn)
> entry = xlate_cache_add_entry(ctx->xin->xcache, XC_LEARN);
> entry->u.learn.ofproto = ctx->xbridge->ofproto;
> entry->u.learn.fm = xmalloc(sizeof *entry->u.learn.fm);
This is good:
> - entry->u.learn.ofpacts = ofpbuf_new(1024);
> + entry->u.learn.ofpacts = ofpbuf_new(64);
> xlate_learn_action__(ctx, learn, entry->u.learn.fm,
> entry->u.learn.ofpacts);
> } else if (ctx->xin->may_learn) {
I'd leave this out, though, since 1024 bytes of stack space doesn't
really cost anything:
> - uint64_t ofpacts_stub[1024 / 8];
> + uint64_t ofpacts_stub[64 / 8];
> struct ofputil_flow_mod fm;
> struct ofpbuf ofpacts;
Thanks,
Ben.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev